:root{--bg:#111318;--panel:#1a1d24;--line:#363a43;--muted:#a9aeb9;--lime:#c7fb50;--red:#ff7d83}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:#f5f5f0;font:16px Arial,Helvetica,sans-serif;height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:#242832;border:1px solid var(--line);border-radius:8px;padding:12px 16px;cursor:pointer;min-height:44px}button:hover{border-color:var(--lime)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.primary{background:var(--lime);color:var(--bg);font-weight:800;border-color:var(--lime)}a{color:inherit}header{padding:16px 4%;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:1px}.brand b{background:var(--lime);color:var(--bg);padding:7px;font-size:22px;border-radius:5px}main{width:100%;max-width:1400px;margin:auto;flex:1;min-height:0;padding:24px 4%;display:flex;flex-direction:column;justify-content:center}footer{padding:12px 4%;display:flex;justify-content:space-between;gap:8px;color:var(--muted);font:12px monospace;border-top:1px solid var(--line)}.welcome{max-width:780px;margin:auto;width:100%;max-height:100%;overflow:auto;padding:8px}.eyebrow{font:13px monospace;color:var(--muted);letter-spacing:1px}h1{font-size:clamp(44px,7vw,88px);line-height:1;letter-spacing:-3px;margin:24px 0}h1 span{color:var(--lime)}blockquote{border-left:3px solid var(--lime);margin:24px 0;padding:0 0 0 20px;font-size:22px;line-height:1.4}cite{display:block;font-size:14px;font-style:normal;color:var(--muted);margin-top:12px}.welcome p{line-height:1.5;color:var(--muted)}.start-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.welcome>small{color:var(--muted);font-size:14px}#desk{height:100%;display:flex;flex-direction:column;gap:14px;min-height:0}.stats{display:flex;align-items:center;gap:36px}.stats div{display:grid;gap:4px}.stats small{font:12px monospace;color:var(--muted)}.stats strong{font-size:22px}.stats button{margin-left:auto}.desktop{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;flex:1;min-height:0}.browser,.communication{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:0;background:var(--panel)}.window-bar{display:flex;justify-content:space-between;gap:8px;background:#242832;padding:12px 16px;font:12px monospace;color:var(--muted)}#store{flex:1;min-height:0;overflow:auto;background:#edf0f5;color:#17202c;padding:24px}.empty-store{display:grid;place-content:center;text-align:center;height:100%;color:#657082}.empty-store strong{font-size:48px;color:#b3bac7}.store-header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #cad0db;padding-bottom:16px}.store-header h2{margin:0;font-size:22px}.store-header span{font-size:13px}#store button{background:#182d54;color:white;border:0}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.product{background:white;border-radius:10px;padding:14px;min-width:0}.product-icon{font-size:44px;display:block;text-align:center;padding:10px;background:#f1f3f8;border-radius:6px}.product h3{font-size:16px;margin:14px 0 8px}.price{display:block;font-size:20px;font-weight:800;margin-bottom:12px}.product button{width:100%;font-size:14px;padding:10px}.giant-price .price{font-size:clamp(30px,4vw,64px);overflow-wrap:anywhere;color:#bd2350}.no-photos .product-icon{visibility:hidden}.store-status{padding:10px 14px;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}.cart-line{margin-top:16px;padding:12px;border:1px dashed #9ba8bc;border-radius:8px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px}.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs button{flex:1;border:0;border-radius:0;background:transparent;color:var(--muted)}.tabs [aria-selected=true]{color:var(--lime);box-shadow:inset 0 -2px var(--lime)}[role=tabpanel]{padding:18px;overflow:auto;min-height:0}.message{background:#292e39;padding:16px;border-radius:10px;line-height:1.5}.message small{font:12px monospace;color:var(--muted)}.message p{margin-bottom:0}.ai{border-left:3px solid var(--lime)}#clientActions,#aiActions{display:grid;gap:10px;margin-top:16px}#clientActions button,#aiActions button{text-align:left;font-size:14px}.toolbar{display:flex;gap:12px}.toolbar .primary{margin-left:auto}.feedback{min-height:42px;font-size:14px;color:var(--lime);line-height:1.4}.receipt{border:1px dashed var(--line);padding:20px;margin:20px 0;display:grid;grid-template-columns:1fr auto;gap:14px}.result-title{font-size:clamp(30px,5vw,52px);margin:20px 0;color:var(--lime)}.danger{color:var(--red)!important}#unread{color:var(--lime)}@media(max-width:760px){header{padding:10px 4%}.brand{font-size:12px;letter-spacing:0}.brand b{font-size:18px}header button{font-size:12px;padding:8px}main{padding:12px 4%}.stats{gap:16px}.stats strong{font-size:18px}.stats small{font-size:10px}.stats button{font-size:12px;padding:8px}.desktop{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,.8fr);gap:10px}#desk{gap:10px}#store{padding:12px}.products{gap:6px;margin-top:12px}.product{padding:8px}.product-icon{font-size:26px;padding:6px}.product h3{font-size:13px;margin:8px 0}.price{font-size:16px;margin-bottom:6px}.product button{font-size:12px;padding:8px;min-height:40px}.store-header{padding-bottom:8px}.store-header h2{font-size:17px}.store-header span{font-size:11px}.window-bar{padding:8px;font-size:10px}.store-status{font-size:12px;padding:6px 10px}[role=tabpanel]{padding:10px}.message{padding:10px;font-size:14px}.message p{margin:8px 0 0}#clientActions,#aiActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}#clientActions button,#aiActions button{padding:8px;font-size:12px}.tabs button{font-size:14px;padding:8px;min-height:36px}.toolbar{gap:6px}.toolbar button{font-size:12px;padding:8px}.feedback{min-height:36px;font-size:12px}.cart-line{margin-top:10px;padding:8px}.giant-price .price{font-size:32px}footer{font-size:10px;padding:8px 4%}blockquote{font-size:18px}.welcome p{font-size:14px}h1{margin:18px 0}}@media(max-height:620px) and (min-width:761px){main{padding:12px 4%}#store{padding:12px}.product-icon{font-size:28px;padding:4px}.product h3{margin:8px 0}.products{margin-top:12px}.stats strong{font-size:18px}header{padding:8px 4%}.welcome h1{font-size:48px;margin:12px 0}blockquote{margin:14px 0;font-size:18px}}@media(prefers-reduced-motion:no-preference){.giant-price .price{animation:pop .3s ease-out}.store-status{transition:color .2s}@keyframes pop{from{transform:scale(.7)}to{transform:scale(1)}}}

/* Audio and its transcript form one incoming chat bubble. */
.voice-note:not(:empty){margin-top:14px;padding:16px;background:#203b33;border:1px solid #3c5d50;border-radius:4px 14px 14px 14px;box-shadow:0 3px 8px #0002;display:grid;gap:8px;max-width:100%;min-width:0}
.voice-note button{display:flex;align-items:center;gap:10px;text-align:left;font-size:14px;border:0;background:transparent;padding:0;color:#f3fff8;min-height:44px}
.voice-note button::before{content:'▶';display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#a8e3bc;color:#173226;font-size:16px}
.voice-note button[aria-pressed=true]::before{content:'■'}
.voice-note button[aria-pressed=true]{color:#baf3cf}
.voice-status{color:#b3c9bd;font-size:12px}
.voice-transcript-label{display:block;border-top:1px solid #547565;padding-top:12px;margin-top:4px;font-size:12px;font-weight:700;color:#b3c9bd}
.voice-note .voice-transcript{font-size:14px;line-height:1.5;color:#f0f7f3;margin:0;overflow-wrap:anywhere}
@media(max-width:760px){.voice-note:not(:empty){margin-top:10px;padding:12px}.voice-transcript-label{padding-top:8px}}

.checkout-notice{margin-top:16px;padding:18px;border:2px solid;border-radius:10px;box-shadow:0 5px 16px #0002}.checkout-notice strong{display:block;font-size:20px;line-height:1.25}.checkout-notice p{font-size:16px;line-height:1.45;margin:10px 0 0}.checkout-error{background:#ffe2e5;border-color:#d2223a;color:#8d1022}.checkout-success{background:#def5e6;border-color:#278448;color:#14572d}.checkout-notice:focus{outline:none}@media(max-width:760px){.checkout-notice{padding:12px;margin-top:10px}.checkout-notice strong{font-size:17px}.checkout-notice p{font-size:14px;margin-top:6px}}

.shop-tools{padding:10px 14px;border-bottom:1px solid var(--line);background:#20242d;flex-wrap:wrap}.shop-tools button{padding:8px 14px;font-size:14px}.objective{padding:12px 16px;border-bottom:1px solid var(--line);background:#252b36;color:#e3eaf6;font-size:14px;line-height:1.4}.objective.ready{background:#243827;color:var(--lime)}.delivery-action{padding:12px;border-top:1px solid var(--line);margin-top:auto}.delivery-action button{width:100%;justify-content:center}.communication [role=tabpanel]{flex:1}.conversation-feedback{margin-top:12px;background:#263b32;border:1px solid #416650}.conversation-feedback p{font-size:14px;color:#edf7ef}.decision{margin-top:12px;background:#232e40;border:1px solid #3b506f}.decision p{font-size:14px}.ready-to-publish{box-shadow:0 0 0 2px #c7fb5040}.toolbar .primary{margin-left:0}@media(max-width:760px){.objective{padding:8px 10px;font-size:12px}.delivery-action{padding:8px}.delivery-action button{min-height:40px;padding:10px}.shop-tools{padding:6px 10px;gap:8px}.shop-tools button{min-height:36px;font-size:12px}.conversation-feedback,.decision{margin-top:8px}.desktop{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}}

.communication [role=tabpanel]{display:flex;flex-direction:column;overflow:hidden}.chat-messages{flex:1;min-height:0;overflow:auto;padding-bottom:4px}.communication #clientActions,.communication #aiActions{flex-shrink:0;max-height:45%;overflow:auto;border-top:1px solid var(--line);padding-top:10px}.communication #aiActions{grid-template-columns:repeat(2,minmax(0,1fr))}.communication #aiActions button{padding:10px}.shop-tools,.objective,.tabs,.delivery-action{flex-shrink:0}

@media(max-width:760px){.desktop{grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr)}}
.message p{overflow-wrap:anywhere}



/* A conversation has one scroll area, including its actions. */
.desktop{grid-template-columns:minmax(0,1fr) minmax(340px,36%)}
.communication [role=tabpanel]{display:block;overflow:auto;scrollbar-width:thin;scrollbar-color:#657082 transparent}
.chat-messages{overflow:visible;padding-bottom:0}
.communication #clientActions,.communication #aiActions{max-height:none;overflow:visible;border:0;padding-top:0;grid-template-columns:1fr}
.communication #aiActions button{padding:12px 16px}
.workspace-tabs{display:none}
@media(max-height:750px) and (min-width:761px){.objective{padding:8px 12px;font-size:13px}.delivery-action{padding:8px}[role=tabpanel]{padding:12px}.message{padding:12px}.message p{margin-top:8px}.decision{margin-top:8px}.stats{gap:24px}#desk{gap:10px}}
@media(max-width:760px){.workspace-tabs{display:flex;gap:6px;flex-shrink:0}.workspace-tabs button{flex:1;padding:8px;min-height:36px;font-size:14px}.workspace-tabs [aria-pressed=true]{border-color:var(--lime);color:var(--lime)}.desktop{display:flex;min-height:0}.desktop>.browser,.desktop>.communication{flex:1;min-width:0}.desktop[data-view=chat]>.browser,.desktop[data-view=store]>.communication{display:none}.communication [role=tabpanel]{padding:14px}.communication #clientActions,.communication #aiActions{grid-template-columns:1fr;gap:8px}.communication #clientActions button,.communication #aiActions button{font-size:14px;padding:12px;min-height:44px}.message{font-size:15px;line-height:1.5}.objective{font-size:13px}.products{gap:8px}.product h3{font-size:14px}}

/* Every scene fits its panel; overflow is never used as navigation. */
html{height:100%;overflow:hidden}header,footer{flex-shrink:0}main{overflow:hidden}
.welcome{height:100%;max-height:100%;overflow:hidden}
#store,.communication [role=tabpanel],.chat-messages{overflow:hidden}
.fit-content{display:flow-root;transform-origin:top left;min-width:0}
.communication #clientActions,.communication #aiActions{overflow:visible}
.message+.message{margin-top:10px}
#decisionBubble{display:none}
.result-content{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-items:start}
.result-content>.eyebrow,.result-content>.result-title,.result-content>p,.result-content>.start-actions{grid-column:1 / -1}
.result-content>.result-title{margin:0;font-size:clamp(28px,4vw,46px)}
.result-content>p{margin:0}.result-content>.receipt{margin:0;padding:16px;gap:12px}
.result-content>blockquote{margin:0;font-size:20px}.result-content>#resultVoice{grid-column:2;grid-row:4 / span 2;margin:0}
.result-content>.start-actions{margin:0;align-items:center}
@media(max-width:760px){.result-content{grid-template-columns:1fr;gap:10px}.result-content>*{grid-column:1!important;grid-row:auto!important}.result-content>blockquote{font-size:16px}.result-content>.receipt{padding:12px;gap:8px}.result-content>.result-title{font-size:28px}.result-content .voice-note{padding:10px}.result-content .start-actions{gap:10px}.result-content .start-actions button{font-size:14px;padding:10px}.voice-note:not(:empty){padding:10px;gap:5px}.voice-transcript-label{padding-top:6px}.communication [role=tabpanel]{padding:10px}.message{padding:10px}.message p{margin-top:6px}.communication #clientActions,.communication #aiActions{margin-top:10px;gap:6px}.communication #clientActions button,.communication #aiActions button{padding:10px}.objective{padding:6px 10px}header{padding:8px 4%}main{padding:8px 4%}footer{padding:6px 4%}}
@media(max-height:600px){header{padding:6px 4%}main{padding:8px 4%}footer{padding:5px 4%}.stats strong{font-size:17px}.stats button{min-height:34px;padding:6px 12px}.stats small{font-size:10px}.shop-tools{padding:6px 10px}.shop-tools button{min-height:34px;padding:6px 12px}.window-bar{padding:8px 12px}.tabs button{padding:6px;min-height:34px}.delivery-action{padding:6px}.delivery-action button{min-height:36px;padding:8px}.objective{padding:6px 10px;font-size:12px}}

/* Current requests and choices stay together at full reading size. */
.stats .project-update{flex:1;min-width:0;display:block;border:1px solid #416650;border-radius:8px;background:#263b32;padding:8px 12px}.project-update p{margin:4px 0 0;font-size:14px;line-height:1.35;color:#edf7ef}.stats .project-update small{font-size:10px}.stats button{margin-left:0}
.communication [role=tabpanel]{display:flex;flex-direction:column;gap:12px;padding:14px;overflow:hidden}
.chat-past{flex:1;min-height:0;overflow:hidden;display:flex;align-items:flex-end}.chat-past>.fit-content{flex-shrink:0}
.current-request{flex-shrink:0}.current-request .message{padding:12px;margin:0}.current-request .message p{font-size:16px;line-height:1.4;margin:6px 0 0}.current-request .message small{font-size:11px}
.communication #clientActions,.communication #aiActions{gap:8px;margin-top:10px}.communication #clientActions button,.communication #aiActions button{font-size:15px;line-height:1.3;padding:10px 12px;min-height:42px}
.chat-history .message{margin:0 0 10px;padding:10px;opacity:.8}.chat-history p{font-size:15px;line-height:1.4;margin:6px 0 0}.chat-past .voice-note:not(:empty){margin:0;padding:12px;gap:6px}.chat-past .voice-transcript{font-size:15px}.chat-past .voice-transcript-label{padding-top:8px}
.history-navigation{display:flex;gap:8px;margin-bottom:10px}.history-navigation button{font-size:12px;padding:6px 10px;min-height:32px}.chat-past:has(.voice-note:not(:empty)):not(.history-visible) .chat-history>.previous-message,.chat-past:has(.voice-note:not(:empty)):not(.history-visible) .history-navigation{display:none}.history-visible .voice-note{display:none}.history-toggle{font-size:12px;padding:6px 10px;min-height:32px;margin-bottom:8px}
@media(max-width:1000px){.stats{gap:16px}.stats .project-update{padding:6px 10px}.project-update p{font-size:13px}}
@media(max-width:760px){.stats{flex-wrap:wrap;gap:8px 16px}.stats .project-update{order:5;flex-basis:100%;padding:6px 10px}.stats .project-update small{display:none}.stats .project-update p{margin:0}.stats button{margin-left:auto}.communication [role=tabpanel]{padding:10px;gap:8px}.current-request .message p{font-size:16px}.communication #clientActions,.communication #aiActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.communication #clientActions button,.communication #aiActions button{font-size:14px}.chat-past .voice-note:not(:empty){padding:10px}.chat-past .voice-transcript-label{padding-top:6px}}
@media(max-height:650px){.communication [role=tabpanel]{gap:8px;padding:10px}.current-request .message{padding:10px}.communication #clientActions,.communication #aiActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.communication #clientActions button,.communication #aiActions button{min-height:38px;font-size:14px;padding:8px}.chat-past .voice-note:not(:empty){padding:8px}.chat-past .voice-transcript-label{padding-top:6px}.chat-past .voice-status{display:none}}
