.completion-actions{width:100%;margin-top:26px}.completion-action-list{display:grid;gap:9px}.completion-action{width:100%;min-height:58px;border:1px solid var(--border);border-radius:var(--radius-control);display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:9px 12px;text-align:left;cursor:pointer;transition:background .17s var(--ease-out),border-color .17s var(--ease-out),transform .16s var(--ease-out)}.completion-action:active{transform:scale(.985)}.completion-action-secondary{background:var(--surface);color:var(--ink)}.completion-action-secondary:hover{background:var(--surface-strong);border-color:var(--surface-strong)}.completion-action-primary{border-color:var(--ink);background:var(--ink);color:#fff}.completion-action-primary:hover{background:#28282a;border-color:#28282a}.completion-action-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fff;color:var(--ink)}.completion-action-secondary .completion-action-icon{background:var(--canvas);box-shadow:inset 0 0 0 1px var(--border)}.completion-action-copy{min-width:0;display:grid;gap:2px}.completion-action-copy strong{font-size:15px;font-weight:680;letter-spacing:-.01em}.completion-action-copy>span{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.completion-action-primary .completion-action-copy>span{color:#ffffffad}.completion-action-arrow{justify-self:end;opacity:.72;transition:transform .17s var(--ease-out)}.completion-action:hover .completion-action-arrow{transform:translate(2px)}.completion-notice{margin:10px 2px 0;color:var(--muted);font-size:13px;line-height:1.45}.keep-improving{margin-top:26px;padding-top:22px;border-top:1px solid var(--border)}.keep-improving .quiet-label{margin-bottom:4px}.completion-actions.is-compact{margin-top:16px}.completion-actions.is-compact .completion-action{min-height:52px}.completion-actions.is-compact .completion-action-copy>span{display:none}.market-pane{width:100%;max-width:680px;margin:0 auto;color:var(--ink)}.market-pane-header{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:clamp(24px,5dvh,42px)}.market-back-button{min-height:44px;border:0;border-radius:11px;display:inline-flex;align-items:center;gap:7px;margin-left:-10px;padding:0 10px;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:14px;font-weight:630;transition:background .16s var(--ease-out),transform .16s var(--ease-out)}.market-back-button:hover{background:var(--surface)}.market-back-button:active{transform:translate(-2px)}.market-pane-name{color:var(--muted);font-size:13px;font-weight:650}.market-progress,.market-error{width:100%;max-width:560px}.market-progress h1,.market-error h1,.market-verdict h1{max-width:18ch;margin:0;font-family:var(--font-display);font-size:clamp(30px,4.2vw,40px);font-weight:500;line-height:1.04;letter-spacing:-.043em;text-wrap:balance}.market-lede,.market-error>p:not(.quiet-label),.market-verdict-summary{max-width:55ch;margin:14px 0 0;color:var(--muted);font-size:15px;line-height:1.58;text-wrap:pretty}.market-progress-list{margin-top:30px;border-top:1px solid var(--border)}.market-progress-step{min-height:52px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:30px minmax(0,1fr) 10px;align-items:center;gap:10px;color:var(--muted);font-size:14px;transition:color .18s var(--ease-out),opacity .18s var(--ease-out)}.market-progress-step.is-past{opacity:.58}.market-progress-step.is-current{color:var(--ink);font-weight:640}.market-progress-index,.market-section-number,.market-comparator-count,.market-source-number{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.market-progress-pulse{width:8px;height:8px;border-radius:50%;background:currentColor;animation:market-pulse .9s ease-in-out infinite alternate}@keyframes market-pulse{0%{opacity:.24;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.market-error-actions{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.market-report{padding-bottom:max(40px,env(safe-area-inset-bottom))}.market-verdict{padding-bottom:clamp(34px,6dvh,54px)}.market-verdict-label{margin:0 0 12px;color:var(--ink-soft);font-size:13px;font-weight:680}.market-verdict-label span{color:var(--muted);font-weight:550}.market-disclosure-actions{margin-top:22px;display:flex;flex-wrap:wrap;gap:7px}.market-disclosure-button{min-height:44px;border:1px solid var(--border);border-radius:11px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;background:#fff;color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:630;transition:background .16s var(--ease-out),transform .16s var(--ease-out)}.market-disclosure-button:hover{background:var(--surface)}.market-disclosure-button:active{transform:scale(.985)}.market-disclosure-button svg{transition:transform .18s var(--ease-out)}.market-disclosure-button svg.is-open{transform:rotate(180deg)}.market-disclosure{margin-top:12px;padding:18px;border-radius:var(--radius-surface);background:var(--surface)}.market-disclosure>div+div{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.market-disclosure h2{margin:0 0 9px;font-size:14px;font-weight:680;letter-spacing:-.01em}.market-evidence-list,.market-assumptions ul{margin:0;padding-left:18px;color:var(--ink-soft);font-size:14px;line-height:1.52}.market-evidence-list li+li,.market-assumptions li+li{margin-top:7px}.market-empty-copy{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.market-section{padding:clamp(34px,6dvh,54px) 0;border-top:1px solid var(--border);scroll-margin-top:60px}.market-section-nav{position:sticky;top:0;z-index:10;display:flex;gap:4px;margin:0 -4px;padding:10px 4px;background:#fffffceb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.market-section-nav-item{border:0;border-radius:8px;padding:6px 10px;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;font-weight:650;white-space:nowrap;transition:background .14s var(--ease-out),color .14s var(--ease-out)}.market-section-nav-item:hover{background:var(--surface);color:var(--ink)}.market-section-heading{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:baseline;gap:10px;margin-bottom:22px}.market-section-number{margin:0}.market-section-heading h2,.market-follow-up h2{margin:0;font-family:var(--font-display);font-size:clamp(20px,3vw,24px);font-weight:500;line-height:1.15;letter-spacing:-.032em;scroll-margin-top:60px}.market-comparator-list{border-radius:var(--radius-surface);background:var(--surface);overflow:hidden}.market-comparator{padding:19px}.market-comparator+.market-comparator{border-top:1px solid var(--border)}.market-comparator-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.market-comparator h3{margin:0;font-size:17px;line-height:1.3;letter-spacing:-.018em}.market-comparator h3 a{color:inherit;display:inline-flex;align-items:center;gap:6px;text-decoration:none}.market-comparator h3 a:hover{text-decoration:underline;text-underline-offset:3px}.market-fact{margin:10px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.54}.market-pricing{margin:10px 0 0;color:var(--ink-soft);font-size:13px;line-height:1.48}.market-pricing>span:first-child,.market-comparator-gap p>span,.market-estimate-label,.market-assumptions>p{display:block;margin-bottom:4px;color:var(--muted);font-size:11px;font-weight:680;letter-spacing:.025em}.market-comparator-gap{margin-top:15px;padding-top:15px;border-top:1px solid var(--border);display:grid;gap:13px}.market-comparator-gap p{margin:0;color:var(--ink-soft);font-size:13px;line-height:1.5}.market-citations{display:inline-flex;align-items:baseline;gap:2px;margin-left:4px;white-space:nowrap}.market-citations a{border-radius:5px;color:var(--ink-soft);font-size:11px;font-weight:680;line-height:1;text-decoration:none}.market-citations a:hover{text-decoration:underline;text-underline-offset:2px}.market-definition-list{margin:0;border-top:1px solid var(--border)}.market-definition-list>div{display:grid;grid-template-columns:minmax(110px,.36fr) minmax(0,1fr);gap:18px;padding:17px 0;border-bottom:1px solid var(--border)}.market-definition-list dt{color:var(--muted);font-size:12px;font-weight:650}.market-definition-list dd{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.54}.market-iterations{margin-top:26px}.market-iterations h3{margin:0 0 12px;font-size:15px;letter-spacing:-.015em}.market-iterations ol{margin:0;padding:0;list-style:none}.market-iterations li{min-height:50px;border-top:1px solid var(--border);display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;padding:14px 0}.market-iterations li:last-child{border-bottom:1px solid var(--border)}.market-iterations li>span{padding-top:2px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.market-iterations li p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.52}.market-estimate{padding:20px;border-radius:var(--radius-surface);background:var(--surface)}.market-estimate-range{margin:0;font-size:clamp(30px,5vw,42px);font-weight:720;font-variant-numeric:tabular-nums;line-height:1.05;letter-spacing:-.048em}.market-estimate-calculation{margin:11px 0 0;color:var(--ink-soft);font-size:14px;font-variant-numeric:tabular-nums;line-height:1.52}.market-assumptions{margin-top:19px;padding-top:17px;border-top:1px solid var(--border)}.market-estimate-footnote{margin-top:18px;color:var(--muted);font-size:12px;line-height:1.5}.market-estimate-footnote>span{font-weight:680;text-transform:lowercase}.market-estimate-footnote p{margin:4px 0 0}.market-unavailable{padding:18px;border-radius:var(--radius-surface);background:var(--surface)}.market-unavailable h3{margin:0;font-size:16px;letter-spacing:-.015em}.market-unavailable p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.market-source-list{display:grid}.market-source-list>a{min-height:54px;border-top:1px solid var(--border);display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:9px;color:inherit;text-decoration:none}.market-source-list>a:last-child{border-bottom:1px solid var(--border)}.market-source-list>a:hover .market-source-copy strong{text-decoration:underline;text-underline-offset:3px}.market-source-copy{min-width:0;display:grid;gap:2px}.market-source-copy strong,.market-source-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.market-source-copy strong{font-size:13px;font-weight:650}.market-source-copy span{color:var(--muted);font-size:11px}.market-follow-up{padding:clamp(34px,6dvh,54px) 0 0;border-top:1px solid var(--border)}.market-follow-up>p:not(.quiet-label),.market-follow-up-answer>p{max-width:56ch;margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.55}.market-follow-up-answer{margin-top:18px;padding:17px;border-radius:var(--radius-surface);background:var(--surface)}.market-follow-up-answer .market-follow-up-question{margin:0 0 9px;color:var(--ink);font-weight:670}.market-follow-up-answer>p:last-of-type{margin:0;color:var(--ink-soft);white-space:pre-wrap}.market-follow-up-sources{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 12px}.market-follow-up-sources a{min-height:32px;display:inline-flex;align-items:center;gap:5px;color:var(--ink-soft);font-size:12px;font-weight:620}.market-follow-up-form{margin-top:18px}.market-follow-up-form>label{display:block;margin-bottom:7px;color:var(--ink-soft);font-size:13px;font-weight:650}.market-follow-up-form>div{position:relative}.market-follow-up-form textarea{width:100%;min-height:86px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-control);padding:13px 54px 13px 13px;background:#fff;color:var(--ink);font-size:16px;line-height:1.45}.market-follow-up-submit{position:absolute;right:8px;bottom:8px;width:38px;height:38px;border:0;border-radius:10px;display:grid;place-items:center;background:var(--ink);color:#fff;cursor:pointer;transition:transform .16s var(--ease-out),background .16s var(--ease-out)}.market-follow-up-submit:active{transform:scale(.96)}.market-follow-up-status{margin:9px 0 0;color:var(--muted);font-size:13px}.completion-sheet-backdrop,.mobile-completion-backdrop{position:absolute;z-index:46;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#1111132e}.completion-sheet,.mobile-completion-sheet{width:100%;padding:22px max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border-radius:22px 22px 0 0;background:#fff;box-shadow:var(--shadow-sheet)}.completion-sheet h2,.mobile-completion-sheet h2{max-width:15ch;margin:0;font-family:var(--font-display);font-size:28px;font-weight:500;line-height:1.06;letter-spacing:-.04em}.completion-sheet>p,.mobile-completion-sheet>p{margin:10px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.completion-outcome-reopen,.outcome-reopen{position:absolute;z-index:31;top:max(6px,env(safe-area-inset-top));right:max(6px,env(safe-area-inset-right));min-height:30px;border:1px solid rgb(227 227 223 / .82);border-radius:8px;display:inline-flex;align-items:center;gap:5px;padding:0 9px;background:#ffffffe0;color:var(--ink-soft);box-shadow:0 4px 12px #11111312;cursor:pointer;font-size:11px;font-weight:600;opacity:.75;transition:opacity .16s ease}.completion-outcome-reopen:hover,.outcome-reopen:hover{opacity:1}.mobile-completion-sheet{max-height:calc(100dvh - 48px);overflow-y:auto}.mobile-completion-sheet .sheet-header{align-items:flex-start}.mobile-completion-sheet .quiet-label{margin-bottom:8px}.keep-editing-action{width:100%;margin-top:8px}@media(min-width:900px){.workspace.market-open{grid-template-columns:minmax(400px,560px) minmax(400px,1fr);align-items:start}.workspace.market-open .input-rail{min-height:calc(100dvh - 32px);overflow:visible}.workspace.market-open .rail-inner{min-height:calc(100dvh - 72px)}.workspace.market-open .rail-content{justify-content:flex-start;padding-block:20px 48px}.workspace.market-open .activity-section{display:none}.workspace.market-open .preview-area{position:sticky;top:16px;height:calc(100dvh - 32px);min-height:calc(100dvh - 32px)}.mobile-only{display:none!important}}@media(max-width:899px){.workspace.has-app.market-open .input-rail{display:block;min-height:100dvh}.workspace.has-app.market-open .preview-area{display:none}.workspace.market-open .rail-content{justify-content:flex-start;padding-block:16px 36px}.workspace.market-open .activity-section{display:none}.desktop-only{display:none!important}.market-pane-header{margin-bottom:24px}.market-progress h1,.market-error h1,.market-verdict h1{font-size:clamp(30px,9vw,38px)}.market-section-heading h2,.market-follow-up h2{font-size:21px}}@media(max-width:520px){.market-disclosure-actions{display:grid}.market-disclosure-button{width:100%}.market-definition-list>div{grid-template-columns:1fr;gap:7px}.market-estimate{padding:18px}.completion-action-copy>span{white-space:normal}}@media(prefers-reduced-motion:reduce){.market-progress-pulse{animation:none}}:root{color-scheme:light;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Iowan Old Style", Baskerville, "Times New Roman", serif;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #ffffff;--ink: #111113;--ink-soft: #3f3f43;--muted: #6f6f74;--surface: #f4f4f2;--surface-strong: #ececea;--border: #e3e3df;--recording: #d93d42;--danger: #b4232a;--shadow-sheet: 0 16px 42px rgb(17 17 19 / .14);--radius-control: 12px;--radius-surface: 17px;--ease-out: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100dvh;overflow-x:hidden;background:#fcfcf9;color:var(--ink)}button,textarea,input{font:inherit}button{color:inherit;touch-action:manipulation}button:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid rgb(17 17 19 / .22);outline-offset:2px}button:disabled,textarea:disabled,input:disabled{cursor:not-allowed;opacity:.46}.app-shell{min-height:100dvh;position:relative;isolation:isolate;background:transparent}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:transparent;position:relative;isolation:isolate}.auth-card{position:relative;z-index:1;width:min(100%,430px);padding:clamp(28px,7vw,46px);border:1px solid var(--border);border-radius:24px;background:#fffffce6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sheet)}.auth-card h1{margin:0;font:500 clamp(38px,9vw,54px) / .94 var(--font-display);letter-spacing:-.06em}.auth-copy{margin:18px 0 26px;color:var(--muted);line-height:1.55}.auth-google,.auth-form .primary-action,.auth-demo{width:100%;min-height:50px;border-radius:12px;font-weight:700;cursor:pointer}.auth-google{border:1px solid var(--ink);background:var(--ink);color:#fff}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:24px 0;color:var(--muted);font-size:12px}.auth-divider:before,.auth-divider:after{height:1px;background:var(--border);content:""}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px;color:var(--ink-soft);font-size:13px;font-weight:650}.auth-form input{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--ink)}.auth-toggle{display:block;margin:18px auto 0}.auth-demo{display:grid;gap:3px;margin-top:28px;border:1px dashed var(--border);background:transparent;color:var(--ink-soft)}.auth-demo span{color:var(--muted);font-size:12px;font-weight:500}.auth-loading{color:var(--muted)}.hyperspace-background{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;pointer-events:none}.workspace{min-height:100dvh;position:relative;z-index:1}.input-rail{position:relative;z-index:2;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:#fffffc66;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(4px)}.rail-inner{width:min(100%,540px);min-height:calc(100dvh - 36px);margin:0 auto;display:flex;flex-direction:column}.brand-row{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-wordmark{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:720;letter-spacing:-.02em}.entry-brand-row{position:relative;justify-content:center}.entry-brand-row .brand-wordmark{font-family:var(--font-display);font-size:clamp(26px,7vw,34px);font-style:italic;font-weight:500;letter-spacing:-.065em}.entry-brand-row .connection-state{position:absolute;right:0;min-height:28px;padding-inline:8px;border-color:transparent;background:transparent;font-size:11px}.brand-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--ink);color:#fff;font-size:13px;font-weight:760}.connection-state{min-height:32px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--muted);font-size:12px;font-weight:600}.connection-state.offline{color:var(--danger);border-color:#b4232a42;background:#b4232a0d}.account-control{min-height:38px;margin-top:8px;padding:0 4px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.account-identity{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-control button,.save-status button{border:0;padding:4px 0;background:transparent;color:var(--ink-soft);cursor:pointer;font:inherit;font-weight:700}.demo-mode-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:9px 10px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:12px}.demo-mode-banner button{border:0;padding:0;background:transparent;color:var(--ink);cursor:pointer;font-weight:700}.rail-content{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,8dvh,76px) 0 28px}.voice-capture{width:100%}.intake-screen{width:100%;display:grid;gap:16px}.intake-screen h1{max-width:17ch;margin:0;font:500 clamp(31px,8vw,45px) / .98 Georgia,"Times New Roman",serif;letter-spacing:-.055em}.intake-copy{max-width:37ch;margin:-4px 0 4px;color:var(--muted);font-size:15px;line-height:1.5}.intake-options{display:grid;gap:10px}.intake-option{min-height:58px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:#fffffcd1;color:var(--ink);text-align:left;font:inherit;font-weight:650;transition:transform .16s var(--ease-out),border-color .16s var(--ease-out),background .16s var(--ease-out)}.intake-option:hover:not(:disabled),.intake-option:focus-visible{border-color:var(--ink);background:#fff;transform:translate(3px)}.intake-other,.intake-back{justify-self:start}.entry-flow{position:relative;flex:1 1 0;align-self:stretch;width:100%;min-height:0;overflow:hidden}.entry-voice-screen,.entry-projects-screen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;transition:transform .42s var(--ease-out),opacity .26s var(--ease-out);will-change:transform}.entry-voice-screen{display:flex;align-items:center}.entry-projects-screen{z-index:1;overflow:auto;transform:translateY(104%);opacity:0;background:#fffffc66;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none}.entry-flow.projects-open .entry-voice-screen{transform:translateY(-28%);opacity:0;pointer-events:none}.entry-flow.projects-open .entry-projects-screen{transform:translateY(0);opacity:1;pointer-events:auto}@media(prefers-reduced-motion:reduce){.entry-voice-screen,.entry-projects-screen,.landing-copy,.landing-controls,.landing-microphone,.landing-transcript{transition-duration:1ms}.voice-capture-landing.is-listening .landing-microphone{animation:none}}.voice-capture-landing{display:grid;justify-items:center;width:100%;padding:4px 0 12px}.voice-capture-landing .landing-copy{justify-self:start;padding-inline:clamp(16px,5vw,40px)}.landing-copy{max-width:420px;text-align:left;transition:transform .22s var(--ease-out),opacity .18s var(--ease-out)}.landing-copy h1{max-width:14ch;font-family:var(--font-display);font-size:clamp(35px,9vw,54px);font-style:normal;font-weight:500;line-height:1.01;letter-spacing:-.045em}.voice-capture-landing.is-listening .landing-copy{transform:translateY(-12px) scale(.78);opacity:.7}.landing-typing-area{width:min(100%,380px);display:grid;grid-template-rows:0fr;opacity:0;margin-top:0;transition:grid-template-rows .32s var(--ease-out),opacity .26s var(--ease-out),margin-top .32s var(--ease-out)}.landing-typing-area.is-open{grid-template-rows:1fr;opacity:1;margin-top:clamp(20px,4dvh,36px)}.landing-typing-form{overflow:hidden;display:flex;align-items:flex-end;gap:8px;border:1px solid var(--border);border-radius:var(--radius-control);padding:10px 12px;background:var(--surface);transition:border-color .16s var(--ease-out)}.landing-typing-form:focus-within{border-color:var(--ink-soft)}.landing-textarea{flex:1;border:0;background:transparent;resize:none;outline:none;font-size:1rem;line-height:1.5;color:var(--ink)}.landing-textarea::placeholder{color:var(--muted)}.landing-typing-submit{flex-shrink:0;width:34px;height:34px;border:0;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;padding:0;cursor:pointer;transition:opacity .16s var(--ease-out)}.landing-typing-submit:disabled{opacity:.3;cursor:default}.landing-controls{width:min(100%,312px);margin-top:clamp(38px,8dvh,74px);display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:22px}.landing-side-action{width:52px;height:52px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;padding:0;background:transparent;color:var(--ink-soft);cursor:pointer;transition:background .16s var(--ease-out),color .16s var(--ease-out),transform .16s var(--ease-out)}.landing-side-action:hover{background:var(--surface);color:var(--ink)}.landing-microphone{position:relative;width:116px;height:116px;margin:0 auto;border:0;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;cursor:pointer;box-shadow:0 13px 28px #11111329;transition:transform .18s var(--ease-out),background .18s var(--ease-out),box-shadow .18s var(--ease-out)}.landing-microphone:hover{transform:translateY(-2px);box-shadow:0 18px 34px #11111330}.landing-microphone:active{transform:scale(.97)}.voice-capture-landing.is-listening .landing-microphone{background:var(--recording);box-shadow:0 0 0 8px #d93d421f,0 13px 28px #d93d4233;animation:landing-listen .95s ease-in-out infinite alternate}@keyframes landing-listen{0%{transform:scale(.97)}to{transform:scale(1.035)}}.landing-transcript{width:min(100%,360px);min-height:25px;margin-top:18px;color:var(--muted);font-size:17px;line-height:1.5;text-align:left;justify-self:start;padding-inline:clamp(16px,5vw,40px);opacity:0;transform:translateY(-6px);transition:opacity .18s var(--ease-out),transform .18s var(--ease-out)}.landing-transcript.is-visible{opacity:1;transform:translateY(0)}.landing-typed-fallback{width:min(100%,440px);margin-top:26px}.landing-submit{margin-top:14px}.projects-placeholder{min-height:100%;padding:6px 0 28px}.projects-back{min-height:44px;border:0;display:inline-flex;align-items:center;gap:6px;padding:0 4px;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:14px;font-weight:620}.projects-heading{margin-top:clamp(38px,8dvh,76px)}.projects-heading h1{margin:0;font-family:var(--font-display);font-size:clamp(39px,10vw,58px);font-weight:500;line-height:.96;letter-spacing:-.06em}.project-placeholder-card{margin-top:38px;padding:23px 22px;border:1px solid var(--border);border-radius:18px;background:#fbfbfa}.projects-list{display:grid;gap:12px}.projects-state{margin:38px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.projects-state .inline-error{margin:0 0 8px}.project-open-card{width:100%;border-color:var(--border);color:inherit;text-align:left;cursor:pointer}.project-open-card:hover,.project-open-card:focus-visible{border-color:var(--ink);background:#fff}.share-action{margin-top:18px}.save-status{width:min(100%,440px);min-height:30px;margin:14px 0 0;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;font-weight:650}.save-status.is-saving:before,.save-status.is-saved:before,.save-status.is-error:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.save-status.is-saved{color:#34724a}.save-status.is-error{color:var(--danger)}.save-status.is-error button{color:var(--danger);text-decoration:underline;text-underline-offset:3px}.project-card-label{margin:0;color:var(--muted);font-size:13px;font-weight:650}.project-placeholder-card h2{margin:28px 0 0;font-family:var(--font-display);font-size:23px;font-weight:500;letter-spacing:-.035em}.project-placeholder-card p:last-child{margin:8px 0 0;color:var(--muted);font-size:15px;line-height:1.5}.voice-capture.compact{max-height:min(76dvh,620px);overflow-y:auto}.voice-copy{max-width:440px}.quiet-label{margin:0 0 12px;color:var(--muted);font-size:13px;font-weight:650}.voice-copy h1,.proposal-panel h1,.error-panel h1{max-width:12ch;margin:0;font-family:var(--font-display);font-size:clamp(34px,9vw,52px);font-weight:500;line-height:.98;letter-spacing:-.052em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.voice-capture.compact .voice-copy h1{max-width:none;font-size:clamp(27px,7vw,38px);line-height:1.02}.voice-copy>p:last-child,.proposal-copy,.error-copy{max-width:42ch;margin:15px 0 0;color:var(--muted);font-size:16px;line-height:1.55}.voice-surface{margin-top:clamp(28px,6dvh,46px);padding:18px;border-radius:var(--radius-surface);background:var(--surface);transition:background .18s var(--ease-out)}.voice-surface.is-listening{background:#f0f0ee}.waveform{height:66px;display:flex;align-items:center;justify-content:center;gap:5px}.waveform span{width:3px;height:calc(7px + (var(--bar) % 6) * 5px);border-radius:999px;background:var(--ink-soft);opacity:.72;transform-origin:center}.is-listening .waveform span{background:var(--recording);animation:listen-wave .76s var(--ease-out) infinite alternate;animation-delay:calc(var(--bar) * -44ms)}@keyframes listen-wave{0%{transform:scaleY(.46);opacity:.5}to{transform:scaleY(1.16);opacity:1}}.voice-action,.primary-action{min-height:48px;border:0;border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;background:var(--ink);color:#fff;cursor:pointer;font-size:15px;font-weight:680;transition:transform .16s var(--ease-out),background .16s var(--ease-out)}.voice-action{width:100%}.voice-action:active,.primary-action:active,.tool-button:active,.text-action:active,.icon-action:active{transform:scale(.98)}.voice-action-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--ink)}.transcript{min-height:50px;margin-top:15px;padding:0 4px;color:var(--ink-soft);font-size:15px;line-height:1.5}.transcript p{margin:0}.transcript-placeholder{color:var(--muted)}.inline-error{margin:10px 0 0;color:var(--danger);font-size:14px;line-height:1.45}.voice-secondary-actions{min-height:52px;margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.text-action,.icon-action{min-height:44px;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 11px;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:14px;font-weight:620;transition:background .16s var(--ease-out),transform .16s var(--ease-out)}.text-action:hover,.icon-action:hover{background:var(--surface)}.primary-action.compact{min-height:44px;padding-inline:13px}.typed-fallback{margin-top:12px;display:grid;gap:8px}.typed-fallback label{color:var(--ink-soft);font-size:13px;font-weight:650}.typed-fallback textarea{width:100%;min-height:96px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-control);padding:13px 14px;background:#fff;color:var(--ink);font-size:16px;line-height:1.45}.proposal-panel,.progress-panel,.error-panel{width:100%;max-width:500px}.proposal-panel h1,.error-panel h1{font-size:clamp(31px,8vw,46px)}.proposal-card{margin-top:26px;padding:20px;border-radius:var(--radius-surface);background:var(--surface)}.proposal-copy{margin:0;color:var(--ink-soft);white-space:pre-wrap}.proposal-actions,.error-actions{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}.proposal-voice{margin-top:14px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.recording-dot{width:8px;height:8px;border-radius:50%;background:var(--recording)}.progress-panel{text-align:left}.progress-title{margin:0;font-family:var(--font-display);font-size:clamp(29px,7vw,42px);font-weight:500;line-height:1.04;letter-spacing:-.04em}.progress-copy{margin:12px 0 0;color:var(--muted);line-height:1.5}.progress-tip{margin:18px 0 0;font-size:13px;color:var(--muted);line-height:1.5;animation:tip-fade .4s ease}.progress-tip strong{color:#000}@keyframes tip-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.progress-steps{margin-top:30px;display:grid;gap:8px}.progress-step{min-height:48px;padding:0 14px;border-radius:13px;display:flex;align-items:center;justify-content:space-between;background:var(--surface);color:var(--muted);font-size:14px}.progress-step.active{background:var(--ink);color:#fff}.progress-pulse{width:8px;height:8px;border-radius:50%;background:currentColor;animation:progress-pulse .9s ease-in-out infinite alternate}@keyframes progress-pulse{0%{opacity:.28;transform:scale(.74)}to{opacity:1;transform:scale(1)}}.activity-section{margin-top:auto;padding-top:24px}.activity-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.activity-header h2{margin:0;font-family:var(--font-display);font-size:13px;font-weight:500}.activity-list{max-height:210px;margin:10px 0 0;padding:0;overflow:auto;list-style:none}.activity-item{padding:10px 0;border-bottom:1px solid var(--border);color:var(--muted);font-size:13px;line-height:1.42}.activity-item:last-child{border-bottom:0}.activity-item.user{color:var(--ink-soft);font-weight:560}.preview-area{position:relative;min-height:100dvh;background:#f4f4f266;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.device-frame{position:relative;width:100%;height:100dvh;overflow:hidden;background:#fff}.preview-window,.preview-iframe{width:100%;height:100%;border:0;background:#fff;padding-top:env(safe-area-inset-top,20px)}.preview-controls{position:absolute;z-index:30;top:max(6px,env(safe-area-inset-top));left:max(6px,env(safe-area-inset-left));display:flex;gap:6px}.floating-action{min-width:34px;min-height:34px;width:34px;height:34px;border:1px solid rgb(227 227 223 / .82);border-radius:50%;display:grid;place-items:center;background:#ffffffe0;color:var(--ink-soft);box-shadow:0 4px 12px #11111312;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.75;transition:opacity .16s ease}.floating-action:hover{opacity:1}.tool-dock{position:absolute;z-index:50;right:max(14px,calc(env(safe-area-inset-right) + 8px));bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px));padding:0;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.tool-button{width:42px;min-width:42px;height:42px;min-height:42px;border:1px solid rgb(227 227 223 / .94);border-radius:50%;display:grid;place-items:center;padding:0;background:#fffffff5;color:var(--ink-soft);box-shadow:0 8px 22px #11111321;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .16s var(--ease-out),background .16s var(--ease-out),box-shadow .16s var(--ease-out)}.tool-button.primary{border-color:transparent;background:var(--ink);color:#fff}.tool-dock.is-recording .tool-button.primary{background:var(--recording);box-shadow:0 0 0 6px #d93d421f,0 10px 25px #d93d423d;animation:floating-listen .95s ease-in-out infinite alternate}@keyframes floating-listen{0%{transform:scale(.97)}to{transform:scale(1.04)}}.preview-processing{position:absolute;z-index:25;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#ffffff80;pointer-events:none}.preview-processing span{padding:11px 14px;border-radius:12px;background:var(--ink);color:#fff;font-size:13px;font-weight:650;box-shadow:var(--shadow-sheet)}.edit-sheet-backdrop{position:absolute;z-index:40;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#1111132e}.edit-sheet{width:100%;max-height:calc(100dvh - 48px);padding:20px max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));overflow:auto;border-radius:22px 22px 0 0;background:#fff;box-shadow:var(--shadow-sheet)}.sheet-header{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-context{margin:0;color:var(--muted);font-size:13px}.draw-overlay{position:absolute;z-index:45;top:0;right:0;bottom:0;left:0;background:#ffffff0d}.draw-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair}.draw-controls{position:absolute;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));min-height:54px;padding:5px;border:1px solid rgb(227 227 223 / .94);border-radius:17px;display:flex;align-items:center;gap:4px;background:#fffffff5;box-shadow:0 10px 28px #1111131f}.draw-controls .primary-action{margin-left:auto}.draw-hint{position:absolute;left:50%;bottom:max(18px,calc(env(safe-area-inset-bottom) + 8px));width:max-content;max-width:calc(100% - 32px);margin:0;transform:translate(-50%);padding:10px 13px;border-radius:11px;background:var(--ink);color:#fff;font-size:13px;text-align:center;box-shadow:var(--shadow-sheet)}.draw-error{position:absolute;z-index:1;top:max(74px,calc(env(safe-area-inset-top) + 64px));left:50%;width:max-content;max-width:calc(100% - 32px);margin:0;transform:translate(-50%);padding:9px 12px;border-radius:11px;background:#fff4f4;color:var(--danger);font-size:13px;line-height:1.35;text-align:center;box-shadow:var(--shadow-sheet)}.offline-banner{position:fixed;z-index:80;top:max(8px,env(safe-area-inset-top));left:50%;max-width:calc(100% - 24px);transform:translate(-50%);min-height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgb(180 35 42 / .22);border-radius:12px;background:#fff;color:var(--danger);box-shadow:0 8px 24px #1111131a;font-size:13px;font-weight:620}.install-action{margin-top:12px}.deployment-screen{min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));overflow:hidden;background:radial-gradient(circle at 78% 12%,rgb(227 220 190 / .32),transparent 30%),linear-gradient(180deg,#fafaf7,#f4f4f0);color:var(--ink)}.deployment-topbar{width:min(1080px,100%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.deployment-back{margin-left:-11px}.deployment-content{width:min(720px,100%);margin:clamp(42px,8dvh,92px) auto 0;animation:deployment-enter .42s var(--ease-out) both}.deployment-content h1{max-width:650px;margin:18px 0 0;font-family:var(--font-display);font-size:clamp(38px,7vw,66px);font-weight:500;line-height:.96;letter-spacing:-.055em}.deployment-intro{max-width:520px;margin:16px 0 0;color:var(--muted);font-size:16px;line-height:1.55}.deployment-disclaimer{margin-bottom:38px;border:1px solid #dfc56d;border-radius:14px;padding:13px 15px;display:flex;align-items:center;gap:12px;background:#fff8d8;color:#5b4a12;box-shadow:0 8px 28px #604b0e0f;font-size:14px}.deployment-disclaimer strong{border-radius:999px;padding:4px 8px;background:#edd374;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.deployment-service-list{margin-top:38px;border-block:1px solid var(--border)}.deployment-service{min-height:82px;border-bottom:1px solid var(--border);display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;color:var(--muted);transition:color .18s var(--ease-out),opacity .18s var(--ease-out)}.deployment-service:last-child{border-bottom:0}.deployment-service-icon{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;background:#ffffffd1}.deployment-service-copy,.deployment-service-copy strong,.deployment-service-copy small{display:block}.deployment-service-copy strong{font-size:15px}.deployment-service-copy small{margin-top:4px;color:var(--muted);font-size:13px}.deployment-service-status{font-size:11px;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.deployment-service.is-active{color:var(--ink)}.deployment-service.is-active .deployment-service-icon{animation:deployment-pulse 1.2s ease-in-out infinite}.deployment-service.is-complete{color:#25734f}.deployment-service.is-complete .deployment-service-icon{border-color:#b8dcc9;background:#edf8f2}.deployment-service.is-pending{opacity:.52}.deployment-result{margin-top:30px;border:1px solid rgb(229 229 224 / .9);border-radius:18px;padding:20px;background:#ffffffe0;box-shadow:0 16px 40px #11111312;animation:deployment-result-enter .32s var(--ease-out) both}.deployment-result label{display:block;margin-bottom:9px;color:var(--muted);font-size:11px;font-weight:720;letter-spacing:.08em;text-transform:uppercase}.deployment-result p{margin:0;color:var(--ink-soft)}.deployment-result-status{padding:6px 0}.deployment-signin-note,.deployment-result-error{display:flex;align-items:center;justify-content:space-between;gap:12px}.deployment-signin-note{justify-content:flex-start;color:#25734f}.deployment-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.deployment-url-row input{min-width:0;min-height:44px;border:1px solid var(--border);border-radius:11px;padding:0 12px;background:var(--surface);color:var(--ink-soft);font:inherit}.deployment-open-link{text-decoration:none}@keyframes deployment-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes deployment-pulse{50%{transform:scale(.9);opacity:.56}}@keyframes deployment-result-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.deployment-screen{padding-inline:16px;overflow:auto}.deployment-topbar .quiet-label{display:none}.deployment-content{margin-top:42px}.deployment-disclaimer{align-items:flex-start}.deployment-service{grid-template-columns:42px minmax(0,1fr)}.deployment-service-status{display:none}.deployment-url-row{grid-template-columns:1fr}.deployment-url-row .primary-action,.deployment-url-row .text-action{width:100%}}@media(min-width:900px){body{background:var(--surface-strong)}.workspace{display:grid;grid-template-columns:minmax(320px,390px) minmax(480px,1fr);gap:16px;padding:16px}.workspace:not(.has-app){display:block;padding:0}.workspace:not(.has-app) .input-rail{min-height:100dvh;border-radius:0}.workspace:not(.has-app) .rail-inner{width:min(100%,620px);min-height:calc(100dvh - 40px)}.workspace:not(.has-app) .rail-content{padding-block:14px 20px}.input-rail,.preview-area{min-height:calc(100dvh - 32px);border-radius:24px;overflow:hidden}.input-rail{padding:20px}.rail-inner{min-height:calc(100dvh - 72px)}.rail-content{padding-block:34px 20px}.voice-copy h1{font-size:clamp(39px,4vw,50px)}.preview-area{display:grid;place-items:center;padding:18px}.device-frame{width:min(390px,calc((100dvh - 68px)/2));height:min(780px,calc(100dvh - 68px));min-width:330px;border:9px solid #161617;border-radius:42px;box-shadow:0 24px 60px #11111329}.preview-window{overflow:hidden;border-radius:32px}.edit-sheet-backdrop{border-radius:32px}.edit-sheet{border-radius:22px 22px 0 0}.mobile-only{display:none!important}}@media(max-width:899px){.workspace.has-app .input-rail{display:none}.workspace:not(.has-app) .preview-area{display:none}.activity-section{display:none}}@media(max-width:390px){.draw-controls .icon-action{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
