:root{color-scheme:light;--bg: #f4f6fb;--bg-elev: #ffffff;--bg-soft: #eef1f7;--line: rgba(15, 23, 42, .08);--line-strong: rgba(15, 23, 42, .14);--text: #0f172a;--muted: #5b6578;--dim: #7a8496;--accent: #3dd6c6;--accent-ink: #0f766e;--accent-2: #4f6fd6;--danger: #dc2626;--warn: #b45309;--shadow: 0 18px 40px -28px rgba(15, 23, 42, .35);--font: "IBM Plex Sans", system-ui, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--sidebar: 248px;--topbar: 52px}*{box-sizing:border-box}html,body,#app{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input{font-family:inherit}button{cursor:pointer}.gate{min-height:100%;display:grid;place-items:center;padding:2rem 1.25rem;background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(61,214,198,.14),transparent 55%),radial-gradient(ellipse 60% 45% at 100% 0%,rgba(124,156,255,.14),transparent 50%),linear-gradient(rgba(231,236,243,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(231,236,243,.035) 1px,transparent 1px),var(--bg);background-size:auto,auto,28px 28px,28px 28px,auto}.gate-card{width:min(440px,100%);background:var(--bg-elev);border:1px solid var(--line);border-radius:20px;padding:1.75rem 1.7rem 1.55rem;box-shadow:var(--shadow)}.gate-logo{display:block;width:min(280px,100%);height:auto;margin:0 auto .85rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:.65rem .75rem .45rem}.tagline{margin:0 0 .85rem;text-align:center;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.gate-card h1{margin:0 0 .35rem;font-size:1.45rem;letter-spacing:-.03em;text-align:center}.gate-card .lede{margin:0 0 1.15rem;color:var(--muted);font-size:.92rem;line-height:1.5;text-align:center}.boot-splash{min-height:100%;display:grid;place-items:center;padding:2rem 1.25rem;background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(61,214,198,.14),transparent 55%),radial-gradient(ellipse 60% 45% at 100% 0%,rgba(124,156,255,.14),transparent 50%),linear-gradient(rgba(231,236,243,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(231,236,243,.035) 1px,transparent 1px),var(--bg);background-size:auto,auto,28px 28px,28px 28px,auto}.boot-card{width:min(440px,100%);background:var(--bg-elev);border:1px solid var(--line);border-radius:20px;padding:1.75rem 1.7rem 1.45rem;box-shadow:var(--shadow);text-align:center}.boot-logo{display:block;width:min(280px,100%);height:auto;margin:0 auto .85rem;background:#fff;border:1px solid var(--line);border-radius:16px;padding:.65rem .75rem .45rem}.boot-kicker{margin:0 0 .7rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.boot-card h1{margin:0 0 .35rem;font-size:1.45rem;letter-spacing:-.03em;font-weight:600}.boot-lede{margin:0 0 1.1rem;color:var(--muted);font-size:.92rem;line-height:1.5}.gate-card>.btn-ghost{width:100%;margin-top:.65rem}.boot-track{height:4px;border-radius:999px;background:var(--line-strong);overflow:hidden}.boot-bar{display:block;height:100%;width:38%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));animation:boot-slide 1.15s ease-in-out infinite}.boot-hint{margin:.85rem 0 0;color:var(--dim);font-size:.78rem}@keyframes boot-slide{0%{transform:translate(-120%)}to{transform:translate(320%)}}.brand-logo-sm{height:40px;width:auto;max-width:168px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:2px 4px}.help-backdrop{position:fixed;inset:0;z-index:40;background:#0f172a47;display:grid;place-items:center;padding:1.25rem}.help-card{width:min(560px,100%);max-height:min(88vh,720px);overflow:auto;background:var(--bg-elev);border:1px solid var(--line-strong);border-radius:18px;padding:1.35rem 1.4rem 1.2rem}.help-logo{display:block;width:min(240px,100%);height:auto;margin:0 auto .5rem;background:#fff;border:1px solid var(--line);border-radius:14px;padding:.5rem .65rem}.help-card h2{margin:.35rem 0 .75rem;font-size:1.2rem;letter-spacing:-.03em;text-align:center}.help-card h3{margin:1rem 0 .4rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.help-steps{margin:0;padding-left:1.15rem;color:var(--text);font-size:.9rem;line-height:1.5}.help-card .lede{margin:0 0 .35rem;color:var(--muted);font-size:.9rem;line-height:1.5;text-align:center}.help-card .btn-primary{margin-top:1.1rem}.contact-backdrop{z-index:45}.contact-card{width:min(480px,100%)}.contact-card h2,.contact-card .lede{text-align:left}.contact-actions{display:flex;gap:.5rem;margin-top:.35rem}.contact-actions .btn{width:auto;flex:1;margin-top:0}.btn-contact{background:var(--accent);color:#08211e;border:0}.btn-contact:hover{filter:brightness(1.06)}.gate-links{display:flex;gap:.5rem;margin-top:.85rem}.gate-links .btn{width:auto;flex:1;margin-top:0}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.rg-toast{position:fixed;z-index:50;left:50%;bottom:1.25rem;transform:translate(-50%);max-width:min(480px,calc(100% - 2rem));padding:.7rem 1rem;border-radius:10px;font-size:.88rem;line-height:1.4;box-shadow:var(--shadow)}.rg-toast.error{background:#fef2f2;color:#9f1239;border:1px solid rgba(220,38,38,.22)}.rg-toast.ok{background:#ecfdf8;color:var(--accent-ink);border:1px solid rgba(15,118,110,.22)}.btn-google{width:100%;background:#fff;color:#1f1f1f;margin-top:.2rem}.btn-google:hover{background:#f3f4f6}.btn-google:disabled{opacity:.75;cursor:wait}.error-pane .btn-primary{width:auto;margin-top:1rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.field label{font-size:.75rem;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.field input,.field textarea{background:var(--bg);border:1px solid var(--line-strong);color:var(--text);border-radius:10px;padding:.65rem .75rem;font-size:.95rem;font-family:inherit}.field textarea{min-height:6.5rem;resize:vertical;line-height:1.45}.field input:focus,.field textarea:focus{outline:2px solid rgba(61,214,198,.35);border-color:var(--accent)}.field-hint{font-size:.72rem;color:var(--dim);line-height:1.4}.invite-input{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase}.form-error{margin:0 0 .75rem;color:var(--danger);font-size:.85rem;line-height:1.45}.form-hint{margin:.75rem 0 0;color:var(--accent-ink);font-size:.85rem;line-height:1.45}.gate-card>.form-hint{margin:.65rem 0 .85rem}.email-breakglass{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.email-breakglass summary{cursor:pointer;color:var(--muted);font-size:.82rem;margin-bottom:.65rem}.email-breakglass .btn-secondary{margin-top:.5rem}.link-auth{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line)}.link-auth summary{cursor:pointer;color:var(--muted);font-size:.82rem;margin-bottom:.65rem}.link-auth .btn{width:100%;margin-top:.45rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:0;border-radius:10px;padding:.7rem 1rem;font-weight:600;font-size:.92rem}.btn-primary{width:100%;background:var(--accent);color:#08211e;margin-top:.35rem}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled{opacity:.7;cursor:wait}.btn.is-busy{pointer-events:none}.btn-spinner{width:.95rem;height:.95rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .7s linear infinite;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-secondary{width:100%;margin-top:.5rem;background:var(--bg-soft);color:var(--text);border:1px solid var(--line-strong)}.btn-secondary:hover{border-color:var(--accent)}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.btn-ghost:hover{color:var(--text);border-color:var(--line-strong)}.hint{margin:1rem 0 0;font-size:.78rem;color:var(--dim);line-height:1.45}.workspace-list{display:flex;flex-direction:column;gap:.65rem}.workspace-item{text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:.95rem 1rem;color:inherit}.workspace-item:hover{border-color:var(--accent)}.workspace-item strong{display:block;margin-bottom:.2rem}.workspace-item span{color:var(--muted);font-size:.85rem}.shell{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-columns:var(--sidebar) 1fr;grid-template-rows:var(--topbar) 1fr}.shell.is-focus,.shell.is-focus.is-sidebar-collapsed{grid-template-columns:1fr!important;grid-template-rows:1fr!important}.shell.is-focus .topbar,.shell.is-focus .sidebar,.shell.is-focus .toolbar,.shell.is-focus .sidebar-expand{display:none!important}.shell.is-focus .workspace{grid-column:1 / -1!important;grid-row:1!important;min-height:0;height:100%;overflow:auto}.shell.is-focus .module-host{margin:0;border:0;border-radius:0;height:100%;min-height:0}.module-host>.rg-root{min-height:100%}.shell.is-focus .module-host>.rg-root{height:100%;min-height:100%}.shell.is-focus #rg-root .page-layout{grid-template-columns:1fr!important;gap:.35rem!important}.shell.is-focus #rg-root .config-panel,.shell.is-focus #rg-root .config-show-btn{display:none!important}.shell.is-focus #rg-nr .app-shell,.shell.is-focus #rg-nr-ul .app-shell,.shell.is-focus #rg-lte .app-shell,.shell.is-focus #rg-lte-ul .app-shell{padding:.2rem .35rem .3rem!important}.shell.is-focus #rg-nr .canvas-grid-wrap,.shell.is-focus #rg-nr-ul .canvas-grid-wrap,.shell.is-focus #rg-lte .canvas-grid-wrap,.shell.is-focus #rg-lte-ul .canvas-grid-wrap{min-height:calc(100vh - 3.25rem)!important}.shell.is-focus #rg-workbench .app-shell{padding:2.75rem 1.15rem 1.25rem!important}.focus-exit{position:fixed;z-index:30;top:.7rem;right:.7rem;display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line-strong);border-radius:999px;padding:.4rem .8rem;background:#fff;color:var(--text);font-weight:600;font-size:.8rem;box-shadow:var(--shadow)}.focus-exit:hover{border-color:var(--accent-ink);color:var(--accent-ink)}.topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 1rem 0 1.1rem;border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:.7rem}.brand-mark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:.72rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#0c0f14}.brand-title{font-weight:600;letter-spacing:-.02em}.brand-sub{font-size:.72rem;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:.45rem}.top-actions .btn{width:auto;padding:.38rem .7rem;font-size:.8rem}.chip{font-size:.72rem;font-weight:600;padding:.28rem .55rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-family:var(--mono)}.chip-dev{color:#08211e;background:var(--accent);border-color:transparent}.chip-warn{color:var(--warn);border-color:#e8b86d59}.sidebar{border-right:1px solid var(--line);background:var(--bg-elev);display:flex;flex-direction:column;min-height:0}.sidebar-nav{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.28) transparent}.sidebar-nav::-webkit-scrollbar{width:8px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#0f172a38;border-radius:999px}.sidebar h2{margin:0;padding:1rem 1rem .45rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-weight:600}.nav-btn{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;width:calc(100% - 1rem);margin:0 .5rem .35rem;text-align:left;background:transparent;border:1px solid transparent;color:var(--text);border-radius:12px;padding:.7rem .75rem}.nav-btn .mark{grid-row:1 / span 2;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:.68rem;font-weight:700;background:var(--bg-soft);color:var(--accent-ink)}.nav-btn strong{font-size:.88rem}.nav-btn span{font-size:.72rem;color:var(--muted);grid-column:2}.nav-btn:hover{background:var(--bg-soft)}.nav-btn.is-active{background:#e6f7f4;border-color:#0f766e38}.nav-btn.is-active .mark{background:#ccfbf1;color:var(--accent-ink)}.sidebar-foot{margin-top:auto;padding:.85rem 1rem 1rem;font-size:.72rem;color:var(--dim);line-height:1.45;border-top:1px solid var(--line)}.workspace{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-left:0;background:#fff}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 1rem .35rem .85rem;border-bottom:0}.toolbar h1{margin:0;font-size:.92rem;letter-spacing:-.02em}.toolbar .spec{color:var(--muted);font-size:.75rem;margin:.05rem 0 0}.module-host{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;isolation:isolate;background:#fff;margin:0;border:0;border-radius:0;box-shadow:none;position:relative;scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.45) transparent}.module-host::-webkit-scrollbar{width:8px}.module-host::-webkit-scrollbar-track{background:transparent}.module-host::-webkit-scrollbar-thumb{background:#0f172a38;border-radius:999px}.module-loading{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;background:#ffffffc7;color:var(--text);font-weight:600;letter-spacing:.02em}.sidebar-collapse{display:block;width:100%;margin:0 0 .65rem;border:1px solid var(--line-strong);border-radius:8px;padding:.4rem .55rem;background:var(--bg-soft);color:var(--text);font-size:.75rem;font-weight:600}.sidebar-collapse:hover{border-color:var(--accent-ink);color:var(--accent-ink)}.sidebar-expand{display:none}.shell.is-sidebar-collapsed{grid-template-columns:44px 1fr}.shell.is-sidebar-collapsed .workspace{padding-left:0}.shell.is-sidebar-collapsed .sidebar h2,.shell.is-sidebar-collapsed .sidebar-nav,.shell.is-sidebar-collapsed .nav-btn,.shell.is-sidebar-collapsed .sidebar-foot{display:none}.shell.is-sidebar-collapsed .sidebar-expand{display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);width:100%;flex:1;border:0;background:transparent;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.shell.is-sidebar-collapsed .sidebar-expand:hover{color:var(--accent-ink)}.placeholder,.error-pane{padding:2.5rem 1.5rem;color:#334155;max-width:42rem}.placeholder{display:flex;align-items:flex-start;gap:1rem}.pick-cue{display:flex;flex-direction:column;align-items:center;flex-shrink:0;margin-top:.15rem;color:var(--accent-ink)}.pick-arrow{width:96px;height:52px;animation:pick-nudge .9s ease-in-out infinite}.pick-cue-label{margin-top:.15rem;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}@keyframes pick-nudge{0%,to{transform:translate(0)}50%{transform:translate(-12px)}}@media(prefers-reduced-motion:reduce){.pick-arrow{animation:none}}.error-pane h2{color:#9f1239}.error-pane p{color:#64748b}.placeholder h2{margin:0 0 .4rem;color:#0f172a}.placeholder p{color:#64748b}.progress-panel{margin:.85rem 0 0;padding:.85rem .9rem;border-radius:12px;border:1px solid var(--line-strong);background:var(--bg-soft)}.progress-track{height:8px;border-radius:999px;background:var(--line-strong);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .35s ease}.progress-label{margin:.65rem 0 .2rem;font-weight:600;font-size:.88rem}.progress-meta,.progress-detail,.progress-stall{margin:.2rem 0 0;font-size:.8rem;line-height:1.45;color:var(--muted)}.progress-stall{color:var(--accent-ink)}.progress-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.progress-actions .btn{width:auto;margin:0;padding:.45rem .8rem;font-size:.82rem}.busy-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1.25rem;background:#0f172a47}.busy-card{width:min(28rem,100%)}.gate-card-wide{width:min(520px,100%)}.consent-list{margin:0 0 1rem;padding-left:1.15rem;color:var(--muted);font-size:.88rem;line-height:1.5}.consent-check{display:flex;gap:.65rem;align-items:flex-start;margin:.75rem 0 1rem;font-size:.88rem;line-height:1.45;color:var(--text)}.consent-check input{margin-top:.2rem}.legal-links{margin:0 0 .5rem;font-size:.82rem}
