@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin.woff2) format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin.woff2) format("woff2")}:root,[data-theme=dark]{--bg: #000000;--bg-alt: #0a0a0a;--surface: #0a0a0a;--surface-hover: #171717;--surface-active: #262626;--border: #262626;--border-strong: #404040;--border-focus: #737373;--divider: #171717;--fg: #ffffff;--fg-prose: #e5e5e5;--fg-muted: #a1a1a1;--fg-faint: #8f8f8f;--accent: #ffffff;--accent-hover: #e5e5e5;--accent-muted: rgba(255, 255, 255, .08);--accent-border: rgba(255, 255, 255, .22);--accent-fg: #000000;--success: #05df72;--success-muted: rgba(5, 223, 114, .12);--warning: #ffd236;--warning-muted: rgba(255, 210, 54, .12);--error: #fb2c36;--error-muted: rgba(251, 44, 54, .12);--info: #54a2ff;--info-muted: rgba(84, 162, 255, .12);--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 12px;--r-full: 999px;--font-sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, "Roboto Mono", Menlo, monospace;color-scheme:dark}[data-theme=light]{--bg: #ffffff;--bg-alt: #fafafa;--surface: #ffffff;--surface-hover: #f5f5f5;--surface-active: #e5e5e5;--border: #e5e5e5;--border-strong: #d4d4d4;--border-focus: #a1a1a1;--divider: #f0f0f0;--fg: #000000;--fg-prose: #171717;--fg-muted: #737373;--fg-faint: #a1a1a1;--accent: #000000;--accent-hover: #262626;--accent-muted: rgba(0, 0, 0, .06);--accent-border: rgba(0, 0, 0, .15);--accent-fg: #ffffff;--success: #05df72;--success-muted: rgba(5, 223, 114, .12);--warning: #f59e0b;--warning-muted: rgba(245, 158, 11, .12);--error: #e11d48;--error-muted: rgba(225, 29, 72, .12);--info: #2563eb;--info-muted: rgba(37, 99, 235, .12);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);height:100vh;overflow:hidden;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-header{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;z-index:30}.brand-section{display:flex;align-items:center;gap:12px}.app-brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;letter-spacing:-.03em;cursor:pointer;color:var(--fg);text-decoration:none;user-select:none}.brand-logo-badge{width:24px;height:24px;border-radius:var(--r-sm);background:var(--surface-hover);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--fg)}.brand-status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;font-size:11px;font-family:var(--font-mono);color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px var(--success-muted)}.header-actions{display:flex;align-items:center;gap:8px}.action-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-family:var(--font-sans);font-weight:500;padding:0 10px;height:28px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--fg-muted);cursor:pointer;text-decoration:none;transition:color .12s ease,border-color .12s ease,background .12s ease}.action-btn:hover{color:var(--fg);background:var(--surface-hover);border-color:var(--border-strong)}.icon-btn{width:28px;height:28px;padding:0;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--fg-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .12s ease,border-color .12s ease,background .12s ease;text-decoration:none}.icon-btn:hover{color:var(--fg);background:var(--surface-hover);border-color:var(--border-strong)}.app-main{flex:1;position:relative;display:flex;height:calc(100vh - 52px)}.landing-overlay{position:absolute;inset:0;background:var(--bg);z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;transition:opacity .25s cubic-bezier(.16,1,.3,1),visibility .25s ease;overflow-y:auto}.landing-overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 50% 0%,var(--accent-muted),transparent 70%),linear-gradient(var(--divider) 1px,transparent 1px) 0 0 / 48px 48px,linear-gradient(90deg,var(--divider) 1px,transparent 1px) 0 0 / 48px 48px;mask-image:radial-gradient(ellipse 75% 65% at 50% 30%,#000 40%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 30%,#000 40%,transparent 80%);pointer-events:none;z-index:0}.landing-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.landing-card{position:relative;z-index:1;width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:32px;box-shadow:0 0 0 1px #ffffff0a,0 16px 48px #0009;display:flex;flex-direction:column;gap:20px}.landing-header{display:flex;flex-direction:column;gap:10px}.landing-eyebrow{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:3px 10px;font-size:11px;font-family:var(--font-mono);color:var(--fg-muted);border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-hover)}.landing-title{font-size:26px;font-weight:600;letter-spacing:-.04em;line-height:1.15;color:var(--fg)}.landing-desc{font-size:13px;color:var(--fg-muted);line-height:1.55}.repo-form{display:flex;flex-direction:column;gap:14px}.input-row{display:flex;gap:8px}.repo-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.repo-input{width:100%;height:40px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:0 12px;font-size:13px;font-family:var(--font-mono);color:var(--fg);outline:none;transition:border-color .14s ease,box-shadow .14s ease}.repo-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 1px var(--border-focus)}.submit-btn{height:40px;padding:0 16px;background:var(--accent);color:var(--accent-fg);border:1px solid var(--accent);border-radius:var(--r-md);font-size:13px;font-weight:500;font-family:var(--font-sans);letter-spacing:-.01em;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .14s ease,opacity .14s ease;white-space:nowrap}.submit-btn:hover:not(:disabled){background:var(--accent-hover)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.chip-container{display:flex;flex-direction:column;gap:8px}.chip-label{font-size:11px;font-family:var(--font-mono);color:var(--fg-faint);text-transform:uppercase;letter-spacing:.05em}.chip-list{display:flex;flex-wrap:wrap;gap:6px}.chip-item{font-size:11px;font-family:var(--font-mono);padding:3px 8px;background:var(--surface-hover);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--fg-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease;user-select:none}.chip-item:hover{color:var(--fg);background:var(--surface-active);border-color:var(--border-strong)}.progress-box{display:none;flex-direction:column;gap:6px;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font-mono);font-size:11px;line-height:1.45;max-height:160px;overflow-y:auto}.progress-box.active{display:flex}.progress-line{display:flex;align-items:baseline;gap:8px;color:var(--fg-muted)}.progress-line .time{color:var(--fg-faint);font-size:10px;flex-shrink:0}.progress-line.connecting{color:var(--info)}.progress-line.metadata{color:#a78bfa}.progress-line.downloading{color:#38bdf8}.progress-line.mounting{color:var(--warning)}.progress-line.ready{color:var(--success);font-weight:500}.progress-line.error{color:var(--error);font-weight:500}.alt-actions{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding-top:4px;border-top:1px solid var(--divider)}.alt-link{color:var(--fg-muted);cursor:pointer;transition:color .12s ease;display:inline-flex;align-items:center;gap:4px}.alt-link:hover{color:var(--fg)}#codelab-mount{width:100%;height:100%;flex:1}#codelab-mount .codelab{height:100%;border-radius:0;border:none}
