:root,[data-theme="default"]{
    --bg-base:#0B0A0A;
    --bg-surface:#141212;
    --bg-panel:#1A1818;
    --accent:#78c896;
    --accent-glow:rgba(120,200,150,0.15);
    --text-main:#FFFFFF;
    --text-dim:#8A8584;
    --text-dark:#0B0A0A;
    --border-light:rgba(255,255,255,0.1);
    --border-med:rgba(255,255,255,0.2);
    --grid-line:rgba(255,255,255,0.02);
    --status-warn:#c8b464;
    --status-err:#b478c8;
    --font-display:'DotGothic16',sans-serif;
    --font-mono:'Space Mono',monospace;
    --font-sans:'Inter',sans-serif;
    --pad:clamp(0.65rem,1.2vw,1rem);
    --ui-border:1px solid var(--border-light);
}
[data-theme="ocean"]{
    --bg-base:#080c10;
    --bg-surface:#101820;
    --bg-panel:#152028;
    --accent:#64b4dc;
    --accent-glow:rgba(100,180,220,0.16);
    --text-main:#eef6fb;
    --text-dim:#7a909c;
    --text-dark:#080c10;
    --border-light:rgba(120,180,220,0.14);
    --border-med:rgba(120,180,220,0.26);
    --grid-line:rgba(100,180,220,0.04);
    --status-warn:#c8b464;
    --status-err:#c88eb4;
}
[data-theme="ember"]{
    --bg-base:#100c0a;
    --bg-surface:#181210;
    --bg-panel:#201816;
    --accent:#e8a87c;
    --accent-glow:rgba(232,168,124,0.16);
    --text-main:#f8efe8;
    --text-dim:#9a8580;
    --text-dark:#100c0a;
    --border-light:rgba(232,168,124,0.14);
    --border-med:rgba(232,168,124,0.24);
    --grid-line:rgba(232,168,124,0.035);
    --status-warn:#d4b85a;
    --status-err:#c878a8;
}
[data-theme="paper"]{
    --bg-base:#f3efe8;
    --bg-surface:#fffdf9;
    --bg-panel:#ebe5dc;
    --accent:#2f6b4f;
    --accent-glow:rgba(47,107,79,0.12);
    --text-main:#1c1917;
    --text-dim:#5f5854;
    --text-dark:#f3efe8;
    --border-light:rgba(28,25,23,0.12);
    --border-med:rgba(28,25,23,0.22);
    --grid-line:rgba(28,25,23,0.05);
    --status-warn:#9a7b28;
    --status-err:#8f4d7a;
}
[data-theme="violet"]{
    --bg-base:#0c0a10;
    --bg-surface:#141018;
    --bg-panel:#1a1420;
    --accent:#b48cdc;
    --accent-glow:rgba(180,140,220,0.16);
    --text-main:#f4eef8;
    --text-dim:#8a7a94;
    --text-dark:#0c0a10;
    --border-light:rgba(180,140,220,0.14);
    --border-med:rgba(180,140,220,0.26);
    --grid-line:rgba(180,140,220,0.04);
    --status-warn:#c8b464;
    --status-err:#dc8cb4;
}
[data-theme="slate"]{
    --bg-base:#0e1014;
    --bg-surface:#161a20;
    --bg-panel:#1c2228;
    --accent:#94a8b8;
    --accent-glow:rgba(148,168,184,0.14);
    --text-main:#e8ecf0;
    --text-dim:#7a8490;
    --text-dark:#0e1014;
    --border-light:rgba(148,168,184,0.14);
    --border-med:rgba(148,168,184,0.24);
    --grid-line:rgba(148,168,184,0.035);
    --status-warn:#c4a85a;
    --status-err:#b888a8;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{
    width:100%;height:100%;overflow:hidden;overscroll-behavior:none;
}
body{
    background:var(--bg-base);color:var(--text-main);font-family:var(--font-sans);
    cursor:auto;
}
#viewport-root{
    --ui-zoom:1;
    position:fixed;inset:0;
    width:calc(100vw / var(--ui-zoom));
    height:calc(100dvh / var(--ui-zoom));
    transform:scale(var(--ui-zoom));
    transform-origin:top left;
    overflow:hidden;
    background:var(--bg-base);
    background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);
    background-size:40px 40px;
}
::selection{background:var(--accent);color:var(--text-dark)}
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:2px}

#boot-screen{
    position:fixed;inset:0;background:var(--bg-base);z-index:9999;
    display:flex;align-items:center;justify-content:center;
    font-family:var(--font-mono);font-size:0.8rem;color:var(--text-dim);
    transition:opacity 0.55s ease,visibility 0.55s ease;
}
#boot-screen.exiting{opacity:0;visibility:hidden;pointer-events:none}
.boot-stage{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:1.75rem;text-align:center;
}
.boot-gl{
    width:148px;height:148px;position:relative;flex-shrink:0;
    filter:drop-shadow(0 0 18px var(--accent-glow));
    opacity:0.92;
}
.boot-gl canvas{display:block;width:100%!important;height:100%!important}
.boot-lines{display:flex;flex-direction:column;align-items:center;gap:0.75rem;text-align:center;max-width:min(90%,640px);padding:0 1.5rem}
.boot-line{opacity:0;transform:translateY(6px);transition:opacity 0.35s ease,transform 0.35s ease}
.boot-line.active{opacity:1;transform:translateY(0)}
.boot-line .highlight{color:var(--accent)}

body.booting .app{opacity:0;pointer-events:none}
body.booted .app{opacity:1;pointer-events:auto}
.app{
    height:100%;min-height:0;max-height:100%;overflow:hidden;
    border:none;outline:none;box-shadow:none;background:transparent;
    transition:opacity 0.7s ease 0.08s;
}
.app-layout{
    display:flex;flex-direction:column;
    height:100%;min-height:0;padding:var(--pad);gap:var(--pad);overflow:hidden;
    position:relative;z-index:10;
}
.app-main{
    flex:1 1 auto;min-height:0;min-width:0;
    display:grid;
    grid-template-columns:var(--col-config,260px) 10px 1fr 10px var(--col-telemetry,min(28vw,520px));
    gap:0;overflow:hidden;
}
.app-main > .panel,.app-main > .orb-wrap{min-height:0}
.col-resize{
    position:relative;z-index:20;cursor:col-resize;touch-action:none;
    align-self:stretch;justify-self:center;width:10px;margin:0 -4px;
}
.col-resize::after{
    content:'';position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);
    width:2px;background:var(--border-light);transition:background .15s,width .15s;
}
.col-resize::before{
    content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:4px;height:28px;border-radius:2px;opacity:.3;pointer-events:none;
    background:repeating-linear-gradient(to bottom,var(--text-dim) 0 2px,transparent 2px 5px);
}
.col-resize:hover::after,.col-resize.dragging::after,.col-resize:focus-visible::after{
    width:3px;background:var(--accent);
}
.col-resize:hover::before,.col-resize.dragging::before{opacity:.65}
body.col-resizing{cursor:col-resize!important;user-select:none}
body.col-resizing *{cursor:col-resize!important}
[hidden]{display:none!important}
header.app-header{
    flex-shrink:0;display:flex;justify-content:space-between;align-items:center;
    border-bottom:var(--ui-border);padding-bottom:8px;gap:12px;min-height:0;
}
.head-brand{flex-shrink:0}
.logo{font-family:var(--font-display);font-size:1.5rem;letter-spacing:-1px;color:var(--accent);text-transform:lowercase;line-height:1}
.logo-sub{font-family:var(--font-mono);font-size:0.55rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.1em;margin-top:4px}
.head-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;flex:1;min-width:0}
.head-chip{
    display:inline-flex;align-items:center;gap:5px;padding:4px 8px;
    border:1px solid var(--border-light);background:var(--bg-surface);border-radius:6px;
    font-family:var(--font-mono);color:var(--text-dim);max-width:100%;
}
.head-chip .ico{width:13px;height:13px;flex-shrink:0;color:var(--text-dim)}
.head-chip .chip-val{font-size:0.62rem;color:var(--text-main);line-height:1;white-space:nowrap}
.head-chip .chip-val.hl{color:var(--accent)}
.head-chip.warn{border-color:rgba(200,180,100,0.35)}
.head-chip.warn .chip-val{color:var(--status-warn)}
.head-chip.err{border-color:rgba(180,120,200,0.35)}
.head-chip.err .chip-val{color:var(--status-err)}
#chip-status.routing .ico{color:var(--status-warn);animation:livePulse 1.2s ease-in-out infinite}
.head-actions{display:inline-flex;align-items:center;gap:5px}
.head-ico-btn{
    position:relative;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;
    border:1px solid var(--border-light);background:var(--bg-surface);color:var(--text-dim);
    border-radius:6px;padding:0;cursor:pointer;transition:border-color 0.2s,color 0.2s,background 0.2s;
}
.head-ico-btn svg{width:15px;height:15px}
.head-ico-btn:hover,.head-ico-btn:focus-visible{color:var(--accent);border-color:var(--accent);outline:none}
.key-dot{
    position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;
    border:1px solid var(--bg-surface);pointer-events:none;
}
.key-dot.ok{background:var(--accent)}
.key-dot.dim{background:var(--text-dim);opacity:0.45}
#credit-status.warn{color:var(--status-warn)}
#credit-status.err{color:var(--status-err)}

.panel{background:var(--bg-surface);border:var(--ui-border);display:flex;flex-direction:column;overflow:hidden;min-height:0}
.panel-hd{
    padding:10px 16px;border-bottom:var(--ui-border);
    font-family:var(--font-mono);font-size:0.55rem;color:var(--accent);
    text-transform:uppercase;letter-spacing:0.1em;display:flex;justify-content:space-between;background:var(--bg-panel);
}
.panel-bd{padding:16px;overflow-y:auto;flex:1}

.prompt-box{margin-bottom:20px}
.prompt-box .label{
    font-family:var(--font-mono);font-size:0.6rem;text-transform:uppercase;letter-spacing:0.1em;
    color:var(--text-dim);display:flex;align-items:center;gap:0.5rem;margin-bottom:10px;
}
.prompt-box .label::before{content:'';display:inline-block;width:8px;height:8px;background:var(--accent)}
.prompt-input{
    width:100%;background:var(--bg-base);border:var(--ui-border);padding:12px;
    font-family:var(--font-mono);font-size:0.75rem;color:var(--text-main);outline:none;
    resize:none;min-height:70px;
}
.prompt-input:focus{border-color:var(--border-med)}
.prompt-input::placeholder{color:var(--text-dim);font-style:italic}

.btn{
    width:100%;padding:12px;cursor:pointer;text-transform:uppercase;letter-spacing:0.05em;
    font-family:var(--font-mono);font-size:0.65rem;transition:all 0.2s;position:relative;
    background:transparent;border:1px solid var(--border-med);color:var(--text-main);
    clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
}
.btn::before{content:'';position:absolute;inset:0;background:var(--text-main);transform:scaleY(0);transform-origin:bottom;transition:transform 0.3s;z-index:-1}
.btn:hover{color:var(--text-dark)}.btn:hover::before{transform:scaleY(1)}
.btn.primary{border-color:var(--accent);color:var(--accent)}
.btn.primary::before{background:var(--accent)}.btn.primary:hover{color:var(--bg-base)}
.btn:disabled{opacity:0.3;cursor:not-allowed}
.btn:disabled:hover{color:var(--accent)}.btn:disabled::before{transform:scaleY(0)}
.btn.subtle{border-color:var(--border-light);color:var(--text-dim);font-size:0.55rem}
.btn.subtle:hover{border-color:var(--text-dim);color:var(--text-main)}

.preset-row{display:flex;gap:4px;margin-bottom:6px}
.preset-row button{
    flex:1;font-size:0.45rem;padding:5px 4px;cursor:pointer;background:transparent;
    border:1px dashed var(--border-light);color:var(--text-dim);transition:0.2s;
    font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.05em;
}
.preset-row button:hover,.preset-row button.active{border-color:var(--accent);color:var(--accent)}
.preset-row button.active{background:var(--accent-glow)}
#preset-free.active{border-style:solid}

.model-list{display:flex;flex-direction:column;gap:4px}
.model-row{
    display:flex;justify-content:space-between;align-items:center;
    padding:5px 0;border-bottom:1px dashed var(--border-light);
}
.model-row .nm{font-size:0.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:8px}
.model-row .pv{font-size:0.45rem;opacity:0.4;text-transform:uppercase;margin-left:4px}
.model-row .ct{color:var(--text-dim);font-size:0.5rem}

.toggle{position:relative;display:inline-block;width:28px;height:14px;flex-shrink:0}
.toggle input{opacity:0;width:0;height:0}
.toggle .sl{
    position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;
    background:var(--bg-base);border:1px solid var(--border-light);transition:.2s;border-radius:14px;
}
.toggle .sl::before{
    position:absolute;content:"";height:8px;width:8px;left:2px;bottom:2px;
    background:var(--text-dim);transition:.2s;border-radius:50%;
}
.toggle input:checked+.sl{border-color:var(--accent)}
.toggle input:checked+.sl::before{transform:translateX(14px);background:var(--accent);box-shadow:0 0 4px var(--accent)}

.orb-wrap{
    position:relative;border:var(--ui-border);overflow:hidden;min-height:0;
    background:radial-gradient(circle at center,var(--bg-panel)0%,var(--bg-base)70%);
    display:flex;flex-direction:column;
}
#gl{position:absolute;inset:0;width:100%;height:100%;z-index:1;overflow:hidden}
#gl canvas{display:block;width:100%!important;height:100%!important}
.orb-ol{
    position:relative;z-index:2;padding:20px;height:100%;
    display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;
}
.orb-st{
    font-family:var(--font-display);font-size:1.6rem;font-weight:400;
    color:var(--accent);text-align:center;letter-spacing:-0.02em;
    text-shadow:0 0 20px var(--accent-glow);
    transition:opacity 0.5s, transform 0.5s;
}
.orb-st .result-reveal{
    font-family:var(--font-sans);font-size:0.75rem;font-weight:400;color:var(--text-main);
    text-shadow:none;display:block;margin-top:12px;line-height:1.5;
    opacity:0;transform:translateY(10px);transition:opacity 0.6s 0.3s, transform 0.6s 0.3s;
    max-height:120px;overflow-y:auto;pointer-events:auto;
}
.orb-wrap.has-results #gl,.orb-wrap.has-results #orb-idle{opacity:0;visibility:hidden;pointer-events:none}
.orb-wrap.streaming.has-results #gl{opacity:0.1;visibility:visible;pointer-events:none}
.orb-results{
    position:absolute;inset:0;z-index:3;display:none;flex-direction:column;
    background:rgba(11,10,10,0.94);overflow:hidden;
}
.orb-wrap.has-results .orb-results{display:flex}
.orb-wrap.streaming .orb-results{background:rgba(11,10,10,0.88)}
.orb-results[hidden]{display:none!important}
.orb-results-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative}
.orb-results-body.focus-win-open .orb-view{visibility:hidden;pointer-events:none}
.mini-win-focus{
    position:absolute;inset:0;z-index:12;display:flex;flex-direction:column;
    background:var(--bg-base);border:1px solid var(--border-med);
    box-shadow:inset 0 0 0 1px var(--accent-glow);overflow:hidden;
    animation:miniWinFocusIn 0.22s ease-out;
}
.mini-win-focus[hidden]{display:none!important}
@keyframes miniWinFocusIn{from{opacity:0;transform:scale(0.98)}to{opacity:1;transform:scale(1)}}
.mini-win-focus-hd{
    display:flex;justify-content:space-between;align-items:center;gap:10px;
    padding:10px 12px;border-bottom:var(--ui-border);background:var(--bg-panel);flex-shrink:0;
}
.mini-win-focus-title{
    font-family:var(--font-mono);font-size:0.55rem;color:var(--accent);
    text-transform:uppercase;letter-spacing:0.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.mini-win-focus-close{
    flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
    background:transparent;border:1px solid var(--border-light);color:var(--text-dim);
    font-size:1.1rem;line-height:1;cursor:pointer;border-radius:4px;transition:0.2s;
}
.mini-win-focus-close:hover{border-color:var(--accent);color:var(--accent)}
.mini-win-focus-meta{
    flex-shrink:0;padding:6px 12px 0;font-family:var(--font-mono);font-size:0.42rem;color:var(--text-dim);
}
.mini-win-focus-meta:empty{display:none}
.mini-win-focus-models{
    flex-shrink:0;display:flex;flex-wrap:wrap;gap:4px;padding:6px 12px 8px;
}
.mini-win-focus-models:empty{display:none}
.mini-win-focus-models span{
    font-family:var(--font-mono);font-size:0.4rem;color:var(--text-dim);
    border:1px solid var(--border-light);padding:2px 6px;border-radius:8px;
}
.mini-win-focus-body{
    flex:1;min-height:0;overflow-y:auto;padding:12px 14px 16px;
    font-family:var(--font-sans);font-size:0.82rem;line-height:1.6;color:var(--text-main);
}
.orb-wrap.streaming .orb-results-copy{display:none}
.orb-wrap.streaming .orb-vtab{display:none}
.orb-live-badge{
    display:inline-flex;align-items:center;gap:5px;padding:5px 10px;
    border:1px solid rgba(120,200,150,0.45);color:var(--accent);background:var(--accent-glow);
    font-family:var(--font-mono);font-size:0.48rem;text-transform:uppercase;letter-spacing:0.08em;
}
.orb-live-badge::before{
    content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);
    animation:livePulse 1.2s ease-in-out infinite;
}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.35;transform:scale(0.85)}}
.orb-stream-note{
    grid-column:1/-1;padding:8px 10px;border:1px dashed var(--border-light);
    font-family:var(--font-mono);font-size:0.48rem;color:var(--text-dim);text-align:center;
}
.orb-pending{
    flex-shrink:0;border-top:1px dashed var(--border-light);background:var(--bg-panel);
    padding:8px 10px;max-height:88px;overflow:hidden;
}
.orb-pending-hd{
    display:flex;align-items:center;gap:6px;margin-bottom:6px;
    font-family:var(--font-mono);font-size:0.45rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.08em;
}
.orb-pending-dot{
    width:5px;height:5px;border-radius:50%;background:#c8b464;
    animation:livePulse 1s ease-in-out infinite;
}
.orb-pending-list{display:flex;flex-wrap:wrap;gap:4px;max-height:48px;overflow-y:auto}
.pending-chip{
    font-family:var(--font-mono);font-size:0.4rem;color:var(--text-dim);
    border:1px dashed rgba(200,180,100,0.45);padding:2px 7px;border-radius:10px;
    animation:pendingIn 0.35s ease-out;
}
@keyframes pendingIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.mini-win.stream-in{animation:winIn 0.4s ease-out}
@keyframes winIn{from{opacity:0;transform:translateY(8px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.orb-results-hd{
    display:flex;justify-content:space-between;align-items:center;gap:8px;
    padding:8px 10px;border-bottom:var(--ui-border);background:var(--bg-panel);flex-shrink:0;
}
.orb-results-tabs{display:flex;gap:4px}
.orb-vtab{
    padding:5px 10px;background:transparent;border:1px solid var(--border-light);
    color:var(--text-dim);font-family:var(--font-mono);font-size:0.48rem;
    text-transform:uppercase;letter-spacing:0.06em;cursor:pointer;transition:0.2s;
}
.orb-vtab:hover{border-color:var(--border-med);color:var(--text-main)}
.orb-vtab.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}
.orb-results-copy{
    background:none;border:1px solid var(--border-light);color:var(--text-dim);
    font-family:var(--font-mono);font-size:0.45rem;padding:4px 8px;cursor:pointer;text-transform:uppercase;
}
.orb-results-copy:hover{border-color:var(--accent);color:var(--accent)}
.orb-view{display:none;flex:1;min-height:0;overflow:hidden;flex-direction:column;padding:10px}
.orb-view.active{display:flex}
.orb-mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:8px;flex-shrink:0}
.orb-mini-stat{background:var(--bg-surface);border:var(--ui-border);padding:6px 8px}
.orb-mini-stat .l{font-family:var(--font-mono);font-size:0.42rem;color:var(--text-dim);text-transform:uppercase}
.orb-mini-stat .v{font-family:var(--font-mono);font-size:0.75rem;margin-top:2px}
.orb-mini-stat.exact .v{color:var(--accent)}
.orb-mini-stat.divergent .v{color:#b478c8}
.consensus-sections{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;min-height:0}
.cons-section{border:var(--ui-border);background:var(--bg-surface);overflow:hidden;flex-shrink:0}
.cons-section.exact{border-color:rgba(120,200,150,0.35)}
.cons-section.divergent{border-color:rgba(180,120,200,0.35)}
.cons-section-hd{
    display:flex;justify-content:space-between;align-items:center;
    padding:6px 10px;border-bottom:1px dashed var(--border-light);background:var(--bg-panel);
    font-family:var(--font-mono);font-size:0.48rem;text-transform:uppercase;letter-spacing:0.08em;
}
.cons-section.exact .cons-section-hd{color:var(--accent)}
.cons-section.divergent .cons-section-hd{color:#b478c8}
.cons-section-hd .cnt{color:var(--text-dim);font-size:0.42rem}
.cons-section .win-grid{padding:8px;max-height:220px}
.cons-empty{padding:10px;font-family:var(--font-mono);font-size:0.45rem;color:var(--text-dim);opacity:0.6}
.win-grid{
    flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
    gap:8px;align-content:start;padding:2px;
}
.mini-win{
    border:var(--ui-border);background:var(--bg-surface);display:flex;flex-direction:column;
    min-height:120px;max-height:200px;overflow:hidden;cursor:pointer;transition:border-color 0.2s,box-shadow 0.2s;
}
.mini-win.tier-exact{border-color:rgba(120,200,150,0.4)}
.mini-win.tier-waiting{border-style:dashed;border-color:rgba(200,180,100,0.45)}
.mini-win-waiting{
    display:flex;align-items:center;gap:8px;font-family:var(--font-mono);
    font-size:0.62rem;color:var(--text-dim);letter-spacing:0.06em;text-transform:lowercase;
    padding:4px 0;
}
.mini-win-wait-dot{
    width:6px;height:6px;border-radius:50%;background:#c8b464;
    animation:livePulse 1s ease-in-out infinite;flex-shrink:0;
}
.mini-win-err{font-family:var(--font-mono);font-size:0.58rem;color:#b478c8;line-height:1.45}
.mini-win.tier-divergent{border-color:rgba(180,120,200,0.4)}
.mini-win:hover{border-color:var(--accent)}
.mini-win-hd{
    display:flex;justify-content:space-between;align-items:center;gap:6px;
    padding:6px 8px;border-bottom:1px dashed var(--border-light);background:var(--bg-panel);flex-shrink:0;
}
.mini-win-title{font-family:var(--font-mono);font-size:0.48rem;color:var(--accent);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-win-meta{font-family:var(--font-mono);font-size:0.4rem;color:var(--text-dim);white-space:nowrap}
.mini-win-models{display:flex;flex-wrap:wrap;gap:3px;padding:5px 8px 0;flex-shrink:0}
.mini-win-models span{
    font-family:var(--font-mono);font-size:0.38rem;color:var(--text-dim);
    border:1px solid var(--border-light);padding:1px 5px;border-radius:8px;
}
.mini-win-body{
    padding:6px 8px 8px;font-family:var(--font-sans);font-size:0.65rem;line-height:1.45;
    color:var(--text-main);overflow:hidden;max-height:100%;
}
.mini-win:not(.expanded) .mini-win-body{max-height:calc(1.45em * 5 + 12px)}

.md-content{font-family:var(--font-sans);font-size:inherit;line-height:1.5;color:var(--text-main);word-break:break-word}
.md-content>:first-child{margin-top:0}
.md-content>:last-child{margin-bottom:0}
.md-content h1,.md-content h2,.md-content h3,.md-content h4{
    font-family:var(--font-display);color:var(--accent);font-weight:400;
    margin:0.65em 0 0.35em;line-height:1.25;
}
.md-content h1{font-size:1.05em}.md-content h2{font-size:0.95em}.md-content h3,.md-content h4{font-size:0.88em}
.md-content p{margin:0.45em 0}
.md-content ul,.md-content ol{margin:0.45em 0;padding-left:1.15em}
.md-content li{margin:0.2em 0}
.md-content li>p{margin:0.15em 0}
.md-content strong,.md-content b{font-weight:600;color:var(--text-main)}
.md-content em,.md-content i{font-style:italic;color:var(--text-dim)}
.md-content code{
    font-family:var(--font-mono);font-size:0.88em;background:var(--bg-base);
    border:1px solid var(--border-light);padding:0.05em 0.35em;border-radius:2px;
}
.md-content pre{
    margin:0.5em 0;padding:8px;overflow-x:auto;background:var(--bg-base);
    border:var(--ui-border);font-family:var(--font-mono);font-size:0.82em;line-height:1.4;
}
.md-content pre code{border:none;padding:0;background:transparent}
.md-content table{width:100%;border-collapse:collapse;margin:0.5em 0;font-size:0.88em}
.md-content th,.md-content td{border:1px solid var(--border-light);padding:4px 6px;text-align:left;vertical-align:top}
.md-content th{background:var(--bg-panel);color:var(--accent);font-family:var(--font-mono);font-size:0.78em;text-transform:uppercase;letter-spacing:0.04em}
.md-content hr{border:none;border-top:1px dashed var(--border-light);margin:0.7em 0}
.md-content blockquote{margin:0.5em 0;padding:0.2em 0 0.2em 10px;border-left:2px solid var(--accent);color:var(--text-dim)}
.md-content a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.md-content a:hover{opacity:0.85}

#result-text.md-content{
    font-size:0.92rem;line-height:1.65;flex:1;min-height:0;overflow-y:auto;padding-right:6px;
}
.panel.telemetry #result-text.md-content{
    font-size:1rem;line-height:1.7;
}
.panel.telemetry #result-text.md-content .md-content,
.panel.telemetry #result-text.md-content{
    font-size:1rem;
}
.orb-st .result-reveal.md-content{
    font-size:0.72rem;text-align:left;max-height:140px;overflow-y:auto;
}
.reply-text.md-content{white-space:normal;overflow-y:auto;flex:1;min-height:0}
.panel.telemetry .reply-text.md-content{font-size:0.95rem;line-height:1.7;max-height:none}
.panel.telemetry .md-content h1{font-size:1.15em}
.panel.telemetry .md-content h2{font-size:1.08em}
.panel.telemetry .md-content h3,.panel.telemetry .md-content h4{font-size:1.02em}
.panel.telemetry .md-content p{margin:0.55em 0}
.panel.telemetry .md-content li{margin:0.35em 0}
.panel.telemetry .md-content table{font-size:0.92em}
.orb-mt{display:flex;justify-content:space-between}
.orb-mb{background:rgba(11,10,10,0.8);border:var(--ui-border);padding:6px 10px;transition:opacity 0.5s}
.orb-mb .l{font-size:0.5rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.1em}
.orb-mb .v{font-size:0.9rem;color:var(--text-main);display:block;margin-top:2px;font-family:var(--font-mono);transition:color 0.5s}

.telemetry{display:flex;flex-direction:column;min-height:0;font-size:1.06em}
.telemetry>.panel-hd{flex-shrink:0}
.telemetry>.stat-g{flex-shrink:0}
.telemetry>.stream{
    flex:0 1 auto;min-height:72px;max-height:26%;
    padding:12px 14px;overflow-y:auto;
    display:flex;flex-direction:column;gap:4px;
    font-family:var(--font-mono);font-size:0.68rem;line-height:1.45;
    border-bottom:var(--ui-border);
}
.telemetry>.result{flex:1 1 auto;min-height:0;border-top:none}
.stat-g{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-light)}
.stat-b{background:var(--bg-surface);padding:12px 14px}
.stat-b .l{color:var(--text-dim);font-size:0.58rem;text-transform:uppercase;letter-spacing:0.06em}
.stat-b .v{color:var(--accent);font-size:1rem;margin-top:4px;font-family:var(--font-mono)}
.stat-b .v.pink{color:#b478c8}

.stream{padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px;font-family:var(--font-mono);font-size:0.55rem}
.sl{
    display:block;padding:5px 6px 5px 8px;line-height:1.45;
    border-bottom:1px solid rgba(255,255,255,0.03);opacity:0.88;
    animation:logIn 0.3s ease-out;
}
.telemetry .sl{font-size:0.68rem;padding:6px 8px 6px 10px}
@keyframes logIn{from{opacity:0;transform:translateX(-5px)}to{opacity:0.8;transform:translateX(0)}}
.sl.ok{color:var(--text-main);border-left:2px solid var(--accent);padding-left:6px}
.sl.ok.fast{border-left-color:#64b4dc}
.sl.ok.slow{border-left-color:#c8b464}
.sl.rt{color:#c8b464;border-left:2px solid #c8b464;padding-left:6px}
.sl.er{color:#b478c8;border-left:2px solid #b478c8;padding-left:6px;opacity:0.5}

.result{border-top:var(--ui-border);padding:0;background:var(--bg-panel);display:flex;flex-direction:column;min-height:0;overflow:hidden}
.result-tabs{display:flex;border-bottom:var(--ui-border);flex-shrink:0}
.result-tab{
    flex:1;padding:10px 12px;background:transparent;border:none;border-bottom:2px solid transparent;
    color:var(--text-dim);font-family:var(--font-mono);font-size:0.58rem;text-transform:uppercase;
    letter-spacing:0.08em;cursor:pointer;transition:color 0.2s,border-color 0.2s;
}
.result-tab:hover{color:var(--text-main)}
.result-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-badge{
    display:inline-block;min-width:16px;padding:1px 5px;margin-left:4px;
    border:1px solid var(--border-light);border-radius:8px;font-size:0.52rem;
}
.result-pane{display:none;flex-direction:column;min-height:0;overflow:hidden;padding:16px;flex:1}
.result-pane.active{display:flex}
.result .h{font-size:0.58rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;flex-shrink:0}
.result .h .cp{background:none;border:none;color:var(--text-dim);font-family:var(--font-mono);font-size:0.55rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color 0.2s;display:none}
.result .h .cp:hover{color:var(--accent)}
.result .h .cp.show{display:inline}
.consensus-stats{margin-bottom:12px;flex-shrink:0}
.stat-bar-row{display:grid;grid-template-columns:64px 1fr 40px;gap:8px;align-items:center;margin-bottom:8px}
.stat-bar-label{font-family:var(--font-mono);font-size:0.55rem;color:var(--text-dim);text-transform:uppercase}
.stat-bar{height:8px;background:var(--bg-base);border:1px solid var(--border-light);overflow:hidden}
.stat-bar-fill{height:100%;width:0;transition:width 0.6s ease}
.stat-bar-fill.exact{background:var(--accent)}
.stat-bar-fill.divergent{background:#b478c8}
.stat-bar-val{font-family:var(--font-mono);font-size:0.55rem;color:var(--text-main);text-align:right}
.consensus-note{font-family:var(--font-mono);font-size:0.55rem;color:var(--text-dim);margin-top:6px;line-height:1.5}
.sim-metric-pick{
    display:block;font-family:var(--font-mono);font-size:0.55rem;color:var(--text-dim);
    text-transform:uppercase;letter-spacing:0.08em;margin-bottom:8px;
}
.sim-metric-select{
    width:100%;margin-bottom:10px;padding:6px 8px;
    background:var(--bg-base);border:var(--ui-border);color:var(--text-main);
    font-family:var(--font-mono);font-size:0.58rem;outline:none;cursor:pointer;
}
.sim-metric-select:focus{border-color:var(--accent)}
.orb-sim-pick{
    flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 10px 8px;
}
.orb-sim-pick .sim-metric-pick{margin:0;white-space:nowrap}
.orb-sim-pick .sim-metric-select{width:auto;min-width:120px;flex:1;margin:0}
.sim-matrix-host{margin-top:8px;flex-shrink:0}
.sim-matrix-wrap{overflow-x:auto;max-width:100%}
.sim-matrix{
    width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:0.52rem;
}
.sim-matrix th,.sim-matrix td{
    padding:4px 6px;border:1px solid var(--border-light);text-align:center;white-space:nowrap;
}
.sim-matrix th:first-child,.sim-matrix td:first-child{text-align:left;max-width:88px;overflow:hidden;text-overflow:ellipsis}
.sim-matrix thead th{
    position:sticky;top:0;background:var(--bg-panel);color:var(--text-dim);
    text-transform:uppercase;letter-spacing:0.06em;font-weight:400;
}
.sim-matrix th.active,.sim-matrix td.active{
    color:var(--accent);border-color:rgba(120,200,150,0.35);background:rgba(120,200,150,0.06);
}
.sim-matrix-wrap.compact .sim-matrix{font-size:0.42rem}
.sim-matrix-wrap.compact .sim-matrix th,.sim-matrix-wrap.compact .sim-matrix td{padding:3px 4px}
.sim-matrix-wrap.compact .sim-matrix th:first-child,.sim-matrix-wrap.compact .sim-matrix td:first-child{max-width:64px}
.reply-sim-hd{
    font-family:var(--font-mono);font-size:0.52rem;color:var(--text-dim);
    text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px;
}
.reply-sim-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:4px;
}
.reply-sim-cell{
    display:flex;flex-direction:column;align-items:center;gap:2px;
    padding:4px 3px;border:1px solid var(--border-light);background:var(--bg-base);border-radius:4px;
}
.reply-sim-cell.active{border-color:var(--accent);background:rgba(120,200,150,0.08)}
.reply-sim-cell .l{font-family:var(--font-mono);font-size:0.45rem;color:var(--text-dim);text-transform:uppercase}
.reply-sim-cell .v{font-family:var(--font-mono);font-size:0.55rem;color:var(--text-main)}
.reply-sim-cell.active .v{color:var(--accent)}
.result .t{font-family:var(--font-sans);color:var(--text-main);font-size:0.88rem;line-height:1.6;display:none;overflow-y:auto;flex:1;min-height:0}
.models-used{font-family:var(--font-mono);font-size:0.55rem;color:var(--text-dim);margin-top:8px;display:none;gap:6px;flex-wrap:wrap;flex-shrink:0}
.models-used.show{display:flex}
.models-used span{border:1px solid var(--border-light);padding:2px 7px;border-radius:8px;opacity:0.75}
.reply-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1;min-height:0}
.reply-empty{font-family:var(--font-mono);font-size:0.65rem;color:var(--text-dim);opacity:0.6;padding:8px 0}
.reply-card{border:var(--ui-border);background:var(--bg-surface);overflow:hidden}
.reply-hd{
    width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;
    padding:10px 12px;background:transparent;border:none;color:var(--text-main);
    font-family:var(--font-mono);font-size:0.65rem;cursor:pointer;text-align:left;
}
.reply-hd:hover{background:rgba(255,255,255,0.02)}
.reply-hd .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reply-hd .chev{color:var(--accent);transition:transform 0.2s;flex-shrink:0}
.reply-card.open .reply-hd .chev{transform:rotate(90deg)}
.reply-bd{display:none;padding:0 12px 12px;border-top:1px dashed var(--border-light)}
.reply-card.open .reply-bd{display:flex;flex-direction:column;min-height:0;max-height:min(65vh,480px);overflow:hidden}
.reply-text{font-family:var(--font-sans);font-size:0.88rem;line-height:1.6;color:var(--text-main);padding-top:10px}
.reply-sim{font-family:var(--font-mono);font-size:0.55rem;color:var(--text-dim);margin-top:8px;flex-shrink:0}
.reply-sim .hl{color:var(--accent)}
.reply-actions{display:flex;gap:8px;margin-top:8px;flex-shrink:0}
.reply-actions button{
    background:none;border:1px solid var(--border-light);color:var(--text-dim);
    font-family:var(--font-mono);font-size:0.55rem;padding:4px 10px;cursor:pointer;
}
.reply-hd .meta{color:var(--text-dim);font-size:0.55rem;white-space:nowrap}
.reply-actions button:hover{border-color:var(--accent);color:var(--accent)}

.welcome-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,0.9);backdrop-filter:blur(8px);
    display:flex;align-items:center;justify-content:center;z-index:10000;padding:1.5rem;
}
.welcome-overlay[hidden]{display:none}
.welcome-card{
    background:var(--bg-panel);border:var(--ui-border);max-width:480px;width:min(480px,92%);
    padding:2rem;position:relative;z-index:1;
}
.welcome-step{display:none}
.welcome-step.active{display:block}
.welcome-kicker{font-family:var(--font-mono);font-size:0.55rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:0.75rem}
.welcome-card h2{font-family:var(--font-display);font-size:1.35rem;font-weight:400;color:var(--text-main);margin-bottom:0.75rem}
.welcome-card p{font-size:0.72rem;color:var(--text-dim);line-height:1.6;margin-bottom:1rem}
.welcome-card code{font-family:var(--font-mono);font-size:0.65rem;color:var(--accent)}
.welcome-list,.welcome-steps{margin:0 0 1.25rem 1.1rem;font-size:0.7rem;color:var(--text-dim);line-height:1.7}
.welcome-card input:not([type=range]){width:100%;padding:0.75rem;background:var(--bg-base);border:var(--ui-border);color:var(--text-main);font-family:var(--font-mono);font-size:0.75rem;outline:none;margin-bottom:0.75rem}
.welcome-card input:not([type=range]):focus{border-color:var(--accent)}
.welcome-card .hint{font-size:0.65rem;color:var(--text-dim);margin-bottom:1rem}
.welcome-card .hint a{color:var(--accent)}
.welcome-card .btn{margin-top:0}

.zoom-overlay{position:fixed;inset:0;z-index:10001;pointer-events:none}
.zoom-overlay[hidden]{display:none}
body.zoom-tuning{overflow:hidden}
.zoom-corner{
    position:fixed;width:18px;height:18px;border:1px solid var(--accent);
    pointer-events:none;opacity:0.75;
}
.zoom-corner.c-tl{top:8px;left:8px;border-right:none;border-bottom:none}
.zoom-corner.c-tr{top:8px;right:8px;border-left:none;border-bottom:none}
.zoom-corner.c-bl{bottom:8px;left:8px;border-right:none;border-top:none}
.zoom-corner.c-br{bottom:8px;right:8px;border-left:none;border-top:none}
.zoom-dock-inner{
    position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
    width:min(380px,92vw);pointer-events:auto;
    padding:1.25rem 1.5rem 1.35rem;
    background:rgba(20,18,18,0.97);border:1px solid rgba(120,200,150,0.55);
    box-shadow:0 0 0 1px rgba(120,200,150,0.12),0 12px 40px rgba(0,0,0,0.65),0 0 48px rgba(120,200,150,0.12);
}
.zoom-dock-kicker{
    display:block;font-family:var(--font-mono);font-size:0.55rem;color:var(--accent);
    text-transform:uppercase;letter-spacing:0.14em;margin-bottom:10px;text-align:center;
}
.zoom-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}
.zoom-preset{
    font-size:0.48rem;padding:7px 4px;cursor:pointer;background:rgba(11,10,10,0.6);
    border:1px dashed var(--border-med);color:var(--text-dim);transition:0.2s;
    font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.05em;
}
.zoom-preset:hover,.zoom-preset.active{border-color:var(--accent);color:var(--accent)}
.zoom-preset.active{background:var(--accent-glow)}
.zoom-slider-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.zoom-val{font-family:var(--font-mono);font-size:0.65rem;color:var(--accent);min-width:40px;text-align:right;font-weight:700}
.zoom-slider{
    flex:1;-webkit-appearance:none;appearance:none;height:5px;
    background:var(--bg-base);border:1px solid var(--border-med);outline:none;
}
.zoom-slider::-webkit-slider-thumb{
    -webkit-appearance:none;width:12px;height:12px;background:var(--accent);border:none;cursor:pointer;
    box-shadow:0 0 8px rgba(120,200,150,0.5);
}
.zoom-slider::-moz-range-thumb{width:12px;height:12px;background:var(--accent);border:none;cursor:pointer;border-radius:0;box-shadow:0 0 8px rgba(120,200,150,0.5)}
.zoom-done{
    width:100%;padding:9px;cursor:pointer;text-transform:uppercase;letter-spacing:0.08em;
    font-family:var(--font-mono);font-size:0.55rem;
    background:rgba(120,200,150,0.08);border:1px solid var(--accent);color:var(--accent);
    transition:background 0.2s,color 0.2s;
}
.zoom-done:hover{background:var(--accent);color:var(--bg-base)}

.theme-overlay{
    position:fixed;inset:0;z-index:10002;
    display:flex;align-items:flex-start;justify-content:center;
    padding:72px 1.25rem 1.25rem;
}
.theme-overlay[hidden]{display:none}
body.theme-menu-open{overflow:hidden}
.theme-backdrop{
    position:absolute;inset:0;border:none;padding:0;cursor:pointer;
    background:rgba(8,8,10,0.45);
    backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.theme-panel{
    position:relative;z-index:1;pointer-events:auto;
    width:min(420px,94vw);padding:1.1rem 1.25rem 1.25rem;
    background:var(--bg-surface);border:1px solid var(--border-med);
    box-shadow:0 16px 48px rgba(0,0,0,0.55);border-radius:10px;
}
.theme-panel-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.theme-panel-hd h2{
    font-family:var(--font-mono);font-size:0.7rem;
    text-transform:uppercase;letter-spacing:0.12em;color:var(--text-dim);font-weight:400;
}
.theme-close{
    background:none;border:none;color:var(--text-dim);
    font-size:1.25rem;line-height:1;cursor:pointer;padding:2px 6px;
}
.theme-close:hover{color:var(--text-main)}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.theme-opt{
    display:flex;flex-direction:column;align-items:stretch;gap:8px;
    padding:8px;background:var(--bg-panel);border:1px solid var(--border-light);
    border-radius:8px;cursor:pointer;color:var(--text-main);
    font-family:var(--font-sans);font-size:0.72rem;text-align:left;
    transition:border-color 0.15s,box-shadow 0.15s;
}
.theme-opt:hover{border-color:var(--border-med)}
.theme-opt.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}
.theme-preview{
    display:flex;height:40px;border-radius:5px;overflow:hidden;
    border:1px solid rgba(255,255,255,0.06);
}
.theme-preview span{flex:1}
.theme-name{font-family:var(--font-mono);font-size:0.62rem;color:var(--text-dim)}
.theme-opt[data-theme="default"] .sw-bg{background:#0B0A0A}
.theme-opt[data-theme="default"] .sw-surface{background:#141212}
.theme-opt[data-theme="default"] .sw-accent{background:#78c896}
.theme-opt[data-theme="ocean"] .sw-bg{background:#080c10}
.theme-opt[data-theme="ocean"] .sw-surface{background:#101820}
.theme-opt[data-theme="ocean"] .sw-accent{background:#64b4dc}
.theme-opt[data-theme="ember"] .sw-bg{background:#100c0a}
.theme-opt[data-theme="ember"] .sw-surface{background:#181210}
.theme-opt[data-theme="ember"] .sw-accent{background:#e8a87c}
.theme-opt[data-theme="paper"] .sw-bg{background:#f3efe8}
.theme-opt[data-theme="paper"] .sw-surface{background:#fffdf9}
.theme-opt[data-theme="paper"] .sw-accent{background:#2f6b4f}
.theme-opt[data-theme="violet"] .sw-bg{background:#0c0a10}
.theme-opt[data-theme="violet"] .sw-surface{background:#141018}
.theme-opt[data-theme="violet"] .sw-accent{background:#b48cdc}
.theme-opt[data-theme="slate"] .sw-bg{background:#0e1014}
.theme-opt[data-theme="slate"] .sw-surface{background:#161a20}
.theme-opt[data-theme="slate"] .sw-accent{background:#94a8b8}

.no-key-banner{
    flex-shrink:0;padding:8px 12px;border:1px dashed rgba(120,200,150,0.3);
    background:rgba(120,200,150,0.05);font-family:var(--font-mono);font-size:0.55rem;
    color:var(--text-dim);display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.no-key-banner button{
    background:none;border:1px solid var(--border-med);color:var(--text-main);
    font-family:var(--font-mono);font-size:0.5rem;padding:4px 10px;cursor:pointer;white-space:nowrap;
}
.no-key-banner button:hover{border-color:var(--accent);color:var(--accent)}

.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;visibility:hidden;transition:0.3s}
.modal-overlay.active{opacity:1;visibility:visible}
.modal{background:var(--bg-panel);border:var(--ui-border);padding:2rem;max-width:420px;width:min(420px,92%);transform:scale(0.95);transition:0.3s}
.modal-overlay.active .modal{transform:scale(1)}
.modal h2{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--accent);margin-bottom:0.5rem}
.modal p{font-size:0.7rem;color:var(--text-dim);margin-bottom:1.25rem;line-height:1.5}
.modal input{width:100%;padding:0.75rem;background:var(--bg-base);border:var(--ui-border);color:var(--text-main);font-family:var(--font-mono);font-size:0.75rem;outline:none;margin-bottom:1rem}
.modal input:focus{border-color:var(--accent)}
.modal .hint{font-size:0.65rem;color:var(--text-dim);margin-bottom:1.25rem}
.modal .hint a{color:var(--accent)}
.modal-actions{display:flex;gap:0.75rem;margin-top:0.25rem}
.modal-actions button{
    flex:1;padding:0.75rem;cursor:pointer;text-transform:uppercase;letter-spacing:0.05em;
    font-family:var(--font-mono);font-size:0.65rem;transition:background 0.2s,color 0.2s,border-color 0.2s;
    background:transparent;border:1px solid var(--accent);color:var(--accent);
}
.modal-actions button:hover{background:var(--accent);color:var(--bg-base)}
.modal-actions button.dim{border-color:var(--border-med);color:var(--text-dim)}
.modal-actions button.dim:hover{background:rgba(255,255,255,0.08);color:var(--text-main);border-color:var(--text-dim)}

.model-modal{max-width:640px;max-height:72%;overflow:hidden;padding:2rem;background:var(--bg-panel);border:var(--ui-border);width:min(640px,92%);transform:scale(0.95);transition:0.3s;position:relative;display:flex;flex-direction:column}
.model-modal h2{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--accent);margin-bottom:1rem}
.model-search{width:100%;padding:0.5rem 0.6rem;margin-bottom:0.75rem;background:var(--bg-base);border:var(--ui-border);color:var(--text-main);font-family:var(--font-mono);font-size:0.6rem;outline:none}
.model-search:focus{border-color:var(--accent)}.model-search::placeholder{color:var(--text-dim)}
.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:0.4rem;overflow-y:auto;flex:1}
.model-card{border:var(--ui-border);padding:0.4rem 0.5rem;cursor:pointer;transition:0.2s;font-family:var(--font-mono);font-size:0.55rem;color:var(--text-dim)}
.model-card:hover{border-color:var(--accent)}
.model-card.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}
.model-card .nm{margin-bottom:2px}.model-card .pv{font-size:0.45rem;text-transform:uppercase;opacity:0.4}
.model-card .pr{font-size:0.4rem;opacity:0.3;margin-left:4px}
.modal-toolbar{display:flex;justify-content:flex-end;gap:0.5rem;margin-bottom:0.75rem;flex-shrink:0}
.modal-toolbar button{
    font-size:0.5rem;padding:0.25rem 0.5rem;cursor:pointer;background:transparent;
    border:var(--ui-border);color:var(--text-dim);transition:0.2s;font-family:var(--font-mono);text-transform:uppercase;
}
.modal-toolbar button:hover{border-color:var(--accent);color:var(--accent)}
.close-btn{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-dim);font-size:1.1rem;cursor:pointer}
.close-btn:hover{color:var(--accent)}

.error{
    position:fixed;bottom:1rem;left:50%;transform:translateX(-50%) translateY(100px);
    background:rgba(180,120,200,0.08);border:1px solid rgba(180,120,200,0.3);
    padding:0.6rem 1rem;font-size:0.65rem;color:rgba(180,120,200,0.9);
    max-width:500px;width:min(500px,92%);text-align:center;z-index:200;
    opacity:0;transition:0.3s;cursor:pointer;font-family:var(--font-mono);
}
.error.active{opacity:1;transform:translateX(-50%) translateY(0)}

.blink{animation:blink 1s linear infinite}@keyframes blink{50%{opacity:0}}
.bracket{color:var(--accent)}
