/* Original circuit-board visual language. System typography, no imported arcade font. */
:root{--ink:#060a16;--panel:#0d1428;--line:#363653;--mint:#40ffb3;--coral:#ff4561;--cyan:#66ebff}
html,body{background:var(--ink);color:#edfaff}
#overlay{background:radial-gradient(ellipse at 20% 0,#352047b8,transparent 60%),linear-gradient(145deg,#090e20ef,#060a16f5)}
#panel{background:linear-gradient(135deg,#111a31,#0c1023);border:1px solid #4b4467;border-top:3px solid #8c73bb;border-radius:4px;box-shadow:0 20px 100px #000a}
.wordmark{font-size:clamp(44px,10vw,76px);font-weight:900;line-height:.87;letter-spacing:-.065em;margin:22px 0 12px;color:#edfaff}
.wordmark span{color:var(--mint)}.tagline{letter-spacing:.22em;font-size:12px;color:#c2b1e8}
input,select,button{background:#171d36;border:1px solid #575576;border-radius:3px}
button:hover:not(:disabled){background:#2a2b4b;border-color:#bca9ed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #66ebff;outline-offset:3px}
#create,#join{border-color:#40ffb3;background:#14332e}#character-lineup{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.character-card{flex:1;min-width:60px;border-top:2px solid var(--identity);padding:10px 6px;text-align:center;background:#ffffff05;font-size:12px;letter-spacing:.06em}
.character-card svg{display:block;width:44px;height:44px;margin:0 auto 6px}.avatar{display:inline-block;width:30px;height:30px;flex-shrink:0;vertical-align:middle;margin-right:6px}
.member{display:flex;align-items:center;background:#ffffff05;border-radius:2px;border-left-width:3px}.member.self{background:#ffffff0f;outline:1px solid #ffffff55}.member.powered{border-top:2px solid #e9ffff}.member.vulnerable{border-top:2px dashed #e9ffff}.member.out{opacity:.55}.member-text{min-width:0;overflow-wrap:anywhere}
#overlay.playing #panel{background:#080d1eee;border-top:2px solid #69548b;padding-right:100px}
#overlay.playing #roster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
#overlay.playing .member{padding:4px 6px;font-size:12px;margin:2px 0;line-height:1.25}
#overlay.playing .avatar{width:25px;height:25px;margin-right:5px}
#overlay.playing #readability-key{display:none}
#overlay.playing #heading{font-size:14px;letter-spacing:.035em}#overlay.playing #notice:empty{display:none}
#audio-toggle{position:fixed;top:8px;right:8px;z-index:8;font-size:12px;padding:7px 10px;margin:0;background:#111a31}
#readability-key{display:flex;flex-wrap:wrap;gap:10px 16px;border-top:1px solid #363653;padding-top:14px;margin-top:16px;color:#c1d2e4;font-size:11px}
#readability-key span{display:flex;align-items:center;gap:6px}#readability-key i{display:inline-block;width:16px;height:16px;box-sizing:border-box;font-style:normal;text-align:center;line-height:14px}
.key-power{border:2px solid white;transform:rotate(22.5deg)}.key-weak{border-left:2px dashed white;border-right:2px dashed white}.key-danger{background:var(--coral);color:#060a16}.key-hunter{background:#24495c;color:var(--cyan)}.key-orb{border:1px solid #ff4dff;color:#ff4dff}.key-shuffle{color:var(--cyan)}
#count-number{color:#efffff;text-shadow:0 0 30px #40ffb366;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.05em}#count-label{text-transform:uppercase;letter-spacing:.15em;font-size:16px;color:#bdf8df}
#celebration{border:1px solid #776094;border-top:3px solid var(--identity,#40ffb3);border-radius:3px;background:radial-gradient(ellipse at 50% 0,#44325b,#11192f 70%)}
#winner-avatar{border:0;border-radius:0;box-shadow:none;width:100px;height:100px;background:transparent}#winner-avatar svg{width:100%;height:100%;filter:drop-shadow(0 0 12px var(--identity))}
#winner-name{font-weight:900;letter-spacing:-.03em}.award{background:#191f38;border-left:2px solid #8c73bb;border-radius:2px}.eyebrow{color:#b9a6db}#scores p{border-bottom:1px solid #ffffff10;padding:8px 0;font-size:12px}
#round-message.warning{animation:none;color:#ffbf69}#round-message{font-size:12px}
@media(max-width:700px){#overlay.playing #roster{grid-template-columns:repeat(2,minmax(0,1fr))}#overlay.playing #panel{padding:6px 8px}#overlay.playing #heading{padding-right:85px;font-size:12px}#overlay.playing .member{font-size:11px}#overlay.playing .avatar{width:23px;height:23px}#overlay.playing #actions button{font-size:10px}#readability-key{gap:9px;font-size:10px}}
@media(max-height:500px) and (min-width:701px){#overlay.playing .avatar{width:20px;height:20px}#overlay.playing .member{font-size:10px}#overlay.playing #round-message{margin:0 8px 0 0}#panel{margin:8px auto}}
@media(max-height:500px){#overlay.summary #roster{display:none}#overlay.summary #heading{font-size:20px;margin-bottom:8px}#overlay.summary #celebration{display:grid;grid-template-columns:76px 1fr;text-align:left;gap:0 12px;padding:10px}#overlay.summary #winner-avatar{grid-column:1;grid-row:1/4;width:68px;height:68px;margin:0}#overlay.summary #winner-title{grid-column:2;grid-row:1;align-self:end}#overlay.summary #winner-name{grid-column:2;grid-row:2;font-size:26px;margin:3px 0}#overlay.summary #winner-caption{grid-column:2;grid-row:3;font-size:12px;margin:3px 0}#overlay.summary #throws{grid-column:1/3;font-size:12px}#overlay.summary #throw-notice{grid-column:1/3;margin:0}#overlay.summary #throw-notice:empty{display:none}}
@media(prefers-reduced-motion:reduce){#winner-avatar svg{filter:none}}
