.shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.rail{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:var(--space-5) var(--space-4);border-right:1px solid var(--border-default);background:var(--surface-card)}.brand{display:flex;align-items:center;gap:var(--space-3);margin:0 var(--space-2) var(--space-8);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold)}.rail-label{margin:var(--space-6) var(--space-3) var(--space-2);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.06em}.rail-project{width:100%;justify-content:flex-start;-webkit-margin-after:var(--space-1);margin-block-end:var(--space-1);white-space:normal;text-align:left}.rail-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);text-decoration:none;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.rail-item:hover{background:var(--surface-sunken);color:var(--text-primary)}.rail-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rail-item.active{background:var(--surface-sunken);color:var(--text-primary);font-weight:var(--weight-semibold)}.workspace{min-width:0}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;min-height:var(--space-16);padding-inline:var(--space-7);border-bottom:1px solid var(--border-default);background:color-mix(in srgb,var(--surface-page) 92%,transparent);-webkit-backdrop-filter:blur(var(--space-3));backdrop-filter:blur(var(--space-3))}.canvas{max-width:1440px;margin:auto;padding:var(--space-8) var(--space-9) var(--space-16)}.canvas-empty{display:grid;align-content:center;min-height:calc(100vh - var(--space-16))}.muted{color:var(--text-muted)}.actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.eyebrow{color:var(--brand-700);font:var(--weight-semibold) var(--text-xs)/var(--leading-tight) var(--font-sans)}.idea-deck{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(420px,1.28fr);grid-gap:var(--space-12);gap:var(--space-12);padding:var(--space-10);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-xl)}.idea-copy{align-self:center}.idea-copy h1{max-width:520px;margin:var(--space-4) 0 var(--space-5);font-family:var(--font-display);font-size:clamp(var(--text-4xl),5vw,var(--text-6xl));line-height:var(--leading-none);letter-spacing:-.04em}.idea-copy p{max-width:430px;margin:0;color:var(--text-secondary);font-size:var(--text-lg);line-height:var(--leading-relaxed)}.idea-input-wrap{align-self:center;padding-block:var(--space-4);box-shadow:var(--shadow-lg)}.idea-input{min-height:148px;border:0;background:transparent;padding:var(--space-2) var(--space-5);font-size:var(--text-xl);font-weight:var(--weight-medium);line-height:var(--leading-relaxed)}.idea-input:hover:not(:disabled){border-color:transparent}.idea-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4) 0 var(--space-5);border-top:1px solid var(--border-default)}.extraction-line,.idea-footer span{color:var(--text-muted);font:var(--text-xs)/var(--leading-normal) var(--font-mono)}.extraction-line{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding-top:var(--space-1)}.extraction-line i{position:relative;height:1px;overflow:hidden;background:var(--border-default)}.extraction-line.running i:after{content:"";position:absolute;inset:0;background:var(--brand-500);transform:translateX(-100%);animation:extract var(--dur-slow) var(--ease-out) infinite}.error-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--danger-300);border-radius:var(--radius-md);background:var(--danger-100);color:var(--danger-700);font-size:var(--text-sm)}.error-banner span,.error-dismiss{color:inherit}.loading-state{padding:var(--space-12);color:var(--text-muted);text-align:center}.generated{margin-top:var(--space-10)}.generated-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-7);margin-bottom:var(--space-6)}.generated-heading h2{margin:var(--space-2) 0 var(--space-1);font-family:var(--font-display);font-size:var(--text-4xl);letter-spacing:-.03em}.generated-heading p{max-width:760px;margin:0;color:var(--text-secondary);line-height:var(--leading-relaxed)}.studio{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-gap:var(--space-6);gap:var(--space-6)}.studio-main-card{min-width:0}.section-tabs{margin-bottom:var(--space-5);overflow-x:auto}.editor-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.editor-heading p{margin:var(--space-1) 0 0;font-size:var(--text-sm)}.editor{min-height:370px;background:var(--surface-card);font-size:var(--text-md);line-height:var(--leading-relaxed)}.score{font:var(--weight-semibold) var(--text-5xl)/var(--leading-none) var(--font-display);letter-spacing:-.04em}.progress-space{margin:var(--space-4) 0 var(--space-5)}.finding{padding:var(--space-3) 0;border-top:1px solid var(--border-default);font-size:var(--text-sm)}.finding b{display:block;margin-bottom:var(--space-1)}.history{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-sm);background:var(--surface-card)}.history span{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.login{min-height:100vh;display:grid;place-items:center;padding:var(--space-6)}.login-card{width:min(420px,100%)}@media(max-width:1050px){.idea-deck{grid-template-columns:1fr;gap:var(--space-7)}.idea-copy p{max-width:650px}}@media(max-width:900px){.shell{grid-template-columns:1fr}.rail{display:none}.studio{grid-template-columns:1fr}.canvas{padding:var(--space-6) var(--space-5)}.topbar{padding-inline:var(--space-5)}.generated-heading{align-items:flex-start;flex-direction:column}.idea-deck{padding:var(--space-7)}.idea-input-wrap{min-width:0}}@media(max-width:560px){.topbar .muted{display:none}.idea-deck{padding:var(--space-5)}.idea-copy h1{font-size:var(--text-5xl)}.idea-footer{align-items:stretch;flex-direction:column}.extraction-line,.idea-footer span{display:none}.editor-heading{flex-direction:column}.generated-heading h2{font-size:var(--text-3xl)}.error-banner{grid-template-columns:1fr}.error-dismiss{justify-self:end}}:root{--nav-h:64px;--accent-ink:var(--brand-600)}[data-theme=dark]{--accent-ink:var(--brand-400)}html{scroll-padding-top:calc(var(--nav-h) + 16px)}.landing{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-page);color:var(--text-primary)}.landing main{flex:1 1}.wrap{max-width:1200px;margin:0 auto;padding-inline:24px;width:100%}.landing code{font-family:var(--font-mono);font-size:.88em;background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:8px;padding:1px 6px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;height:52px;padding:0 24px;border:1px solid transparent;border-radius:999px;font:600 16px/24px var(--font-sans);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.pill,.pill:hover{text-decoration:none}.pill:active{transform:scale(.985)}.fcol a:focus-visible,.pill:focus-visible,.site-brand:focus-visible,.site-nav a:focus-visible,.text-cta:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pill--arrow{padding:0 8px 0 24px}.pill-arrow{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;flex:none;background:var(--brand-500);color:#fff;transition:transform var(--dur-med) var(--ease-spring)}.pill-arrow svg{display:block}.pill:hover .pill-arrow{transform:rotate(45deg)}.pill--primary,a.pill--primary{background:var(--accent);color:var(--accent-contrast)}.pill--primary:hover,a.pill--primary:hover{background:var(--accent-hover);color:var(--accent-contrast)}.pill--outline,a.pill--outline{background:transparent;border-color:var(--border-strong);color:var(--text-primary)}.pill--outline:hover,a.pill--outline:hover{background:var(--surface-sunken);color:var(--text-primary)}.pill--cream,a.pill--cream{background:var(--cream-50);color:var(--brand-950)}.pill--cream:hover,a.pill--cream:hover{background:#fff;color:var(--brand-950)}.pill--cream .pill-arrow{background:var(--brand-900);color:var(--cream-50)}.pill--sm{height:40px;padding:0 20px;font-size:14px;line-height:21px}.pill--sm.pill--arrow{padding:0 6px 0 18px}.pill--sm .pill-arrow{width:28px;height:28px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky);height:var(--nav-h);box-sizing:border-box;background:color-mix(in srgb,var(--surface-page) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 -1px 0 var(--border-default)}.site-header-row{display:flex;align-items:center;gap:24px;height:100%}.site-brand{display:inline-flex;align-items:center;gap:10px;border-radius:12px;font:680 20px/30px var(--font-display);letter-spacing:-.02em;text-decoration:none}.site-brand,a.site-brand:hover{color:var(--text-primary)}.footer-brand .site-brand{gap:8px}.site-nav{display:flex;align-items:center;gap:8px}.site-nav a{display:inline-flex;align-items:center;box-sizing:border-box;height:40px;padding:0 16px;border:1px solid var(--border-default);border-radius:999px;font-size:14px;font-weight:500;line-height:21px;color:var(--text-secondary);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.site-nav a:hover{background:var(--surface-sunken);border-color:var(--border-strong);color:var(--text-primary)}.site-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.footer-theme .theme-toggle,.site-theme .theme-toggle{box-sizing:border-box;height:40px;padding:3px;border-radius:999px;background:transparent;border-color:var(--border-default)}.footer-theme .theme-toggle-btn,.site-theme .theme-toggle-btn{width:32px;height:32px;border-radius:999px}.footer-theme{display:none}.landing .eyebrow{margin:0 0 16px;font:600 12px/15px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.landing h1,.landing h2,.landing h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;text-wrap:balance}.landing h1{font-size:clamp(38px,4.2vw,60px);font-weight:700;line-height:1.12}.landing h2{font-size:clamp(28px,3.4vw,40px);font-weight:var(--weight-display);line-height:1.25}.landing h3{font-size:22px;font-weight:700;line-height:1.25}.script{font-family:var(--font-sans);font-style:italic;font-weight:600;letter-spacing:-.01em}.accent{color:var(--accent-ink)}.section-lede{margin:14px 0 0;max-width:560px;font-size:16px;line-height:1.65;color:var(--text-secondary);text-wrap:pretty}.hero{padding-block:clamp(48px,7vh,80px) clamp(56px,8vh,88px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:64px;gap:64px;align-items:center}.hero-copy{min-width:0}.hero-copy h1{max-width:620px}.hero-sub{margin:22px 0 0;max-width:560px;font-size:18px;line-height:1.65;color:var(--text-secondary);text-wrap:pretty}.hero-sub code{font-size:.84em}.hero-actions{display:flex;align-items:center;gap:10px 24px;flex-wrap:wrap;margin-top:32px}.text-cta{display:inline-flex;align-items:center;gap:8px;box-sizing:border-box;height:52px;padding:0 4px;border-radius:999px;font:600 16px/24px var(--font-sans);color:var(--text-primary);text-decoration:none}a.text-cta:hover{color:var(--accent-ink)}.text-cta svg{transition:transform var(--dur-med) var(--ease-spring)}.text-cta:hover svg{transform:translateX(3px)}.hero-proof{margin:24px 0 0;text-wrap:balance;font-size:13px;line-height:19.5px;color:var(--text-muted)}.spec-doc{margin:0;min-width:0;border:1px solid var(--border-default);border-radius:24px;background:var(--surface-card);box-shadow:var(--shadow-md);overflow:hidden}.spec-doc-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;height:48px;padding:0 24px;border-bottom:1px solid var(--border-default);background:var(--surface-sunken);font:600 12px/18px var(--font-mono);letter-spacing:.03em;color:var(--text-secondary)}.spec-doc-score{display:inline-flex;align-items:center;gap:6px;color:var(--success-600)}.spec-doc-score svg{display:block}.spec-doc-body{margin:0;padding:24px;font:13px/1.7 var(--font-mono);color:var(--text-primary);overflow-x:auto}.band,.csec{padding-block:clamp(64px,9vh,96px)}.csec{border-top:1px solid var(--border-default)}.csec-head{max-width:720px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px;margin-top:48px}.card{min-width:0;padding:28px;border:1px solid var(--border-default);border-radius:24px;background:var(--surface-card)}.card h3{margin-bottom:10px}.card p{margin:0;max-width:34ch;font-size:14px;line-height:1.65;color:var(--text-secondary)}.card-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:20px;border-radius:999px;background:var(--surface-sunken);color:var(--accent-ink)}.card-icon svg{display:block}.steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px}.step{min-width:0;padding-top:20px;border-top:2px solid var(--accent-ink)}.step-num{display:block;margin-bottom:12px;font:500 12px/18px var(--font-mono);letter-spacing:.06em;color:var(--accent-ink)}.step h3{margin-bottom:10px}.step p{margin:0;font-size:14px;line-height:1.65;color:var(--text-secondary)}.preview-frame{margin:48px 0 0;border:1px solid var(--border-default);border-radius:24px;background:var(--surface-card);overflow:hidden}.preview-frame img{display:block;width:100%;height:auto}.preview-frame figcaption{padding:16px 24px;border-top:1px solid var(--border-default);font-size:13px;line-height:19.5px;color:var(--text-muted);background:var(--surface-sunken)}.band{background:var(--surface-brand)}.band,.band h2,.band h3{color:var(--cream-50)}.band .script{color:var(--brand-300)}.band .section-lede{color:var(--text-on-brand-muted)}.band-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px;margin-top:48px}.band-grid>div{min-width:0;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--cream-50) 22%,transparent)}.band-grid h3{margin-bottom:10px}.band-grid p{margin:0;font-size:14px;line-height:1.65;color:var(--text-on-brand-muted)}.closer{display:flex;flex-direction:column;align-items:center;text-align:center}.closer h2{font-size:clamp(30px,4vw,46px);max-width:620px}.closer p{margin:14px 0 32px;max-width:480px;font-size:16px;line-height:1.65;color:var(--text-on-brand-muted)}.band .pill:focus-visible{box-shadow:0 0 0 2px var(--surface-brand),0 0 0 4px var(--brand-300)}.price-card{display:flex;flex-direction:column;align-items:flex-start}.price-card h3{display:flex;align-items:center;gap:8px;margin-bottom:8px}.price-card .price{margin:0 0 12px;font:680 34px/1.15 var(--font-display);letter-spacing:-.02em;color:var(--text-primary)}.price-card p{flex:1 1}.price-card .pill{margin-top:24px}.chip{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:999px;background:var(--surface-sunken);border:1px solid var(--border-default);font:600 12px/15px var(--font-sans);letter-spacing:0;color:var(--text-secondary)}.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);grid-gap:64px;gap:64px;align-items:start}.faq-list{border-top:1px solid var(--border-default)}.faq-list details{border-bottom:1px solid var(--border-default)}.faq-list summary{position:relative;display:flex;align-items:center;box-sizing:border-box;min-height:56px;padding:12px 44px 12px 0;list-style:none;cursor:pointer;font:600 16px/24px var(--font-sans);color:var(--text-primary);border-radius:8px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"";position:absolute;right:8px;top:50%;width:10px;height:10px;margin-top:-7px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(45deg);transition:transform var(--dur-med) var(--ease-out)}.faq-list details[open] summary:after{margin-top:-2px;transform:rotate(-135deg)}.faq-list summary:hover{color:var(--accent-ink)}.faq-list summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.faq-list details p{margin:0;padding:0 44px 20px 0;font-size:14px;line-height:1.65;color:var(--text-secondary)}.site-footer{padding:56px 0 32px;border-top:1px solid var(--border-default);background:var(--surface-subtle)}.footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;grid-gap:24px clamp(40px,6vw,88px);gap:24px clamp(40px,6vw,88px)}.footer-brand p{margin:12px 0 0;max-width:300px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.fcol{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.fcol-head{margin:0 0 4px;font:600 12px/15px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.fcol a{display:inline-flex;align-items:center;gap:8px;border-radius:8px;font-size:14px;line-height:21px;color:var(--text-secondary);text-decoration:none}a.fcol-mail svg{display:block}.fcol a:hover{color:var(--text-primary)}.footer-base{justify-content:space-between;gap:12px 24px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid var(--border-default);font-size:13px;line-height:19.5px;color:var(--text-muted)}.footer-base,.notfound{display:flex;align-items:center}.notfound{flex-direction:column;text-align:center;padding-block:clamp(64px,12vh,120px)}.notfound p{margin:14px 0 32px;max-width:480px;font-size:16px;line-height:1.65;color:var(--text-secondary)}@media(max-width:1020px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:48px}.band-grid,.card-grid,.steps{grid-template-columns:minmax(0,1fr);gap:16px}.card p{max-width:60ch}.faq-wrap{grid-template-columns:minmax(0,1fr);gap:36px}}@media(max-width:900px){.site-nav{display:none}.footer-top{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:1/-1}}@media(max-width:640px){.site-brand{min-height:44px}.site-theme{display:none}.footer-theme{display:block}.footer-theme .theme-toggle{height:52px;padding:3px}.footer-theme .theme-toggle-btn{width:44px;height:44px}.pill--sm{height:44px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .pill{width:100%}.text-cta{justify-content:center}.card{padding:24px}.footer-top{grid-template-columns:minmax(0,1fr);gap:32px}.fcol{gap:0}.fcol a{min-height:44px}.footer-base{flex-direction:column;align-items:flex-start}.spec-doc-body{font-size:12px;padding:20px}.spec-doc-bar{padding:0 20px}}@media(prefers-reduced-motion:reduce){.pill:active,.pill:hover .pill-arrow,.text-cta:hover svg{transform:none}}*{box-sizing:border-box}body{margin:0;background:var(--surface-page);color:var(--text-primary)}@keyframes extract{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{--logo-mark:var(--brand-800)}[data-theme=dark]{--logo-mark:var(--brand-300)}.brand-mark{display:block;flex:none;color:var(--logo-mark)}.theme-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken)}.theme-toggle-btn{display:grid;place-items:center;width:30px;height:26px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font-size:var(--text-md);line-height:1;cursor:pointer;transition:background var(--dur-med) var(--ease-out),color var(--dur-med) var(--ease-out)}.theme-toggle-btn.active,.theme-toggle-btn:hover{color:var(--text-primary)}.theme-toggle-btn.active{background:var(--surface-card);box-shadow:var(--shadow-xs)}.theme-toggle-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.login-theme{display:flex;justify-content:center;margin-top:18px}.history-heading{display:flex;justify-content:space-between;gap:var(--space-2)}.mobile-projects{display:none}@media(max-width:900px){.mobile-projects{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-4);border-bottom:1px solid var(--border-default)}.mobile-projects label{grid-column:1/-1;font-size:var(--text-sm);font-weight:600}.mobile-projects select{min-width:0;width:100%}}.history-item{height:auto;min-height:var(--space-12);flex-direction:column;align-items:flex-start;gap:var(--space-1);white-space:normal;text-align:left}.history-item span{color:inherit;font:inherit}.history-item small{font-size:var(--text-xs);color:var(--text-secondary)}.revision-preview{max-height:60vh;overflow:auto;padding:var(--space-4);font-size:var(--text-sm);line-height:1.6}.revision-section{border-top:1px solid var(--border-default);padding-block:var(--space-3)}.revision-section summary{cursor:pointer;font-weight:600;color:var(--text-primary)}.revision-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.revision-comparison h4{font-size:var(--text-sm);margin-block:var(--space-3)}.revision-comparison pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--text-secondary);margin:0}@media(max-width:600px){.revision-comparison{grid-template-columns:minmax(0,1fr)}}