/* Dark Titanium 6.9.3: visual layer; existing element IDs and actions stay intact. */
@font-face{font-family:'Jarvis Sans';src:url('fonts/jarvis_sans.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Jarvis Serif';src:url('fonts/jarvis_serif.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Jarvis Mono';src:url('fonts/jarvis_mono.ttf') format('truetype');font-display:swap}
:root{--chat-font:system-ui,sans-serif;--chat-size:18px;--panel-opacity:.8;--titan-glow:.35;--map-opacity:.4;--titan-notches:linear-gradient(180deg,transparent 0 29%,#020407 29% 30%,transparent 30% 69%,#020407 69% 70%,transparent 70%);--notch:var(--titan-notches);--steel-h:#b3bfc7;--steel-m:#626e78;--steel-d:#252e37}
:root:not([data-theme]),:root[data-theme=dark]{--bg:#080d13;--bg2:#111820;--surface:#141b23;--text:#edf3f8;--muted:#a4b5c5;--accent:#41d9ef;--cyan:#41d9ef}
:root[data-theme=light]{--accent:#007a91;--cyan:#007a91;--surface:#f7fafc;--bg:#edf2f5;--text:#17232d;--muted:#465b6a;color-scheme:light}
:root[data-theme=pink]{--accent:#a32b7a;--cyan:#a32b7a;--surface:#fff4fa;--text:#432539;--muted:#795266;color-scheme:light}
:root[data-theme=green]{--accent:#66eaa3;--cyan:#66eaa3;--surface:#10261b;--text:#e1f7e9;--muted:#a2c8b0;color-scheme:dark}
:root[data-theme=red]{--accent:#ff8975;--cyan:#ff8975;--surface:#281613;--text:#ffe5df;--muted:#d1aca3;color-scheme:dark}
body{background:var(--bg)!important;animation:none!important}
#holo-map{opacity:var(--map-opacity)}
.card,.composer,.pair-card,.msg.assistant,.msg-row,.owner-banner,.sheet,.modal-card,.msg-pinned,.titan-setting,.titan-font-preview{
 border:3px solid transparent!important;
 background:linear-gradient(color-mix(in srgb,var(--surface) calc(var(--panel-opacity)*100%),var(--bg)),var(--surface)) padding-box,var(--titan-notches) border-box,linear-gradient(130deg,var(--steel-h),var(--steel-d) 25%,var(--steel-m) 52%,var(--steel-d) 75%,var(--steel-h)) border-box!important;
 box-shadow:0 0 0 1px #020407,inset 0 0 0 1px #080b10,0 4px 12px #0002!important;
}
.card::after,.composer::after,.sheet::after,.pair-card::after,.owner-banner::after{height:1px;box-shadow:0 0 calc(16px*var(--titan-glow)) var(--accent)}
.msg{font-family:var(--chat-font);font-size:var(--chat-size);line-height:1.45;overflow-wrap:anywhere}
.msg pre,.msg code{font-family:'Jarvis Mono',monospace;font-size:1em}
#input,#msg-input,.titan-font-preview{font-family:var(--chat-font);font-size:var(--chat-size);line-height:1.45}
.msg .time,.msg .msg-meta,.msg .from{font-family:system-ui,sans-serif;font-size:12px}
.titan-font-preview{padding:16px;border-radius:12px;margin:10px 0;color:var(--text);overflow-wrap:anywhere}
.titan-setting{display:flex;flex-direction:column;gap:8px;padding:14px;margin:10px 0;border-radius:12px;color:var(--text)}
.titan-setting-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:16px}
.titan-setting output{color:var(--cyan);font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.titan-setting input[type=range]{width:100%;height:28px;padding:0;accent-color:var(--cyan);border:0;background:transparent}
.titan-setting select{width:100%;min-height:44px;font-size:16px;color:var(--text);background:var(--bg2);padding:8px}
.titan-toggle{flex-direction:row;align-items:center;justify-content:space-between;min-height:62px}
.titan-toggle input{width:22px;height:22px;accent-color:var(--cyan);flex-shrink:0}
.titan-appearance summary{padding:14px 0;color:var(--text);font-size:18px}
.hud>.shield{display:none}
#core{width:min(42vh,82vw,360px);height:min(42vh,82vw,360px);filter:none}
body.chatting #core{width:min(25vh,56vw,225px);height:min(25vh,56vw,225px)}
#titan-talk{width:min(85%,350px);min-height:60px;margin:10px 0 4px;font-size:21px;letter-spacing:.02em}
body.chatting #titan-talk{min-height:48px;margin:5px 0;font-size:18px}
.titan-setting:focus-within{outline:2px solid var(--cyan);outline-offset:3px}
:root[data-reduced-motion=true] *, :root[data-reduced-motion=true] *::before,:root[data-reduced-motion=true] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:380px){.composer{gap:5px;padding:7px}.composer select{max-width:78px}#input,#msg-input{min-width:0}.msg{max-width:94%}.drawer-body{padding:12px}}
