:root{--paper:#f5f2ea;--paper-raised:#fbfaf6;--ink:#191816;--ink-soft:#5d5a54;--ink-faint:#5d5a54;--line:#d7d1c5;--line-strong:#a8a197;--signal:#0f5c4c;--signal-deep:#0f5c4c;--selection:#c8e4da;--margin-ink:#7d3327;--field:#eef2ea;--cp-read:100%;--sans:var(--font-sans);--mono:'JetBrains Mono',monospace;--text-size:22px;--control-size:18px;--record:#a12520}
[data-theme=dark]{color-scheme:dark;--paper:#111815;--paper-raised:#18221d;--ink:#ece8df;--ink-soft:#c1c5ba;--ink-faint:#c1c5ba;--line:#47584d;--line-strong:#6f8174;--signal:#8ad9bf;--signal-deep:#8ad9bf;--selection:#263d33;--margin-ink:#dda285;--field:#19261f;--record:#ff9f95}
*{box-sizing:border-box;border-radius:0!important}body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--text-size)/1.5 var(--body-font-family);letter-spacing:var(--body-tracking)}header{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;padding:16px 22px 12px;gap:8px;border-bottom:1px solid var(--line)}button,select{font:400 var(--control-size)/1.3 var(--font-sans);color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);padding:8px 12px;cursor:pointer}select{max-width:230px;height:44px}label{font:400 var(--control-size)/1.3 var(--font-sans);display:flex;align-items:center;gap:5px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--margin-ink)}.view-tools{display:flex;gap:5px}.view-tools button{padding:6px 10px}.cp-composer{padding:18px 22px;gap:10px}.chat-panel .cp-field{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:12px;background:var(--field);border:1px solid var(--margin-ink)}.chat-panel .cp-field>textarea{font:400 var(--text-size)/1.5 var(--body-font-family);letter-spacing:var(--body-tracking);width:100%;min-height:80px;max-height:260px;padding:4px;background:transparent;color:var(--ink);resize:none}.chat-panel .cp-field-toolbar{display:flex;align-items:center;gap:6px;padding:0;flex-wrap:wrap}.chat-panel .cp-field-toolbar>.cp-field-btn{width:auto;height:56px;min-width:44px;padding:0 9px;font-size:var(--control-size);gap:6px;color:var(--ink);border:1px solid transparent}.chat-panel .cp-field-toolbar>.field-spacer{display:block;flex:1}.chat-panel .cp-field-toolbar>.cp-field-mic{min-width:112px;border:1px solid var(--margin-ink);color:var(--margin-ink)}.chat-panel .cp-field-toolbar>.cp-field-send{background:var(--margin-ink);color:var(--paper);min-width:90px;height:56px}.cp-field-refine{color:var(--signal)!important}.chat-panel .cp-field-toolbar>.cp-field-refine-undo{width:44px}.cp-field-btn:hover:not(:disabled),button:hover:not(:disabled){background:var(--selection)}.composer-foot{display:flex;justify-content:space-between;gap:10px;color:var(--ink-soft);font-size:18px}.composer-foot>span{margin-left:auto}.state-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-height:36px}#phase{font:400 18px/1.4 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--margin-ink)}#elapsed{font:18px 'JetBrains Mono',monospace}#level{width:140px;height:24px}#status{margin:0;color:var(--ink-soft);font-size:18px;white-space:pre-wrap}#final{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-size);margin:8px 0}summary{font-size:18px;cursor:pointer}#attachments{font-size:18px;overflow-wrap:anywhere}#attachments:empty{display:none}[hidden]{display:none!important}button:disabled{opacity:.5;cursor:default}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}body[data-phase=recording] #phase,body[data-phase=recording] #mic{color:var(--record)}body[data-phase=recording] #mic{border-color:var(--record);animation:record-pulse 1.2s ease-in-out infinite}body[data-phase=refining] #phase,body[data-phase=sent] #phase{color:var(--signal)}body[data-phase=error] #phase{color:var(--record)}@keyframes record-pulse{50%{background:var(--selection)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
html,body{height:100%;overflow:hidden}body{display:flex;flex-direction:column}.titlebar{display:flex;align-items:center;gap:8px;padding:6px 18px;flex:none;border-bottom:1px solid var(--line);font:400 22px/1.2 var(--font-serif);min-height:40px}.titlebar>span{flex:1}.titlebar button{font-size:18px;padding:2px 8px;min-height:30px}header{padding:10px 18px;flex:none;gap:8px}select{max-width:180px;font-size:18px}header label{font-size:18px}.view-tools{margin-left:auto}.view-tools button{min-width:40px}.cp-composer{flex:1;min-height:0;padding:12px 18px 16px;overflow:auto;gap:8px}.cp-field{flex:1;min-height:150px}.chat-panel .cp-field>textarea{flex:1;min-height:55px;max-height:none;height:100%!important}.chat-panel .cp-field-toolbar{flex:none;gap:4px;flex-wrap:wrap}.chat-panel .cp-field-toolbar>.cp-field-btn{min-width:40px;padding:0 7px}.chat-panel .cp-field-toolbar>.cp-field-mic{min-width:104px}.composer-foot{flex:none;font-size:18px}.state-line{flex:none}#status{flex:none;font-size:18px;line-height:1.35}#last{flex:none;max-height:120px;overflow:auto}.resize-grip{position:fixed;bottom:0;right:0;width:26px;height:26px;cursor:se-resize;color:var(--ink-soft);z-index:10;user-select:none;font-size:22px;text-align:right}.resize-edge{position:fixed;z-index:9}.east{right:0;top:40px;bottom:26px;width:7px;cursor:e-resize}.south{bottom:0;left:0;right:26px;height:7px;cursor:s-resize}.west{left:0;top:40px;bottom:7px;width:7px;cursor:w-resize}
@media(max-width:650px){header{gap:5px}.view-tools{gap:2px}.view-tools button{padding:6px}.chat-panel .cp-field-toolbar>#screenshot span{display:none}.chat-panel .cp-field-toolbar>.cp-field-btn{padding:0 5px}.chat-panel .cp-field-toolbar>.cp-field-mic{min-width:96px}.composer-foot>span{font-size:18px}header select{max-width:155px}.cp-composer{padding:10px 12px 16px}.titlebar{padding-inline:12px}}
@media(max-height:400px){header{padding-block:5px}.cp-composer{gap:5px;padding-top:6px}.composer-foot>span{display:none}.cp-field{min-height:120px}.chat-panel .cp-field{padding:6px;gap:3px}.titlebar{min-height:34px}#status:empty{display:none}}
body.compact header,body.compact textarea,body.compact #attachments,body.compact .composer-foot,body.compact .state-line,body.compact #status,body.compact #last,body.compact #attach,body.compact #mention,body.compact #screenshot,body.compact label,body.compact #refine,body.compact #undo{display:none!important}body.compact .cp-composer{padding:6px 10px 12px}body.compact .cp-field{min-height:58px;padding:0;border:0;background:transparent}body.compact .titlebar{font-size:20px}body.compact #mic,body.compact #send{display:inline-flex!important}body.compact .field-spacer{display:none!important}body.compact .cp-field-toolbar{justify-content:space-between}
.titlebar{font:400 16px/1.3 'Space Mono',monospace;letter-spacing:.08em;padding:8px 16px;height:40px}.titlebar>span{text-transform:uppercase}.titlebar button{font-family:var(--font-sans);letter-spacing:0}header{position:relative;gap:8px;padding:8px 16px}header button,header label{height:40px}header label{padding:0 8px}.view-tools{gap:8px}.view-tools button{height:40px;padding:0 8px}.cp-composer{padding:8px 16px 16px}.chat-panel .cp-field{gap:8px;padding:8px}.state-line{gap:8px}button:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--signal)}input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-items:center;flex:none;width:22px;height:22px;margin:0;background:var(--paper-raised);border:1px solid var(--line-strong);cursor:pointer}input[type=checkbox]:checked{border-color:var(--signal);background:var(--signal)}input[type=checkbox]:checked::after{content:'✓';color:var(--paper);font:18px var(--font-sans)}#target{display:none}#destination{min-width:160px;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;background:var(--paper-raised);border:1px solid var(--line-strong)}#destination:focus-visible,#destination[aria-expanded=true]{border-color:var(--signal)}#destinations{position:absolute;top:calc(100% - 2px);left:16px;z-index:20;min-width:200px;max-width:calc(100% - 32px);max-height:240px;overflow:auto;background:var(--paper-raised);border:1px solid var(--signal);padding:4px}#destinations button{display:block;width:100%;border:0;text-align:left;height:40px;background:transparent}#destinations button:hover,#destinations button:focus{background:var(--selection)}#level{display:flex;gap:3px;height:24px;align-items:stretch;flex:1;min-width:60px;max-width:160px}#level i{flex:1;background:var(--line);height:24px}#level i.on{background:var(--record)}#phase::before{content:'';display:inline-block;width:8px;height:8px;background:var(--margin-ink);margin-right:8px}body[data-phase=recording] #phase::before{background:var(--record);animation:record-dot 1s infinite}#elapsed{font-family:'Space Mono',monospace}@keyframes record-dot{50%{opacity:.3}}@media(max-width:600px){header{display:grid;grid-template-columns:1fr auto}.view-tools{grid-column:1/-1;justify-content:flex-end}#destination{min-width:0;width:100%}.titlebar{padding:8px 16px}.cp-field-toolbar{gap:4px!important}}body.compact .titlebar{font-size:14px}

/* Nam's approved 881 × 598 frame: a single toolbar and a stretching composer. */
html,body,.chat-panel{background:var(--paper);opacity:1}
header{display:flex;flex-wrap:nowrap;padding:8px 16px;gap:8px}
#destination{flex:1;min-width:0;width:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
header label,.view-tools{flex:none}.view-tools{margin:0;gap:8px}.view-tools button{padding:0 8px}
.chat-panel .cp-composer{padding:8px 16px 16px;display:flex;min-height:0;overflow:auto;gap:8px}
.chat-panel .cp-field{display:flex;flex-flow:column nowrap;flex:1 1 auto;min-height:180px;align-items:stretch;background:var(--field);padding:12px;gap:8px}
.chat-panel .cp-field>textarea{flex:1 1 0;min-height:56px;height:auto!important;max-height:none;background:var(--field);padding:0;color:var(--ink)}
.chat-panel .cp-field>textarea::placeholder{color:var(--ink-soft);opacity:.7}
.chat-panel .cp-field-toolbar{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:8px;min-height:56px;order:0}
.chat-panel .cp-field-toolbar>.cp-field-btn{margin:0;flex:none;height:56px;align-self:center;min-width:32px;padding:0 6px}
.chat-panel .cp-field-toolbar>.field-spacer{flex:1;min-width:0}
.chat-panel .cp-field-toolbar>#mic{min-width:104px}.chat-panel .cp-field-toolbar>#send{min-width:100px;order:10;opacity:1}
.chat-panel .cp-field-toolbar>#send:disabled{background:var(--selection);color:var(--ink-soft);border-color:var(--line)}
.chat-panel .cp-field-toolbar>#refine{min-width:40px}.chat-panel .cp-field-toolbar>#refine span{display:none}
.chat-panel .cp-field-toolbar svg{width:20px;height:20px;stroke-width:1.7}
input[type=checkbox]{width:20px;height:20px;background:var(--paper-raised)}input[type=checkbox]:checked{background:var(--paper-raised);border-color:var(--signal)}input[type=checkbox]:checked::after{color:var(--signal)}
.composer-foot{order:1;min-height:20px;align-items:center}.composer-foot>span{font-size:14px;line-height:20px;color:var(--ink-soft);opacity:.8}
.state-line{flex-wrap:nowrap;min-height:28px;gap:8px}#phase{flex:none}#phase::before{background:currentColor}#status{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}#window-warning{margin:8px 16px;color:var(--record);font-size:18px}
@media(max-width:500px){header{gap:4px}header label{padding:0 2px}.view-tools{gap:4px}.view-tools button{padding:0 5px}#destination{padding:0 6px}.chat-panel .cp-field-toolbar{gap:4px}.chat-panel .cp-field-toolbar>#mic{min-width:90px}.chat-panel .cp-field-toolbar>#send{min-width:80px}}

.composer-foot>span{display:block}.chat-panel .cp-field-toolbar{margin-top:auto}.chat-panel .cp-field>textarea{align-self:stretch}.chat-panel .cp-field{justify-content:flex-start}

dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--signal);padding:16px}dialog::backdrop{background:#0009}dialog h2{font:24px var(--font-serif);margin:0 0 8px}dialog p{font-size:18px}dialog textarea{width:100%;height:45vh;background:var(--field);color:var(--ink);font:20px 'JetBrains Mono',monospace;border:1px solid var(--line);padding:8px}dialog input{width:100%;min-width:0;background:var(--field);color:var(--ink);border:1px solid var(--line);font:20px var(--font-sans);padding:8px}dialog label{display:block;margin:8px 0}dialog button{margin:8px 8px 0 0}body.compact #glossary{display:none}

#attachments{display:flex;gap:8px;overflow:auto;flex:none;max-height:110px}.attachment{position:relative;flex:none;border:1px solid var(--line);padding:4px}.attachment img{max-height:80px;max-width:130px;display:block}.attachment button{position:absolute;right:0;top:0;padding:0 6px;background:var(--paper);font-size:18px}#captureMenu{position:absolute;bottom:90px;left:12px;z-index:5;background:var(--paper);border:1px solid var(--signal);padding:8px;max-width:calc(100% - 24px)}#captureMenu button{display:block;width:100%;font-size:18px;text-align:left}
/* Narrow windows keep one toolbar row; each icon keeps an accessible name. */
.titlebar>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#destination{max-width:100%;text-overflow:ellipsis}.chat-panel .cp-field{min-width:0}.chat-panel .cp-field-toolbar{min-width:0}
@media(max-width:420px){
 header{gap:8px}header label{font-size:0;padding:0}.view-tools{gap:8px}.view-tools button{min-width:28px;padding:0 4px}#destination{min-width:36px;padding:0 6px;font-size:0}#destination span{font-size:20px}#destination::before{content:'↗';font-size:20px}#theme{font-size:0}#theme::after{content:'◐';font-size:20px}
 .titlebar{gap:8px}.titlebar>span{font-size:12px}.titlebar #glossary,.titlebar #collapse{font-size:0;min-width:28px;padding:0 4px}.titlebar #glossary::after{content:'≡';font-size:20px}.titlebar #collapse::after{content:'−';font-size:20px}
 .chat-panel .cp-field-toolbar{flex-wrap:nowrap;gap:4px}.chat-panel .cp-field-toolbar>.cp-field-btn{min-width:24px;padding:0 2px}.chat-panel .cp-field-toolbar>#mic,.chat-panel .cp-field-toolbar>#send{min-width:100px;width:100px}.chat-panel .cp-field-toolbar>#mic span,.chat-panel .cp-field-toolbar>#send span{display:inline}.chat-panel .cp-field-toolbar>label{font-size:0;gap:0}.chat-panel .cp-field-toolbar>#refine,.chat-panel .cp-field-toolbar>#undo{width:24px;min-width:24px}.chat-panel .cp-field-toolbar>.field-spacer{display:none}
 .state-line #status{display:none}.state-line{gap:6px}#phase{font-size:18px}#level{max-width:64px}#elapsed{font-size:18px}#cancelMic{font-size:0;width:28px;padding:0;height:28px}#cancelMic::after{content:'×';font-size:20px}
}
@media(max-height:280px){
 .titlebar{height:28px;min-height:28px;padding:0 8px}.titlebar button{height:24px;min-height:24px}.titlebar>span{font-size:12px}header{padding:4px 8px}header button,header label,.view-tools button{height:32px}
 .chat-panel .cp-composer{padding:4px 8px 8px;gap:4px;overflow:hidden}.chat-panel .cp-field{min-height:0;padding:4px;gap:0}.chat-panel .cp-field>textarea{min-height:28px;line-height:1.2}.chat-panel .cp-field-toolbar{min-height:56px;height:56px}.composer-foot{position:absolute;right:6px;top:4px;pointer-events:none}.composer-foot>span{display:none}.composer-foot #raw{pointer-events:auto;font-size:18px;padding:0 4px}#attachments{max-height:32px}.attachment img{max-height:24px}.state-line{min-height:24px;height:24px}#last{display:none}
}
@media(max-height:280px){
 .titlebar{height:24px;min-height:24px}.titlebar button{min-height:22px;height:22px}header{padding-block:0}
 .chat-panel .cp-field{flex:1 1 0;min-height:0}.chat-panel .cp-field>textarea{min-height:24px;padding-right:64px}.chat-panel .cp-field-toolbar{flex:0 0 56px;margin-top:0}
 #attachments{position:absolute;top:4px;right:4px;max-width:60px;max-height:32px;margin:0}.attachment{padding:0}.attachment img{max-height:28px;max-width:36px}.attachment button{font-size:18px;padding:0 2px;line-height:22px}
}
.chat-panel .cp-field{min-height:0}.chat-panel .cp-composer{overflow:hidden}
@media(max-height:400px){.chat-panel .cp-field>textarea{min-height:24px}}
/* Nam: slightly smaller labels; preserve button hit areas and icon sizes. */
.chat-panel .cp-field-toolbar>#mic,.chat-panel .cp-field-toolbar>#send{font-size:max(16px,calc(var(--control-size) - 2px))}

.composer-foot:not(:has(button:not([hidden]))){display:none}

#viewToggle{flex:none;min-width:84px}#viewMenu{position:absolute;right:16px;top:calc(100% - 1px);z-index:21;display:flex;flex-direction:column;gap:8px;padding:8px;min-width:144px;background:var(--paper-raised);border:1px solid var(--signal)}#viewMenu button{height:40px;width:100%;font-size:var(--control-size);text-align:left;padding:0 12px}#viewMenu #theme::after{display:none}#viewMenu #smaller::after{content:'  Smaller'}#viewMenu #larger::after{content:'  Larger'}
@media(max-width:420px){#viewToggle{font-size:18px;min-width:64px;padding:0 6px}}

/* Keep primary controls rectangular at every window size. Only the text area stretches. */
.chat-panel .cp-field-toolbar>#mic,.chat-panel .cp-field-toolbar>#send{width:104px;min-width:104px;height:56px;flex:0 0 104px;padding:0 8px;white-space:nowrap;gap:6px}
.chat-panel .cp-field-toolbar svg{flex:none}
#destinations button{display:flex;align-items:center;gap:8px;white-space:nowrap}
#destinations button[aria-selected=true]{color:var(--signal)}
.lane-check{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid var(--line-strong);flex:none;font-size:18px}
#deliveryResults{font-size:18px;white-space:pre-wrap;overflow-wrap:anywhere}

#inputTools{display:contents}#toolsToggle{display:none}
#inputTools>.cp-field-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:56px;padding:0 6px;border:1px solid transparent;background:transparent;color:var(--ink)}
#destinations{max-height:min(240px,calc(100dvh - 100px))}
@media(max-width:420px){
 .chat-panel .cp-composer{padding-left:8px;padding-right:8px}.chat-panel .cp-field{padding:4px}
 .chat-panel .cp-field-toolbar{display:flex;flex-wrap:nowrap;gap:4px;justify-content:flex-end}
 .chat-panel .cp-field-toolbar>#toolsToggle{display:inline-flex;width:28px;min-width:28px;padding:0;font-size:24px;margin-right:auto}
 #inputTools{display:none;position:absolute;bottom:68px;left:4px;z-index:15;background:var(--paper-raised);border:1px solid var(--line);padding:4px;gap:4px}
 #inputTools.open{display:flex}#inputTools>.cp-field-btn{width:40px;height:40px}
 .chat-panel .cp-field-toolbar>#mic,.chat-panel .cp-field-toolbar>#send{width:104px;min-width:104px;flex:0 0 104px}
 .chat-panel .cp-field-toolbar>#refine,.chat-panel .cp-field-toolbar>#undo{position:absolute;top:4px;right:8px;background:var(--field);height:32px;width:32px}.chat-panel .cp-field-toolbar>#undo{right:44px}
 .chat-panel .cp-field>textarea{padding-right:76px}
}
body.compact #toolsToggle,body.compact #inputTools{display:none!important}
#searchDialog{width:min(780px,calc(100vw - 24px));padding:16px}#searchDialog .search-heading{display:flex;align-items:center;gap:8px}#searchDialog h2{flex:1;margin:0;font-size:24px}#searchDialog .search-heading button{margin:0}#searchQuery{height:96px;min-height:56px;font-family:var(--font-sans);font-size:var(--text-size)}.search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.search-actions label{display:flex;margin:0;font-size:18px}.search-actions button{margin:0}#searchStatus{font-size:18px}#searchResults article{border-top:1px solid var(--line);padding:12px 0}#searchResults h3{font:24px var(--font-sans);margin:0 0 8px}#searchResults p{font-size:20px;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}#searchResults article p:first-of-type{font-size:18px;color:var(--ink-soft)}#citations{flex:none;max-height:100px;overflow:auto;font-size:18px;border:1px solid var(--signal);padding:8px}#citations>div{display:flex;gap:8px}#citations span{min-width:0;overflow-wrap:anywhere;white-space:pre-wrap;flex:1}#citations button{flex:none;align-self:start;padding:0 8px}body.compact #citations,body.compact #searchToggle{display:none!important}@media(max-height:280px){#citations{max-height:40px;padding:2px;font-size:18px}}@media(max-width:420px){.titlebar #searchToggle{font-size:20px;min-width:28px;padding:0 4px}}

#searchLevel{display:flex;gap:3px;height:24px;margin-top:8px}#searchLevel i{flex:1;background:var(--line)}#searchLevel i.on{background:var(--record)}
#searchDialog[open]{display:flex;flex-direction:column;gap:8px;height:min(720px,calc(100dvh - 24px));overflow:hidden}#searchDialog>form{flex:none}#searchQuery{flex:none;height:72px;min-height:48px;margin:0}#searchDialog .search-actions{flex:none}#searchStatus{flex:none;margin:0;line-height:1.3}#searchResults{flex:1;min-height:0;overflow:auto}#searchDialog .search-heading h2{font-size:22px}#searchDialog .search-heading{position:sticky;top:0;background:var(--paper)}@media(max-height:280px){#searchDialog[open]{overflow:auto;height:calc(100dvh - 12px);padding:8px}#searchResults{flex:none;max-height:240px}#searchQuery{height:48px}}

#recipientRoles{display:flex;flex-wrap:wrap;gap:8px;flex:none;max-height:88px;overflow:auto}.recipient-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;font-size:18px}.recipient-chip>span{overflow-wrap:anywhere}.role-badge{font:18px/1.2 'Space Mono',monospace;text-transform:uppercase;letter-spacing:.02em;padding:6px 8px;min-height:36px;flex:none}.role-badge.direct{background:var(--signal);border:1px solid var(--signal);color:var(--paper)}.role-badge.cc{background:transparent;border:1px solid var(--line);color:var(--ink-soft)}#destinations .lane-row{display:flex;align-items:center;gap:8px}#destinations .lane-row>button:first-child{flex:1;min-width:0}#destinations .role-badge{width:auto;flex:none;border:1px solid var(--line);font:18px 'Space Mono',monospace;height:36px;padding:4px 8px}#destinations .role-badge.direct{background:var(--signal);color:var(--paper);border-color:var(--signal)}body.compact #recipientRoles{display:none!important}
#recipientRoles{flex-wrap:nowrap;max-height:44px;overflow-x:auto;overflow-y:hidden}.recipient-chip{flex:none}@media(max-height:280px){#recipientRoles{display:none}}

#priority{flex:none;font:18px 'Space Mono',monospace;text-transform:uppercase;padding:0 8px}#priority[data-priority=IMPORTANT]{border-color:var(--margin-ink);color:var(--margin-ink)}#priority[data-priority=URGENT]{background:var(--record);border-color:var(--record);color:var(--paper)}@media(max-width:500px){#priority{font-size:0;width:36px;padding:0}#priority::after{content:'!';font:20px 'Space Mono',monospace}#priority[data-priority=URGENT]::after{content:'!!'}}

/* Explicit email-style roles: any number of recipients in either group. */
#destinations{width:480px}
#destinations .lane-row>button:first-child{overflow:hidden;text-overflow:ellipsis}
#destinations .role-badge[aria-pressed=false]{background:transparent;color:var(--ink-soft);border-color:var(--line)}
#destinations .role-badge[aria-pressed=true]{background:var(--signal);color:var(--paper);border-color:var(--signal)}
@media(max-width:420px){#destinations .lane-row{gap:4px}#destinations .role-badge{padding:4px;font-size:16px}#destinations .lane-row>button:first-child{padding:0 4px;gap:4px;font-size:18px}}

#boxTabs{display:flex;flex:none;gap:8px;padding:0 16px 8px;border-bottom:1px solid var(--line)}
#boxTabs button{height:36px;min-width:96px;padding:4px 16px}
#boxTabs button[aria-selected=true]{border-color:var(--signal);color:var(--signal);background:var(--selection)}
body.compact #boxTabs{display:none}
#factoryPanel{display:flex;flex-direction:column;gap:8px;padding:16px;flex:1;min-height:0;overflow:hidden}
.factory-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.factory-heading h2{font:24px var(--font-sans);margin:0}.factory-heading span{font-size:18px;color:var(--ink-soft)}
.factory-controls{display:flex;justify-content:space-between;gap:8px;flex:none}.factory-segments{display:flex;gap:4px;min-width:0}
.factory-controls button{height:40px;padding:4px 12px}.factory-segments button[aria-pressed=true]{color:var(--signal);border-color:var(--signal);background:var(--selection)}
.factory-input{display:flex;gap:8px;align-items:stretch;flex:none;min-width:0}
#factoryQuery{background:var(--field);border:1px solid var(--line-strong);color:var(--ink);font:var(--text-size)/1.4 var(--font-sans);padding:8px;min-width:0;flex:1;height:80px;resize:vertical;max-height:160px}
#factoryRun{flex:none;align-self:flex-end;height:48px;background:var(--margin-ink);color:var(--paper);border-color:var(--margin-ink)}
#factoryDrop{flex:1;min-width:0;border:1px dashed var(--line-strong);padding:8px}#factoryChoose{width:100%;font-size:18px;min-height:40px}
#factoryImage{display:flex;align-items:center;gap:8px;margin-top:8px;min-width:0}#factoryPreview{width:80px;height:48px;object-fit:contain}#factoryImageName{flex:1;min-width:0;overflow-wrap:anywhere;font-size:18px}
#factoryStatus{font-size:18px;line-height:1.4;margin:0;flex:none;overflow-wrap:anywhere}
#factoryResults{overflow:auto;min-height:0;flex:1;display:flex;flex-direction:column;gap:16px}
.factory-hit{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px;border-top:1px solid var(--line);padding-top:16px;flex:none}
.factory-thumbnail{width:100%;aspect-ratio:16/9;display:grid;place-items:center;background:var(--field);color:var(--ink-soft);font-size:18px;text-align:center;align-self:start}
.factory-thumbnail img{width:100%;height:100%;object-fit:contain;max-height:200px}
.factory-hit h3{font:22px/1.3 var(--font-sans);margin:0 0 8px}.factory-hit strong{font-size:22px;color:var(--signal)}
.factory-hit p{font-size:20px;line-height:1.4;margin:8px 0;overflow-wrap:anywhere;white-space:pre-wrap}.factory-hit .factory-ids{font:16px/1.5 'JetBrains Mono',monospace;color:var(--ink-soft)}
@media(max-width:600px){.factory-hit{grid-template-columns:1fr}.factory-thumbnail{max-width:320px}.factory-controls button{padding:4px 8px}.factory-input{flex-wrap:wrap}#factoryRun{margin-left:auto}}
@media(max-height:400px){#boxTabs{padding:0 8px 4px}#boxTabs button{height:28px}#factoryPanel{padding:8px;overflow:auto}#factoryResults{flex:none;overflow:visible}.factory-heading{display:none}#factoryQuery{height:56px}}
/* At very short heights, use the title's space for the other tab. */
@media(max-height:280px){
 .titlebar>span{visibility:hidden}
 #boxTabs{position:absolute;top:0;left:8px;padding:0;border:0;z-index:5;height:24px}
 #boxTabs button{height:24px;min-width:88px;padding:0 8px;font-size:18px}
 #boxTabs button[aria-selected=true]{display:none}
}
