:root{--font-sans: "Geist", system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-xs: 5px;--r-sm: 7px;--r: 9px;--r-lg: 13px;--r-xl: 18px;--pad: 14px;--row-h: 44px;--gap: 14px;--accent: #5b5bd6;--accent-press: #4a4ac2;--accent-wash: rgba(91, 91, 214, .1);--accent-border: rgba(91, 91, 214, .4);--accent-fg: #fff;--present: #2f9162;--present-wash: rgba(47, 145, 98, .12);--present-border: rgba(47, 145, 98, .36);--absent: #d24a3d;--absent-wash: rgba(210, 74, 61, .11);--absent-border: rgba(210, 74, 61, .36);--unknown: #a98a57;--unknown-wash: rgba(169, 138, 87, .16);--unknown-border: rgba(169, 138, 87, .34);--unknown-text: #8c7a55}:root,[data-theme=light]{--bg: #fbfbfa;--bg-blur: rgba(251, 251, 250, .82);--bg-grid: rgba(206, 203, 196, .55);--surface: #ffffff;--surface-2: #f7f6f3;--surface-3: #f2f1ec;--border: #e8e5e0;--border-2: #d7d3cb;--text: #2b2b30;--text-2: #61616a;--text-3: #8b8b93;--text-inv: #fafafa;--ink: #26262a;--ink-press: #18181c;--shadow-sm: 0 1px 2px rgba(30, 30, 42, .06);--shadow: 0 1px 2px rgba(30, 30, 42, .05), 0 4px 12px rgba(30, 30, 42, .05);--shadow-lg: 0 1px 2px rgba(30, 30, 42, .05), 0 12px 32px rgba(30, 30, 42, .1)}[data-theme=dark]{--bg: #1b1b1f;--bg-blur: rgba(27, 27, 31, .82);--bg-grid: rgba(70, 70, 80, .5);--surface: #232328;--surface-2: #28282e;--surface-3: #2f2f35;--border: #383840;--border-2: #45454e;--text: #f1f1f3;--text-2: #a9a9b1;--text-3: #7b7b84;--text-inv: #26262a;--ink: #f4f4f5;--ink-press: #e2e2e4;--accent-fg: #1f1f23;--unknown-text: #c2a875;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 1px 2px rgba(0, 0, 0, .3), 0 18px 40px rgba(0, 0, 0, .45)}[data-accent=indigo]{--accent: #5b5bd6;--accent-press: #4a4ac2;--accent-wash: rgba(91, 91, 214, .1);--accent-border: rgba(91, 91, 214, .4)}[data-accent=emerald]{--accent: #239268;--accent-press: #1d8259;--accent-wash: rgba(35, 146, 104, .12);--accent-border: rgba(35, 146, 104, .4)}[data-accent=amber]{--accent: #c4831e;--accent-press: #ad731a;--accent-wash: rgba(196, 131, 30, .13);--accent-border: rgba(196, 131, 30, .42);--accent-fg: #1a1206}[data-accent=blue]{--accent: #3372d6;--accent-press: #2c63c0;--accent-wash: rgba(51, 114, 214, .11);--accent-border: rgba(51, 114, 214, .4)}[data-density=compact]{--pad: 10px;--row-h: 38px;--gap: 10px}[data-density=comfortable]{--pad: 16px;--row-h: 48px;--gap: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}#root{min-height:100vh}::selection{background:var(--accent-wash)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.mono{font-family:var(--font-mono);font-feature-settings:"zero"}.tnum{font-variant-numeric:tabular-nums}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:99px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-3);border:3px solid transparent;background-clip:padding-box}.shell{max-width:1200px;margin:0 auto;padding:0 32px}.shell-wide{max-width:1360px;margin:0 auto;padding:0 32px}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap-2{gap:2px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.gap-32{gap:32px}.spread{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.eyebrow{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3)}.eyebrow.accent{color:var(--accent)}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.02em;color:var(--text)}.display{font-size:clamp(40px,6vw,72px);line-height:1.02;font-weight:600;letter-spacing:-.035em}.h1{font-size:clamp(28px,4vw,40px);line-height:1.08;letter-spacing:-.03em}.h2{font-size:24px;line-height:1.15;letter-spacing:-.025em}.h3{font-size:18px;line-height:1.25;letter-spacing:-.02em}.lead{font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:var(--text-2);font-weight:400}.body{font-size:15px;line-height:1.6;color:var(--text-2)}.small{font-size:13px;line-height:1.5;color:var(--text-2)}.tiny{font-size:12px;line-height:1.45;color:var(--text-3)}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--r-sm);border:1px solid transparent;font-size:14px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;transition:all .15s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(.5px)}.btn-primary{background:var(--ink);color:var(--text-inv)}.btn-primary:hover{background:var(--ink-press)}.btn-accent{background:var(--accent);color:var(--accent-fg)}.btn-accent:hover{background:var(--accent-press)}.btn-ghost{background:transparent;color:var(--text);border-color:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-outline{background:var(--surface);color:var(--text);border-color:var(--border-2);box-shadow:var(--shadow-sm)}.btn-outline:hover{background:var(--surface-2);border-color:var(--text-3)}.btn-sm{height:32px;padding:0 11px;font-size:13px;border-radius:var(--r-xs)}.btn-lg{height:46px;padding:0 22px;font-size:15px}.btn:disabled{opacity:.45;pointer-events:none}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r)}.hr{height:1px;background:var(--border);border:0;margin:0}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:999px;border:1px solid var(--border-2);font-size:12px;font-weight:500;color:var(--text-2);background:var(--surface-2);white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:99px;background:currentColor}.badge-mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;padding:0 7px}.badge.public{color:var(--text-2)}.badge.owned{color:var(--accent);border-color:var(--accent-border);background:var(--accent-wash)}.badge.present{color:var(--present);border-color:var(--present-border);background:var(--present-wash)}.badge.absent{color:var(--absent);border-color:var(--absent-border);background:var(--absent-wash)}.badge.unknown{color:var(--unknown-text);border-color:var(--unknown-border);background:var(--unknown-wash)}.status-dot{width:7px;height:7px;border-radius:99px;flex:none}.status-dot.running{background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 1.6s infinite}.status-dot.done{background:var(--present)}.status-dot.queued{background:var(--unknown)}.status-dot.failed{background:var(--absent)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--accent-wash)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.field{display:flex;flex-direction:column;gap:7px}.label{font-size:13px;font-weight:500;color:var(--text)}.input,.select{height:42px;width:100%;padding:0 13px;background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:var(--r-sm);font-family:inherit;font-size:14px;transition:all .15s}.input::placeholder{color:var(--text-3)}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}.input.mono{font-family:var(--font-mono);font-size:13px}.input-group{display:flex;align-items:stretch}.input-group .input{border-top-right-radius:0;border-bottom-right-radius:0}.input-affix{display:inline-flex;align-items:center;padding:0 12px;background:var(--surface-2);border:1px solid var(--border-2);border-left:0;border-radius:0 var(--r-sm) var(--r-sm) 0;font-family:var(--font-mono);font-size:13px;color:var(--text-3)}.shot{position:relative;overflow:hidden;background:repeating-linear-gradient(135deg,var(--surface-2) 0 9px,var(--surface-3) 9px 18px);border:1px solid var(--border);border-radius:var(--r-sm);display:flex;align-items:flex-end}.shot .shot-label{font-family:var(--font-mono);font-size:10.5px;color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:2px 6px;margin:8px;display:inline-flex;align-items:center;gap:5px}.matrix{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}.matrix th,.matrix td{text-align:left;padding:0}.matrix thead th{position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--border-2);font-weight:500;color:var(--text-2);font-size:12px;height:38px;padding:0 14px;white-space:nowrap}.matrix tbody td{border-bottom:1px solid var(--border);height:var(--row-h);padding:0 14px;vertical-align:middle}.matrix tbody tr:hover td{background:var(--surface-2)}.matrix .cap{font-family:var(--font-mono);font-size:12.5px;color:var(--text);letter-spacing:-.01em}.matrix .ev{color:var(--text-3);font-size:12.5px}.cell{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;height:24px;padding:0 9px;border-radius:6px}.cell .tick{width:14px;height:14px;flex:none}.cell.present{color:var(--present);background:var(--present-wash)}.cell.absent{color:var(--absent);background:var(--absent-wash)}.cell.unknown{color:var(--unknown-text);background:var(--unknown-wash)}.cell.empty{color:var(--text-3)}.diff-win{box-shadow:inset 3px 0 0 var(--present)}.diff-lose{box-shadow:inset 3px 0 0 var(--absent)}.kbd{font-family:var(--font-mono);font-size:11px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border-2);border-bottom-width:2px;border-radius:5px;padding:1px 6px}.grid-bg{background-image:linear-gradient(var(--bg-grid) 1px,transparent 1px),linear-gradient(90deg,var(--bg-grid) 1px,transparent 1px);background-size:56px 56px}.dotgrid{background-image:radial-gradient(var(--bg-grid) 1px,transparent 1px);background-size:22px 22px}.fade-up{animation:slideUp .45s cubic-bezier(.2,.7,.3,1) both}@keyframes slideUp{0%{transform:translateY(10px)}to{transform:none}}.fade-in{animation:slideIn .35s ease both}@keyframes slideIn{0%{transform:translateY(4px)}to{transform:none}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important}}.track{height:5px;background:var(--surface-3);border-radius:99px;overflow:hidden}.track>i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:width .6s cubic-bezier(.3,.7,.3,1)}.seg{display:inline-flex;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);gap:2px}.seg button{border:0;background:transparent;color:var(--text-2);height:30px;padding:0 12px;border-radius:var(--r-xs);font-size:13px;font-weight:500;transition:all .12s}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.seg button:hover:not(.on){color:var(--text)}.marketing-page{border-top:1px solid var(--border);background:var(--bg);min-height:60vh}.marketing-prose .marketing-section{display:flex;flex-direction:column;gap:10px}.marketing-prose .marketing-section .h2{margin-bottom:4px}.marketing-list{margin:4px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--text)}.marketing-list li{line-height:1.6}@media (max-width: 1000px){.auth-aside{display:none}.auth-shell{grid-template-columns:1fr!important}}@media (max-width: 900px){.dash-side,.auth-rail{display:none}}@media (max-width: 860px){.grid-bg .shell>div[style*=grid-template-columns]{grid-template-columns:1fr!important}}
