/* Base application layout */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:var(--font-base)/1.5 var(--font-family)}
button,input,textarea,select{font:inherit;color:inherit}
button,a,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0;background:transparent}
button:disabled{opacity:.55;cursor:wait}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:calc(2 * var(--line)) solid var(--mint);outline-offset:var(--space-1)}
a{color:inherit}h1,h2,h3,p{margin:0}svg{display:block;width:var(--icon-size);height:var(--icon-size);flex-shrink:0}
.hidden{display:none!important}.muted,.hint{color:var(--muted)}.hint{font-size:var(--font-sm)}
.eyebrow{font-size:var(--font-xs);letter-spacing:.12em;color:var(--subtle);font-weight:600}
.mark{font-size:var(--font-display);font-weight:400}.primary{background:var(--text);color:var(--on-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);text-decoration:none;font-weight:600;display:inline-block}
.login{max-width:40rem;margin:auto;min-height:100dvh;padding:14vh var(--space-8) var(--space-10);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-6)}
.login h1{font-size:clamp(2.5rem,7vw,3.875rem);font-weight:550;line-height:1.12;letter-spacing:-.045em}.login-footer{margin-top:auto;padding-top:var(--space-12);color:var(--subtle);font-size:var(--font-xs)}.login-footer span{margin:0 var(--space-3)}
.workspace{height:100dvh;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}
aside{background:var(--panel);border-right:var(--line) solid var(--border);display:flex;flex-direction:column;min-height:0;padding-top:var(--space-6)}
.brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-5);min-height:var(--target)}.brand strong{font-size:var(--font-lg);font-weight:550}.chevron{font-size:var(--font-md);color:var(--muted);margin-left:var(--space-2)}
.avatars{display:inline-flex;align-items:center;gap:var(--space-1);margin-left:auto}.avatars i{display:inline-flex;background:var(--surface-hover);width:var(--space-8);height:var(--space-8);align-items:center;justify-content:center;font-size:var(--font-md);font-style:normal;border-radius:var(--radius-pill);color:var(--text)}
.dot{display:inline-block;width:.65rem;height:.65rem;flex-shrink:0;border-radius:var(--radius-pill);background:var(--mint)}
.project{margin:var(--space-3) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.project strong{font-size:var(--font-sm);font-weight:500;color:var(--muted)}.project small{display:none}
.list-heading{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-5);margin-bottom:var(--space-3)}.list-heading h1{font-size:var(--font-title);font-weight:650;letter-spacing:-.025em}
.new-chat{width:var(--target);height:var(--target);font-size:1.75rem;line-height:1;display:grid;place-items:center;background:var(--surface);border:var(--line) solid var(--border);border-radius:var(--radius-md)}.new-chat:hover{background:var(--surface-hover)}
.search{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:0 var(--space-5) var(--space-3);background:var(--surface);border:var(--line) solid var(--border);border-radius:var(--radius-lg);min-height:3.125rem}.search svg{color:var(--muted)}.search input{background:none;border:0;color:var(--text);width:100%;font-size:var(--font-md);outline:none;min-width:0}.search input::placeholder{color:var(--muted)}
#chat-list{overflow:auto;flex:1;min-height:0;padding:0 var(--space-2)}.date-group{color:var(--muted);font-size:var(--font-sm);padding:var(--space-4) var(--space-3) var(--space-2)}
.chat-row{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-2);text-align:left;width:100%;border-radius:var(--radius-md);align-items:center;margin-bottom:var(--space-1)}.chat-row:hover{background:var(--surface)}.chat-row.active{background:var(--surface-active)}
.chat-icon{color:var(--text);display:grid;place-items:center;flex-shrink:0;width:var(--space-12);height:var(--space-12);background:var(--surface-hover);border:var(--line) solid var(--border);border-radius:var(--radius-lg)}
.chat-info{min-width:0;flex:1}.chat-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:var(--font-md)}.chat-info small{color:var(--muted);font-size:var(--font-sm);display:block;margin-top:var(--space-1)}.row-state{font-size:var(--font-lg);color:var(--mint);padding-right:var(--space-2)}
.sidebar-bottom{border-top:var(--line) solid var(--border);padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-xs);white-space:nowrap}.sidebar-bottom small{margin-left:auto;color:var(--muted);font-size:var(--font-xs)}
.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);border-top:var(--line) solid var(--border);padding:var(--space-2) var(--space-2) max(var(--space-3),env(safe-area-inset-bottom));gap:var(--space-1)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:3.5rem;color:var(--muted);font-size:var(--font-xs)}.bottom-nav button.selected{color:var(--text)}.bottom-nav button.selected svg{fill:var(--text);stroke:var(--on-light)}
main{display:flex;flex-direction:column;min-width:0;min-height:0}header{min-height:5.125rem;flex-shrink:0;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6)}header>div{min-width:0}header h2{font-size:var(--font-lg);font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}header p{font-size:var(--font-sm);color:var(--muted);margin-top:var(--space-1);display:flex;align-items:center;gap:var(--space-2)}header .avatars{margin:0;gap:0}header .avatars i{width:1.375rem;height:1.375rem;font-size:var(--font-xs);border:var(--line) solid var(--bg);margin-left:-.125rem}.header-chat-icon{display:flex;color:var(--muted)}
.badge{margin-left:auto;font-size:var(--font-xs);background:var(--surface);border:var(--line) solid var(--border);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);white-space:nowrap}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:0 var(--space-6);gap:var(--space-6);border-bottom:var(--line) solid var(--border);flex-shrink:0}.tabs button{min-height:var(--target);padding:var(--space-3) 0;color:var(--muted);font-size:var(--font-sm);border-bottom:calc(2 * var(--line)) solid transparent;white-space:nowrap}.tabs button.selected{color:var(--text);border-bottom-color:var(--text)}.change-count{background:var(--surface-hover);border-radius:var(--radius-pill);display:inline-flex;min-width:1.4rem;justify-content:center;font-size:var(--font-xs);margin-left:var(--space-1)}
.content{overflow:auto;flex:1;min-height:0;padding:var(--space-6) max(var(--space-6),calc((100% - var(--message-width))/2));scroll-behavior:smooth}
.welcome{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8) 0 var(--space-12);gap:var(--space-4)}.welcome h1{font-size:2rem;font-weight:550;letter-spacing:-.035em}.welcome>p{font-size:var(--font-sm);color:var(--muted)}.suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);width:100%;margin-top:var(--space-5)}.suggestions button{border:var(--line) solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--font-sm);text-align:left;display:flex;gap:var(--space-2);justify-content:space-between}.suggestions button:hover{background:var(--surface)}
.composer-area{padding:0 max(var(--space-5),calc((100% - var(--message-width))/2)) max(var(--space-3),env(safe-area-inset-bottom));flex-shrink:0}#composer{display:flex;align-items:center;gap:var(--space-3);border:var(--line) solid var(--border);background:var(--surface);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);min-height:3.375rem}textarea{flex:1;min-width:0;background:none;border:0;color:var(--text);resize:none;max-height:10rem;outline:none;font-size:var(--font-base);line-height:1.5}textarea::placeholder{color:var(--muted)}
#send{width:var(--target);height:var(--target);flex-shrink:0;background:var(--muted);color:var(--on-light);border-radius:var(--radius-pill);display:grid;place-items:center}#send:hover{background:var(--text)}
.composer-controls{padding:var(--space-2) var(--space-2) 0;min-height:var(--target);display:flex;align-items:center;justify-content:center}.selects{display:flex;align-items:center;gap:var(--space-1);min-width:0;flex-wrap:wrap;width:100%}.selects svg{width:1.125rem;height:1.125rem;color:var(--muted)}select{border:0;background:var(--bg);color:var(--muted);font-size:var(--font-sm);padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);min-height:var(--target);max-width:12rem;min-width:0}.control-divider{height:var(--space-5);width:var(--line);background:var(--border);margin:0 var(--space-2)}#effort{font-size:var(--font-xs);margin-left:auto;max-width:5.25rem}
.composer-foot{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--font-xs);color:var(--subtle);margin:var(--space-1) var(--space-2) 0}.activity{display:flex;justify-content:space-between;align-items:center;min-height:var(--target);color:var(--mint);font-size:var(--font-sm);border-top:var(--line) solid var(--border);margin-bottom:var(--space-2)}.activity span{display:flex;gap:var(--space-2);align-items:center}.activity button{font-size:var(--font-sm);color:var(--muted);min-height:var(--target)}
.message{margin-bottom:var(--space-6);max-width:100%;overflow-wrap:anywhere;display:flex;gap:var(--space-3)}.message-body{min-width:0;max-width:100%}.message .meta{font-size:var(--font-sm);color:var(--muted);margin-bottom:var(--space-1)}.message.user{margin-left:18%;justify-content:flex-end}.message.user .meta{text-align:right}.message .text{white-space:pre-wrap;line-height:1.55;font-size:var(--font-base);padding:var(--space-3);background:var(--surface);border-radius:var(--radius-md)}.message.assistant .text{background:var(--surface);border:var(--line) solid var(--border)}.message.system{border-left:calc(2 * var(--line)) solid var(--warning-text);padding-left:var(--space-3);color:var(--warning-text)}.speaker-icon{display:grid;place-items:center;flex-shrink:0;border:var(--line) solid var(--subtle);border-radius:var(--radius-sm);width:var(--space-10);height:var(--space-10);margin-top:var(--space-6)}.speaker-icon svg{width:var(--space-6);height:var(--space-6)}
.stages{border:var(--line) solid var(--border);border-radius:var(--radius-sm);margin:0 0 var(--space-6) calc(var(--space-10) + var(--space-3));overflow:hidden}.stage:not(:last-child){border-bottom:var(--line) solid var(--border)}.stage summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);font-size:var(--font-sm);cursor:pointer;list-style:none}.stage summary::-webkit-details-marker{display:none}.stage-check{font-size:var(--font-xs);display:grid;place-items:center;width:1.25rem;height:1.25rem;color:var(--muted)}.stage-check.done{background:var(--mint);color:var(--mint-ink);border-radius:var(--radius-pill)}.stage-chevron{margin-left:auto;color:var(--muted)}.stage p{font:var(--font-xs)/1.5 var(--font-mono);color:var(--muted);padding:0 var(--space-3) var(--space-3);overflow-wrap:anywhere}
.empty{padding:var(--space-12) var(--space-3);text-align:center;color:var(--muted)}.empty h3{font-weight:550;color:var(--text);font-size:var(--font-lg);margin-bottom:var(--space-3)}.empty p{max-width:30rem;margin:auto;font-size:var(--font-sm);line-height:1.7}.list-item{display:flex;gap:var(--space-3);text-align:left;align-items:center;width:100%;border-bottom:var(--line) solid var(--border);padding:var(--space-4) var(--space-1);min-height:var(--target)}.list-item>span:last-child{margin-left:auto}.file-text{white-space:pre-wrap;font:var(--font-sm)/1.65 var(--font-mono);overflow-wrap:anywhere}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.toolbar button{min-height:var(--target);padding:var(--space-2) var(--space-3);border:var(--line) solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-sm)}.toolbar h3{font-size:var(--font-md);font-weight:500}.skill{padding:var(--space-5) 0;border-bottom:var(--line) solid var(--border)}.skill p{font-size:var(--font-sm);color:var(--muted);margin-top:var(--space-2)}.skill strong{font-weight:500}.settings-info{padding:var(--space-8) 0}.settings-info h3{margin:var(--space-2) 0}.settings-info p{font-size:var(--font-sm);color:var(--muted);margin-bottom:var(--space-4)}
.preview-content{padding:0}.preview-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:var(--line) solid var(--border)}.preview-toolbar>button,.preview-toolbar>a{width:var(--target);height:var(--target);display:grid;place-items:center;border-radius:var(--radius-sm);text-decoration:none}.preview-toolbar>button{margin-left:auto}.viewport-toggle{display:flex;border:var(--line) solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1)}.viewport-toggle button{width:var(--target);height:var(--space-8);display:grid;place-items:center;border-radius:var(--radius-sm)}.viewport-toggle button.selected{background:var(--surface-hover)}.preview-canvas{max-width:26rem;margin:auto}.preview-canvas.wide{max-width:none}.artifact{width:100%;display:block}.preview-status{border-top:var(--line) solid var(--border);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);font-size:var(--font-sm)}.preview-status small{margin-left:auto;font-size:var(--font-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;max-width:45%;white-space:nowrap}.preview-empty{min-height:22rem;display:flex;flex-direction:column;justify-content:center;align-items:center}.preview-empty>svg{width:var(--space-12);height:var(--space-12);margin-bottom:var(--space-6);color:var(--subtle)}.preview-ready{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-8);font-size:var(--font-sm);color:var(--mint)}
.notice{padding:var(--space-3) var(--space-6);font-size:var(--font-sm);color:var(--warning-text);background:var(--warning-bg)}.toast{position:fixed;bottom:var(--space-6);left:50%;transform:translateX(-50%);padding:var(--space-3) var(--space-5);border:var(--line) solid var(--subtle);background:var(--surface-hover);color:var(--text);border-radius:var(--radius-md);box-shadow:0 var(--space-2) var(--space-10) var(--overlay);max-width:90%;z-index:50;font-size:var(--font-sm)}.mobile{display:none}
@media(max-width:47.5em){
 .workspace{display:block}aside{position:static;height:100dvh;width:100%;border-right:0;padding-top:var(--space-4)}.workspace main{display:none;height:100dvh}.workspace.show-main aside{display:none}.workspace.show-main main{display:flex}.mobile{display:grid;place-items:center;width:var(--space-8);height:var(--target);padding:0;flex-shrink:0}.brand{padding:0 var(--space-5);min-height:var(--space-12)}.brand>span[data-icon] svg{width:1.75rem;height:1.75rem}.brand strong{font-size:var(--font-lg)}.project{margin-top:var(--space-1);margin-bottom:var(--space-6)}.project strong{font-size:var(--font-sm)}.list-heading{margin-bottom:var(--space-3)}.search{margin-bottom:var(--space-3)}#chat-list{padding:0 var(--space-2)}.date-group{padding-top:var(--space-4);padding-bottom:var(--space-2);font-size:var(--font-sm)}.chat-row{padding:var(--space-3) var(--space-2);gap:var(--space-3);min-height:5rem}.chat-info strong{font-size:var(--font-lg)}.chat-info small{font-size:var(--font-base)}.sidebar-bottom{font-size:var(--font-sm);padding:var(--space-4) var(--space-5)}.sidebar-bottom small{font-size:var(--font-xs)}.bottom-nav{padding-top:var(--space-2);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}.bottom-nav button{font-size:var(--font-xs);gap:var(--space-2)}
 header{min-height:5.25rem;padding:var(--space-3) var(--space-4);gap:var(--space-2)}header h2{font-size:var(--font-lg);max-width:17rem}.header-chat-icon{display:none}header p{font-size:var(--font-xs)}.badge{display:none}.tabs{padding:0 var(--space-5);gap:var(--space-5)}.tabs button{font-size:var(--font-sm);min-height:var(--target)}.content{padding:var(--space-4) var(--space-4)}.content.preview-content{padding:0}.composer-area{padding:0 var(--space-4) max(var(--space-2),env(safe-area-inset-bottom))}.composer-controls{padding-top:var(--space-1)}.composer-foot{display:none}.selects{flex-wrap:nowrap;gap:var(--space-1)}select{font-size:var(--font-sm);max-width:8.75rem}#effort{max-width:4rem;font-size:var(--font-xs)}.control-divider{margin:0 var(--space-1)}.selects>span[data-icon] svg{width:1.125rem;height:1.125rem}#mode{max-width:5.5rem}.message.user{margin-left:22%}.message{gap:var(--space-2);margin-bottom:var(--space-5)}.message .meta{font-size:var(--font-sm)}.message .text{font-size:var(--font-base);padding:var(--space-2) var(--space-3)}.speaker-icon{width:var(--space-8);height:var(--space-8);margin-top:var(--space-6)}.speaker-icon svg{width:var(--space-5);height:var(--space-5)}.stages{margin-left:var(--space-10)}.stage summary{font-size:var(--font-xs);padding:var(--space-2)}.welcome{padding-top:var(--space-6)}.welcome h1{font-size:var(--font-title)}.suggestions{grid-template-columns:1fr;max-width:22rem;margin-top:var(--space-4)}.suggestions button{padding:var(--space-4)}.preview-toolbar{padding:var(--space-2) var(--space-4)}.login{padding-top:12vh}
}
@media(max-width:22em){.chat-info strong{font-size:var(--font-md)}.chat-info small{font-size:var(--font-sm)}.selects>span[data-icon]{display:none}#model{max-width:8rem}.sidebar-bottom small{display:none}header h2{max-width:14rem}.message.user{margin-left:12%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.preview-canvas.live{height:calc(100% - 8rem);min-height:24rem}.preview-canvas iframe{border:0;width:100%;height:100%;background:var(--text);display:block}.preview-status a{margin-left:auto;font-size:var(--font-xs);text-decoration:none;min-height:var(--target);display:flex;align-items:center}.viewport-toggle button{height:var(--target)}
html:has(.workspace:not(.hidden)),body:has(.workspace:not(.hidden)){height:100%;overflow:hidden;overscroll-behavior:none}
.workspace{height:var(--app-height,100dvh)}
.chat-attachment{margin:0 0 var(--space-5) calc(var(--space-10) + var(--space-3));padding:var(--space-2);border:var(--line) solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.chat-attachment>a{display:block}.chat-attachment img{width:100%;height:auto;max-height:24rem;object-fit:cover;object-position:top;display:block;border-radius:var(--radius-sm);background:var(--panel)}.chat-attachment figcaption{display:flex;gap:var(--space-2);align-items:center;justify-content:space-between;font-size:var(--font-xs);color:var(--muted);padding-top:var(--space-2)}.chat-attachment figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chat-attachment figcaption a{white-space:nowrap;min-height:var(--target);display:flex;align-items:center;text-decoration:none}
@media(max-width:47.5em){aside,.workspace main{height:var(--app-height,100dvh)}.content{overscroll-behavior:contain}.composer-area{background:var(--bg)}.selects{display:grid;grid-template-columns:1.125rem minmax(0,1fr) 3.6rem var(--line) 1.125rem 5rem;gap:var(--space-1)}.selects select{max-width:100%;width:100%;text-overflow:ellipsis;overflow:hidden}#effort{margin:0}.control-divider{margin:0}#composer{min-height:3.25rem}.chat-attachment{margin-left:var(--space-10)}header{min-height:var(--space-16)}.message .text{overflow-wrap:anywhere}}
@media(max-width:22em){.selects{grid-template-columns:minmax(0,1fr) 3.4rem var(--line) 5rem}.chat-attachment{margin-left:0}}
#attach,#microphone{display:grid;place-items:center;width:var(--target);height:var(--target);flex-shrink:0;color:var(--muted)}#composer{gap:var(--space-1);padding-left:var(--space-1)}#microphone[aria-pressed=true]{color:var(--mint);background:var(--mint-ink);border-radius:var(--radius-pill)}.recording-status{padding:var(--space-2) var(--space-1);color:var(--mint);font-size:var(--font-sm)}.pending-files{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-2) 0}.pending-file{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:var(--line) solid var(--border);border-radius:var(--radius-md);background:var(--surface);max-width:16rem;flex-shrink:0}.pending-file img{width:var(--space-10);height:var(--space-10);object-fit:cover;border-radius:var(--radius-sm)}.pending-file>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-xs)}.pending-file button{min-width:var(--target);min-height:var(--target);font-size:var(--font-lg)}.user-upload{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);margin-top:var(--space-2);border:var(--line) solid var(--border);border-radius:var(--radius-md);text-decoration:none;font-size:var(--font-xs);color:var(--muted)}.user-upload img{width:100%;height:auto;max-height:18rem;object-fit:cover;object-position:top;border-radius:var(--radius-sm)}
.toast{top:var(--space-4);bottom:auto;width:max-content;max-width:calc(100% - var(--space-8));text-align:center}
.brand #project-switch{display:flex;align-items:center;gap:var(--space-3);padding:0;min-height:var(--target);min-width:0;text-align:left}.brand #project-switch .chevron{margin-left:var(--space-1)}.chevron svg{width:var(--space-4);height:var(--space-4)}.brand .avatars{flex-shrink:0}.project strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-info{flex:1;min-width:0}.header-info #chat-project-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:22rem}.icon-button{display:grid;place-items:center;flex-shrink:0;min-width:var(--target);min-height:var(--target);border-radius:var(--radius-sm);color:var(--muted)}.icon-button:hover{background:var(--surface-hover);color:var(--text)}.icon-button:disabled{opacity:.4}.chat-row{gap:0;padding-inline:var(--space-2)}.chat-open{display:flex;align-items:center;gap:var(--space-3);min-width:0;flex:1;text-align:left;padding:0;min-height:var(--target)}.chat-menu{min-width:var(--space-8);width:var(--space-8);min-height:var(--target)}.chat-menu svg{width:var(--space-5);height:var(--space-5)}.row-state:empty{display:none}.row-state{padding-right:0}.chat-info strong{font-size:var(--font-md)}
.sheet{border:var(--line) solid var(--border);border-radius:var(--radius-lg);background:var(--panel);color:var(--text);padding:0;width:min(30rem,calc(100% - var(--space-8)));max-height:calc(var(--app-height,100dvh) - var(--space-8));margin:auto;box-shadow:0 var(--space-5) var(--space-16) var(--overlay);overflow:auto}.sheet::backdrop{background:var(--overlay);backdrop-filter:blur(.2rem)}.sheet-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-2)}.sheet-heading h2{font-size:var(--font-title);font-weight:600;letter-spacing:-.025em}.sheet-heading .eyebrow{display:block;margin-bottom:var(--space-1)}.sheet-description{font-size:var(--font-sm);color:var(--muted);padding:0 var(--space-5) var(--space-5);line-height:1.6}.project-search{margin-bottom:var(--space-2)}#project-list{max-height:22rem;overflow:auto;padding:0 var(--space-2) var(--space-2)}.project-option{width:100%;display:flex;align-items:center;gap:var(--space-3);text-align:left;padding:var(--space-3);border-radius:var(--radius-md);min-height:var(--space-16)}.project-option:hover{background:var(--surface)}.project-option.selected{background:var(--surface-active)}.project-option-icon{width:var(--space-10);height:var(--space-10);display:grid;place-items:center;background:var(--surface-hover);border-radius:var(--radius-md);flex-shrink:0}.project-option-text{flex:1;min-width:0}.project-option-text strong{font-size:var(--font-base);font-weight:550;display:block;overflow-wrap:anywhere}.project-option-text small{display:block;font-size:var(--font-xs);color:var(--muted);margin-top:var(--space-1)}.project-check{color:var(--mint);padding-inline:var(--space-2)}.sheet-footer{padding:var(--space-4) var(--space-5) var(--space-5);border-top:var(--line) solid var(--border)}.wide-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--target)}.field-label{display:block;font-size:var(--font-sm);font-weight:550;margin:0 var(--space-5) var(--space-2)}.name-input{display:block;width:calc(100% - var(--space-10));margin:0 var(--space-5);background:var(--surface);color:var(--text);border:var(--line) solid var(--subtle);border-radius:var(--radius-md);min-height:3.125rem;padding:var(--space-3);font-size:var(--font-md)}.field-error{min-height:var(--space-6);margin:var(--space-2) var(--space-5);font-size:var(--font-sm);color:var(--warning-text)}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-2) var(--space-5) var(--space-5)}.form-actions button{min-height:var(--target)}.secondary{border:var(--line) solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-5);background:var(--surface)}.secondary:hover{background:var(--surface-hover)}.welcome-icon svg{width:var(--space-12);height:var(--space-12);color:var(--muted)}
.name-sheet form{width:100%;max-width:100%;min-width:0}.sheet-heading h2{min-width:0;overflow-wrap:anywhere}.form-actions{width:100%;min-width:0;max-width:100%}.form-actions button{min-width:0;max-width:100%;white-space:normal}
@media(max-width:47.5em){.form-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.form-actions button{width:100%;padding-inline:var(--space-3)}}
@media(max-width:47.5em){.sheet{width:100%;max-width:100%;margin:auto 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:0;max-height:calc(var(--app-height,100dvh) - var(--space-4));padding-bottom:env(safe-area-inset-bottom)}.sheet-heading h2{font-size:1.375rem}.chat-info strong{font-size:var(--font-lg)}.chat-row{padding-inline:var(--space-2)}.chat-open{gap:var(--space-3)}header h2{max-width:none}.header-info #chat-project-label{max-width:none}.header-info{overflow:hidden}#rename-chat{margin-left:auto}.brand #project-switch{gap:var(--space-2)}.chat-menu{min-width:var(--target);width:var(--target)}.row-state{font-size:var(--font-md)}.chat-info small{font-size:var(--font-sm)}#project-list{max-height:45vh}}
@media(max-width:22em){.brand #project-switch strong{font-size:var(--font-md)}.brand{gap:var(--space-2)}.chat-info strong{font-size:var(--font-md)}.chat-open{gap:var(--space-2)}.chat-icon{width:var(--space-10);height:var(--space-10)}.chat-info small{font-size:var(--font-xs)}.form-actions{gap:var(--space-2)}.form-actions button{padding-inline:var(--space-4)}}
#media-viewer{border:var(--line) solid var(--border);padding:0;background:var(--bg);color:var(--text);width:min(70rem,100%);max-width:100%;height:var(--app-height,100dvh);max-height:100%;margin:auto}#media-viewer::backdrop{background:var(--overlay)}.viewer-toolbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-bottom:var(--line) solid var(--border)}.viewer-toolbar>span{font-size:var(--font-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-toolbar button{margin-left:auto;min-width:var(--target);min-height:var(--target);font-size:var(--font-title)}.viewer-canvas{overflow:auto;height:calc(100% - 4rem);touch-action:pan-x pan-y pinch-zoom}.viewer-canvas img{width:100%;height:auto;display:block}
@media(forced-colors:active){button,select,textarea{border:var(--line) solid ButtonText}.dot{background:Highlight}.chat-row.active{outline:var(--line) solid Highlight}.message .text{border:var(--line) solid CanvasText}}

@media (forced-colors: active) {
  :root {
    --bg: Canvas;
    --panel: Canvas;
    --surface: Canvas;
    --surface-hover: Canvas;
    --surface-active: Canvas;
    --border: CanvasText;
    --text: CanvasText;
    --muted: CanvasText;
    --subtle: CanvasText;
    --mint: Highlight;
    --mint-ink: HighlightText;
    --warning-bg: Canvas;
    --warning-text: CanvasText;
    --on-light: Canvas;
  }
}
