:root{--surface-0:#ffffff;--surface-1:#fafafa;--surface-2:#f5f5f5;--surface-3:#f5f5f5;--canvas-bg:#f0f0f0;--line-1:#f5f5f5;--line-2:#e5e5e5;--line-3:#d4d4d4;--line-strong:#a3a3a3;--ink-900:#0a0a0a;--ink-700:#404040;--ink-500:#737373;--ink-300:#a3a3a3;--ink-200:#d4d4d4;--acc:#171717;--acc-hover:#404040;--acc-ink:#0a0a0a;--acc-tint:#f5f5f5;--acc-line:#d4d4d4;--acc-tint-row:#f5f5f5;--acc-ink-deep:#0a0a0a;--acc-ink-soft:#525252;--on-acc:#fafafa;--select:#2f6bff;--select-tint:#eef4ff;--warn:#8a4b00;--danger:#b42318;--danger-tint:#fef3f2;--danger-line:#fecdca;--hover-outline:#a3a3a3;--draft:#f5b700;--ok:#1b5a37;--ok-dot:#1f7a4d;--ok-tint:#e2f2e8;--warn-tint:#fff1bf;--warn-ink:#5c4400;--wash:#f5f5f5;--disabled-bg:#f5f5f5;--field-bg:#ffffff;--field-line:#e5e5e5;--focus-ring:0 0 0 3px rgba(163,163,163,0.45);--sans:"Geist","Helvetica Neue",Arial,sans-serif;--mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--t-h1:24px;--t-h1-weight:600;--t-h1-track:-0.025em;--t-h1-lh:1.2;--t-h2:16px;--t-h2-weight:600;--t-h2-track:-0.01em;--t-h2-lh:1.35;--t-body:14.5px;--t-body-lh:1.55;--t-control:11.5px;--t-control-weight:550;--t-label:11px;--t-eyebrow:12px;--t-eyebrow-weight:500;--t-eyebrow-track:0;--t-value:11px;--t-value-lh:1.6;--t-code:11.5px;--t-code-lh:1.85;--t-body-ink:#525252;--t-label-ink:#737373;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-6:24px;--s-10:40px;--r-tag:3px;--r-chip:6px;--r-control:8px;--r-icon:8px;--r-card:10px;--r-pill:100px;--e-1:0 1px 2px 0 rgba(0,0,0,0.05);--e-2:0 1px 3px 0 rgba(0,0,0,0.08),0 1px 2px -1px rgba(0,0,0,0.08);--e-3:0 20px 50px -20px rgba(0,0,0,0.3);--e-toolbar:0 6px 16px -6px rgba(16,22,26,0.4);--on-select:#ffffff;--on-select-divider:rgba(255,255,255,0.35);--on-select-hover:rgba(255,255,255,0.22);--editor-affordance:rgba(139,147,161,0.5);--code-active-line:rgba(10,10,10,0.04);--scrim:rgba(10,10,10,0.4);--control-h:25px;--control-h-lg:28px;--btn-h:36px;--t-btn:14px;--segment-h:26px;--row-h:24px;--rail-item-h:30px;--toolbar-btn:19px;--topbar-h:44px;--statusbar-h:26px;--rail-w:42px;--panel-left-w:228px;--panel-right-w:268px;--panel-pad-x:10px;--field-label-w:56px;--handle-w:14px;--ease:cubic-bezier(0.2,0.8,0.2,1);--dur-hover:90ms;--dur-pop:120ms;--dur-panel:140ms}@media (prefers-reduced-motion:reduce){:root{--dur-hover:1ms;--dur-pop:1ms;--dur-panel:1ms}}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--sans);font-size:var(--t-body);line-height:var(--t-body-lh);color:var(--ink-900);background:var(--surface-0);-webkit-font-smoothing:antialiased}.ab-eyebrow{font-size:var(--t-eyebrow);font-weight:var(--t-eyebrow-weight);letter-spacing:var(--t-eyebrow-track);text-transform:uppercase;color:var(--t-label-ink)}.ab-primary{height:var(--control-h-lg);padding:0 14px;border:0;border-radius:var(--r-control);background:var(--acc);color:var(--on-acc);font-family:var(--sans);font-size:var(--t-control);font-weight:650;cursor:pointer;transition:background var(--dur-hover) ease-out}.ab-primary:hover:not(:disabled){background:var(--acc-hover)}.ab-primary:disabled{background:var(--disabled-bg);border:1px solid var(--line-2);color:var(--ink-200);cursor:not-allowed}.ab-ghost{height:var(--control-h);padding:0 10px;border:1px solid var(--line-3);border-radius:var(--r-control);background:transparent;color:var(--ink-700);font-family:var(--sans);font-size:var(--t-control);cursor:pointer;transition:background var(--dur-hover) ease-out,color var(--dur-hover) ease-out}.ab-ghost:hover:not(:disabled){background:var(--wash);color:var(--ink-900)}.ab-ghost:disabled{background:var(--disabled-bg);border-color:var(--line-2);color:var(--ink-200);cursor:not-allowed}.ab-icon{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:var(--r-control);background:transparent;color:var(--ink-500);font-family:var(--mono);font-size:13px;cursor:pointer;transition:background var(--dur-hover) ease-out,color var(--dur-hover) ease-out}.ab-icon:hover:not(:disabled){background:var(--wash);color:var(--ink-900)}.ab-icon:disabled{color:var(--ink-200);cursor:not-allowed}.ab-ghost-link{display:inline-flex;align-items:center;text-decoration:none}.ab-ghost:focus-visible,.ab-icon:focus-visible,.ab-input:focus-visible,.ab-primary:focus-visible,.ab-row:focus-visible,.ab-seg button:focus-visible,.ab-tile:focus-visible{outline:0;box-shadow:var(--focus-ring);border-color:var(--acc-ink)}.ab-seg{display:inline-flex;gap:2px;padding:2px;background:var(--surface-3);border-radius:var(--r-icon)}.ab-seg.is-device{background:var(--surface-2);border:1px solid var(--line-2)}.ab-seg button{height:var(--segment-h);padding:0 10px;border:0;border-radius:var(--r-control);background:transparent;color:var(--t-label-ink);font-family:var(--sans);font-size:var(--t-control);font-weight:var(--t-control-weight);cursor:pointer;transition:color var(--dur-hover) ease-out}.ab-seg button:hover:not(:disabled):not([aria-selected=true]):not([aria-checked=true]){color:var(--ink-900)}.ab-seg button[aria-checked=true],.ab-seg button[aria-selected=true]{background:var(--surface-0);box-shadow:var(--e-1);color:var(--ink-900)}.ab-seg button:disabled{background:var(--disabled-bg);color:var(--ink-200);cursor:not-allowed}.ab-field{display:grid;grid-template-columns:var(--field-label-w) 1fr;grid-gap:var(--s-2);gap:var(--s-2);align-items:center;margin-bottom:7px}.ab-field>label{font-size:var(--t-label);color:var(--t-label-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ab-input{height:var(--control-h);padding:0 var(--s-2);border:1px solid var(--field-line);border-radius:var(--r-control);background:var(--field-bg);color:var(--ink-900);font-family:var(--mono);font-size:var(--t-value);width:100%;transition:border-color var(--dur-hover) ease-out}.ab-input:hover{border-color:var(--line-strong)}.ab-input:focus-visible{background:var(--surface-0)}.ab-input::placeholder{color:var(--ink-300)}.ab-input[aria-invalid=true]{background:var(--danger-tint);border-color:var(--danger-line);color:var(--danger)}.auth-error,.auth-notice{margin:0 0 var(--s-4);padding:var(--s-2) var(--s-3);border-radius:var(--r-control);font-size:var(--t-control);line-height:var(--t-body-lh)}.auth-error{border:1px solid var(--danger-line);background:var(--danger-tint);color:var(--danger)}.auth-notice{border:1px solid var(--acc-line);background:var(--acc-tint);color:var(--acc-ink)}.auth-alt a,.auth-link{color:var(--ink-900);text-decoration:underline;text-underline-offset:2px}.auth-alt a:hover,.auth-link:hover{color:var(--acc-ink)}.auth-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s-3)}.auth-field>label{font-size:var(--t-label);font-weight:550;color:var(--t-label-ink)}.auth-field .ab-input{height:var(--control-h-lg);font-family:var(--sans);font-size:var(--t-control)}.auth-hint{margin:0}.ab-note,.auth-hint{font-size:var(--t-label);color:var(--ink-500)}.ab-note{margin:0 0 var(--s-2)}.ab-note code{font-family:var(--mono);font-size:var(--t-value);color:var(--ink-700)}.inline-form{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.stacked-form{display:block}.stacked-form>.ab-primary{margin-top:var(--s-3)}.inline-form .ab-input,.inline-form select{height:var(--control-h-lg);font-family:var(--sans);font-size:var(--t-control);width:auto;min-width:180px}.inline-form select{padding:0 var(--s-2);border:1px solid var(--field-line);border-radius:var(--r-control);background:var(--field-bg);color:var(--ink-900);min-width:120px}.inline-form .ab-ghost,.inline-form .ab-primary{height:var(--control-h-lg)}.ab-report{margin:0;padding:var(--s-2);border:1px solid var(--acc-line);border-radius:var(--r-control);background:var(--acc-tint);font-size:var(--t-label);color:var(--ink-700)}.ab-report.is-refused{border-color:var(--danger-line);background:var(--danger-tint);color:var(--danger)}.ab-linkbtn{border:0;background:transparent;padding:0;color:var(--acc-ink);font-family:var(--sans);font-size:var(--t-label);text-decoration:underline;cursor:pointer}.ab-report code{font-family:var(--mono);font-size:10px;color:var(--acc-ink)}.landing{max-width:640px;margin:0 auto;padding:96px var(--s-6);display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-3)}.landing h1{margin:0;font-size:var(--t-h1);font-weight:var(--t-h1-weight);letter-spacing:var(--t-h1-track);line-height:var(--t-h1-lh)}.landing .eyebrow{margin:0;font-size:var(--t-eyebrow);font-weight:var(--t-eyebrow-weight);letter-spacing:var(--t-eyebrow-track);text-transform:uppercase;color:var(--t-label-ink)}.landing .lede{margin:0;color:var(--t-body-ink)}.btn-primary{height:var(--control-h-lg);display:inline-flex;align-items:center;padding:0 14px;border-radius:var(--r-control);background:var(--acc);color:var(--on-acc);font-size:var(--t-control);font-weight:650;text-decoration:none}.btn-primary:hover{background:var(--acc-hover)}.landing-actions{display:flex;gap:var(--s-2);align-items:center;margin:var(--s-3) 0 0}.btn-secondary{height:var(--control-h-lg);display:inline-flex;align-items:center;padding:0 14px;border:1px solid var(--line-3);border-radius:var(--r-control);color:var(--ink-700);font-size:var(--t-control);text-decoration:none}.btn-secondary:hover{background:var(--wash);color:var(--ink-900)}.ai-new{max-width:760px}.ai-lede{font-size:var(--t-body);line-height:var(--t-body-lh);margin:0 0 var(--s-3)}.ai-lede,.ai-note{color:var(--ink-500)}.ai-note{font-size:var(--t-label);margin-top:var(--s-3)}.ai-prompt{width:100%;min-height:220px;resize:vertical;font:inherit;line-height:var(--t-body-lh);padding:var(--s-3)}.ai-build{display:grid;grid-gap:var(--s-4);gap:var(--s-4);max-width:1180px}.ai-card{background:var(--surface-0);border:1px solid var(--line-1);border-radius:var(--r-card);padding:var(--s-4)}.ai-card h2{font-size:var(--t-h2);margin:0 0 var(--s-2)}.ai-card ul{margin:0;padding-left:var(--s-4);display:grid;grid-gap:var(--s-1);gap:var(--s-1)}.ai-steps{display:flex;gap:var(--s-2);list-style:none;padding:0;margin:0;flex-wrap:wrap}.ai-steps li{font-size:var(--t-label);color:var(--ink-500);padding:var(--s-1) var(--s-3);border:1px solid var(--line-1);border-radius:var(--r-pill)}.ai-steps li.is-done{color:var(--ink-700);background:var(--wash)}.ai-steps li.is-now{color:var(--acc-ink);border-color:var(--acc-line);background:var(--acc-tint);font-weight:600}.ai-question{display:grid;grid-gap:var(--s-1);gap:var(--s-1);margin-bottom:var(--s-3)}.ai-question span{font-weight:600;color:var(--ink-900)}.ai-question small{color:var(--ink-500)}.ai-progress{list-style:none;padding:0!important}.ai-progress li{display:flex;justify-content:space-between;gap:var(--s-3);padding:var(--s-1) 0;border-bottom:1px solid var(--line-1);font-size:var(--t-label)}.ai-progress li:first-child{color:var(--ink-900);font-weight:600}.ai-progress time{color:var(--ink-500);white-space:nowrap}.ai-preview-bar{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.ai-preview-bar h2{margin:0;font-size:var(--t-h2)}.ai-toggle{display:flex;gap:var(--s-1)}.ai-frame{border:1px solid var(--line-2);border-radius:var(--r-card);overflow:hidden;background:var(--wash);display:flex;justify-content:center;height:78vh}.ai-frame.is-desktop{display:block}.ai-frame iframe{width:100%;height:78vh;border:0;background:var(--surface-0);display:block;flex:none}.ai-frame.is-phone iframe{width:390px}.ai-samples .ai-kind{display:inline-block;font-size:var(--t-label);color:var(--acc-ink);background:var(--acc-tint);border-radius:var(--r-tag);padding:0 var(--s-1);margin-right:var(--s-1)}.error-page{max-width:520px;margin:12vh auto 0;padding:0 var(--s-4);color:var(--ink-900)}.error-page h1{margin:0 0 var(--s-3);font-size:var(--t-h1);font-weight:var(--t-h1-weight);letter-spacing:var(--t-h1-track);line-height:var(--t-h1-lh)}.error-page p{margin:0 0 var(--s-4);color:var(--ink-700);font-size:var(--t-body);line-height:var(--t-body-lh)}.error-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}.error-page .error-ref{margin-top:var(--s-6);color:var(--ink-500);font-size:var(--t-control)}.ai-review{display:grid;grid-gap:var(--s-3);gap:var(--s-3)}.ai-review form{margin:0}.stacked-form>.ab-ghost{margin-top:var(--s-3)}.ai-changes{width:100%;min-height:88px;height:auto;resize:vertical;font:inherit;line-height:var(--t-body-lh)}.ai-changes,.ai-quote{padding:var(--s-2) var(--s-3)}.ai-quote{margin:0 0 var(--s-3);border-left:2px solid var(--acc-line);background:var(--wash);color:var(--ink-900)}.ai-ds ul.ai-swatches{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:var(--s-3);gap:var(--s-3);margin:0 0 var(--s-4)}.ai-swatches li{display:grid;grid-gap:2px;gap:2px;font-size:var(--t-label)}.ai-swatch{display:block;height:56px;border-radius:var(--r-control);border:1px solid var(--line-2)}.ai-token{color:var(--ink-900);font-weight:600}.ai-ds code{color:var(--ink-500);font-size:var(--t-label);word-break:break-all}.ai-ds ul.ai-fonts{list-style:none;padding:0;display:grid;grid-gap:var(--s-3);gap:var(--s-3);margin:0 0 var(--s-3)}.ai-fonts li{display:grid;grid-gap:2px;gap:2px}.ai-font-sample{font-size:26px;line-height:1.2;color:var(--ink-900)}.ai-ds details summary{cursor:pointer;color:var(--ink-700);font-size:var(--t-label)}.ai-fonts-frame{display:block;width:100%;border:0;margin:0 0 var(--s-3);background:transparent}.from-ai-list{list-style:none;padding:0!important;margin:0}.from-ai-row{display:grid;grid-template-columns:1fr auto auto auto;grid-gap:var(--s-3);gap:var(--s-3);align-items:center;padding:var(--s-2) 0;border-bottom:1px solid var(--line-1)}.from-ai-row:last-child{border-bottom:0}.from-ai-row a{color:var(--ink-900);font-weight:600;text-decoration:none}.from-ai-row a:hover{text-decoration:underline}.from-ai-row time{color:var(--ink-500)}.from-ai-row time,.from-ai-status{font-size:var(--t-label);white-space:nowrap}.from-ai-status{color:var(--ink-700);padding:2px var(--s-2);border:1px solid var(--line-1);border-radius:var(--r-pill)}.from-ai-status.is-approved,.from-ai-status.is-ready{color:var(--acc-ink);border-color:var(--acc-line);background:var(--acc-tint);font-weight:600}.from-ai-row form{margin:0}.from-ai-row .auth-error,.from-ai-row .auth-notice{grid-column:1/-1;margin:var(--s-1) 0 0}