:root{--text:#2b2b2b;--panel:#ffffffd1;--panel-border:#cfcbc4;--hp:#5cb85c;--xp:#e8b84a;--bar-back:#cfcbc4}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--text);-webkit-user-select:none;user-select:none;background:#dad6ce;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow:hidden}#game{cursor:crosshair;width:100vw;height:100vh;display:block}.hud{pointer-events:none;position:fixed}#hud-bottom{flex-direction:column;align-items:center;gap:6px;width:min(420px,100vw - 32px);transition:opacity .4s;display:flex;bottom:18px;left:50%;transform:translate(-50%)}#hud-level{font-size:16px;font-weight:700}.bar{background:var(--bar-back);border:2px solid #a9a59e;border-radius:9px;width:100%;height:18px;position:relative;overflow:hidden}#hud-xp{height:14px}.bar .fill{width:100%;position:absolute;inset:0 auto 0 0}#hud-hp .fill{background:var(--hp)}#hud-xp .fill{background:var(--xp)}.bar .label{justify-content:center;align-items:center;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}#hud-debug{background:var(--panel);white-space:pre;border-radius:6px;padding:6px 8px;font:12px ui-monospace,Menlo,monospace;top:64px;left:12px}.screen{justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}#death{z-index:6}.card{border:2px solid var(--panel-border);text-align:center;background:#fff;border-radius:14px;width:min(420px,100%);padding:28px 24px 22px}#logo{letter-spacing:.01em;isolation:isolate;pointer-events:none;margin:0;padding-top:.95em;font:400 clamp(54px,13vw,96px)/1 Lilita One,Arial Black,system-ui,sans-serif;animation:.5s cubic-bezier(.2,.9,.3,1.25) both logo-in;position:relative}.logo-art{z-index:-1;width:3.9em;height:1.5em;margin-left:-2.15em;position:absolute;top:-.12em;left:50%}.logo-text{white-space:nowrap;display:inline-block;position:relative;transform:skew(-9deg)}.logo-text:before,.logo-text:after{content:attr(data-text);z-index:-1;color:#0000;paint-order:stroke fill;position:absolute;inset:0}.logo-text:before{-webkit-text-stroke:.26em #fff;filter:drop-shadow(0 .05em .06em #0000002e)}.logo-text:after{-webkit-text-stroke:.14em #161616;text-shadow:0 .06em #161616}.logo-text .w,.logo-text .b{color:#0000;-webkit-background-clip:text;background-clip:text}.logo-text .w{background-image:linear-gradient(#fff 0 60%,#dcdde3 60% 100%)}.logo-text .b{background-image:linear-gradient(#3b9bff 0 60%,#1f7ff0 60% 100%)}@keyframes logo-in{0%{opacity:0;transform:translateY(-10px)scale(.92)}}.card h2{margin:0 0 16px;font-size:22px}#lobby-form{flex-direction:column;gap:10px;display:flex}#name{font:inherit;border:2px solid var(--panel-border);text-align:center;border-radius:8px;outline:none;padding:10px 12px;font-size:18px}#name:focus{border-color:#3d7dd8}.card button{font:inherit;color:#fff;cursor:pointer;background:#3d7dd8;border:2px solid #2f64ad;border-radius:8px;width:100%;padding:12px;font-size:20px;font-weight:700}.card button:hover{background:#356fc2}.card button:disabled{opacity:.6;cursor:wait}.controls{color:#6b6760;margin:16px 0 0;font-size:13px;line-height:1.5}.error{color:#c0392b;margin:12px 0 0;font-size:14px}.stats{gap:8px;margin:0 0 20px;display:grid}.stats div{background:#f4f2ee;border-radius:8px;justify-content:space-between;padding:8px 12px;display:flex}.stats dt{color:#6b6760}.stats dd{margin:0;font-weight:700}#banner{background:var(--panel);border:2px solid var(--panel-border);white-space:nowrap;border-radius:999px;padding:8px 18px;font-size:16px;font-weight:700;top:14px;left:50%;transform:translate(-50%)}#killfeed{flex-direction:column;align-items:flex-end;gap:4px;max-width:calc(100vw - 32px);margin:0;padding:0;list-style:none;display:flex}#killfeed li{background:var(--panel);border-radius:6px;padding:4px 10px;font-size:13px;transition:opacity .6s}#killfeed b{font-weight:700}#upgrades{background:var(--panel);border:2px solid var(--panel-border);border-radius:10px;width:264px;padding:10px;animation:.25s ease-out slide-in;position:fixed;bottom:18px;left:14px}@keyframes slide-in{0%{transform:translate(-120%)}}.upgrades-title{margin-bottom:8px;font-size:14px;font-weight:700}#upgrade-points{color:#6b6760;font-weight:600}#upgrade-buttons{flex-direction:column;gap:5px;display:flex}.up-btn{font:inherit;border:2px solid var(--panel-border);color:var(--text);cursor:pointer;text-align:left;background:#fff;border-radius:7px;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:grid}.up-btn:hover:not(:disabled){border-color:#3d7dd8}.up-btn:disabled{opacity:.45;cursor:default}.up-btn>span:nth-child(2){white-space:nowrap}.up-key{color:#6b6760;font-weight:700}.pips{gap:2px;display:flex}.pip{background:#e2ded6;border:1px solid #b9b5ae;border-radius:2px;width:6px;height:8px}.pip.on{background:#3d7dd8;border-color:#2f64ad}#console{color:#f1efea;background:#2b2b2beb;border-radius:10px;width:min(560px,100vw - 32px);font:13px/1.45 ui-monospace,Menlo,monospace;position:fixed;top:60px;left:50%;overflow:hidden;transform:translate(-50%)}#console-log{white-space:pre-wrap;-webkit-user-select:text;user-select:text;max-height:260px;padding:8px 12px 4px;overflow-y:auto}#console-log .in{color:#9fc3f5}#console-input{color:#fff;width:100%;font:inherit;background:0 0;border:none;border-top:1px solid #4a4f57;outline:none;padding:8px 12px;display:block}#sound-btn{font:inherit;border:2px solid var(--panel-border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:600}#sound-btn.off{color:#8a8f96}#announce{text-align:center;white-space:nowrap;max-width:calc(100vw - 32px);top:18%;left:50%;transform:translate(-50%)}#announce.play{animation:2.4s ease-out forwards announce}.announce-title{letter-spacing:6px;text-transform:uppercase;color:#d9534f;font-size:15px;font-weight:800}.announce-name{color:var(--text);text-overflow:ellipsis;-webkit-text-stroke:1px #fff;paint-order:stroke fill;font-size:34px;font-weight:800;overflow:hidden}.announce-xp{color:#c9931c;margin-top:2px;font-size:18px;font-weight:800}@keyframes announce{0%{opacity:0;transform:translate(-50%)scale(1.6)}10%{opacity:1;transform:translate(-50%)scale(1)}75%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-14px)}}#hud-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex;top:12px;right:14px}#leaderboard{background:var(--panel);border:2px solid var(--panel-border);border-radius:10px;width:210px;padding:8px 8px 6px;font-size:13px}.lb-head{letter-spacing:1.5px;text-transform:uppercase;justify-content:space-between;align-items:baseline;padding:0 4px 6px;font-size:12px;font-weight:800;display:flex}#lb-count{letter-spacing:0;text-transform:none;color:#6b6760;font-weight:600}#lb-rows{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}#lb-rows li{border-radius:6px;grid-template-columns:20px 1fr auto;align-items:center;gap:6px;padding:3px 4px;display:grid}#lb-rows .rank{color:#8a8f96;text-align:right;font-weight:700}#lb-rows li:first-child .rank{color:#c9931c}#lb-rows .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}#lb-rows .lv{font-variant-numeric:tabular-nums;color:#4a4f57;font-size:12px;font-weight:700}#lb-rows .dot{vertical-align:-.5px;border:1.5px solid #00000059;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}#lb-rows li.me{background:#3d7dd824}#lb-rows li.me .name{color:#2f64ad}#lb-rows li.gap{color:#a9a59e;text-align:center;padding:0 4px;line-height:8px;display:block}#hud-corner{flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:18px;right:14px}#lobby-code{font:inherit;border:2px solid var(--panel-border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-end;padding:7px 12px 6px;line-height:1.15;display:flex}#lobby-code:hover{border-color:#3d7dd8}.code-label{letter-spacing:1.5px;text-transform:uppercase;color:#6b6760;font-size:10px;font-weight:700}#lobby-code-value{letter-spacing:4px;margin-right:-4px;font:800 24px ui-monospace,Menlo,monospace}#lobby-code-note{color:#6b6760;font-size:11px}#lobby-code-note:empty{display:none}.view{flex-direction:column;gap:10px;animation:.22s ease-out view-in;display:flex}@keyframes view-in{0%{opacity:0;transform:translateY(8px)}}.card button.secondary{color:#2f64ad;background:#fff;padding:10px;font-size:17px}.card button.secondary:hover{background:#eef3fb}.split{grid-template-columns:1fr 1fr;gap:10px;display:grid}.split button{animation:.24s cubic-bezier(.2,.8,.3,1.2) split-in}.split button:first-child{transform-origin:100%}.split button:last-child{transform-origin:0}@keyframes split-in{0%{opacity:0;transform:scaleX(.5)}}.card button.back{color:#6b6760;background:0 0;border:none;padding:4px;font-size:15px;font-weight:600}.card button.back:hover{color:var(--text);background:0 0}.note{color:#6b6760;margin:-2px 0 0;font-size:13px}.settings{text-align:left;flex-direction:column;gap:6px;margin-bottom:6px;display:flex}.setting{background:#f4f2ee;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 12px;font-weight:600;display:flex}.setting small{color:#6b6760;font-size:12px;font-weight:400;display:block}.card button.toggle{background:#d6d2ca;border:2px solid #b9b5ae;border-radius:999px;flex:none;width:46px;height:26px;padding:0;transition:background .15s,border-color .15s;position:relative}.card button.toggle:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.card button.toggle[aria-checked=true]{background:#3d7dd8;border-color:#2f64ad}.card button.toggle[aria-checked=true]:after{transform:translate(20px)}.segmented{border:2px solid var(--panel-border);background:#fff;border-radius:8px;display:flex;overflow:hidden}.card .segmented button{color:#6b6760;background:#fff;border:none;border-radius:0;width:auto;padding:5px 12px;font-size:14px}.card .segmented button[aria-checked=true]{color:#fff;background:#3d7dd8}#set-size{font:inherit;border:2px solid var(--panel-border);color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:5px 8px;font-size:14px;font-weight:600}.code-input{letter-spacing:12px;text-indent:12px;text-transform:uppercase;text-align:center;border:2px solid var(--panel-border);border-radius:8px;outline:none;padding:10px;font:800 34px ui-monospace,Menlo,monospace}.code-input:focus{border-color:#3d7dd8}.code-input::placeholder{color:#cfcbc4}#vignette{z-index:5;pointer-events:none;opacity:0;background:radial-gradient(#0a0a0e6b 0%,#0a0a0e9e 60%,#0a0a0ee0 100%);transition:opacity .25s;position:fixed;inset:0}#vignette.on{opacity:1;transition:opacity 1.2s ease-out}.death{color:#fff;flex-direction:column;align-items:center;gap:34px;width:min(680px,100%);display:flex}.outlined{color:#fff;-webkit-text-stroke:6px #2b2b2b;paint-order:stroke fill;font-weight:800}.death-head{text-align:center;line-height:1.1}#death-by{font-size:24px}#death-killer{text-overflow:ellipsis;white-space:nowrap;max-width:90vw;font-size:40px;overflow:hidden}#death-killer:empty{display:none}.death-body{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(32px,9vw,110px);display:flex}.death-stats{grid-template-columns:auto auto;gap:10px 14px;margin:0;font-size:30px;display:grid}.death-stats div{display:contents}.death-stats dd{font-variant-numeric:tabular-nums;margin:0}.death-tank{flex-direction:column;align-items:center;gap:10px;margin:0;display:flex}.portrait{background:linear-gradient(#d4ecff 0 58%,#b4d8f6 58%);border:4px solid #2f64ad;border-radius:8px;width:150px;height:150px;box-shadow:0 6px #0000002e}#death-portrait{width:100%;height:100%;display:block}#death-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:22px;overflow:hidden}button.chunky{font:inherit;cursor:pointer;-webkit-text-stroke:5px #2b2b2b;background:linear-gradient(#5d9ae8 0 55%,#3d7dd8 55%);border:4px solid #2b2b2b;border-radius:10px;padding:12px 52px 14px;font-size:30px;font-weight:800;transition:transform 80ms,filter .12s}button.chunky:hover{filter:brightness(1.08)}button.chunky:active{transform:translateY(2px)}.rise{animation:.45s cubic-bezier(.2,.8,.3,1) both rise}.death-head.rise{animation-delay:50ms}.death-stats .rise:first-child{animation-delay:.18s}.death-stats .rise:nth-child(2){animation-delay:.24s}.death-stats .rise:nth-child(3){animation-delay:.3s}.death-stats .rise:nth-child(4){animation-delay:.36s}.death-tank.rise{animation-delay:.28s}.death>button.rise{animation-delay:.5s}.death-stats .rise dt,.death-stats .rise dd{animation:inherit;animation-delay:inherit}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}@media (prefers-reduced-motion:reduce){#logo,.view,.split button,.rise,.death-stats .rise dt,.death-stats .rise dd{animation:none}}.card button.toggle:hover{background:#cbc7bf}.card button.toggle[aria-checked=true]:hover{background:#356fc2}.card .segmented button:hover{background:#eef3fb}.card .segmented button[aria-checked=true]:hover{background:#356fc2}#hud.dead #hud-bottom{opacity:0}#leave-btn{white-space:nowrap;width:42px;height:42px;font:inherit;color:var(--text);background:var(--panel);border:2px solid var(--panel-border);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 10px;font-size:16px;font-weight:800;transition:width .28s cubic-bezier(.2,.8,.3,1),background .2s,color .2s,border-color .2s,opacity .3s;display:flex;position:fixed;top:12px;left:14px;overflow:hidden}#leave-btn svg{flex:none}#leave-btn span{opacity:0;transition:opacity .18s,transform .22s;transform:translate(-6px)}#leave-btn:hover{border-color:#d9534f}#leave-btn.armed{color:#fff;background:#d9534f;border-color:#b23f3b;width:112px}#leave-btn.armed span{opacity:1;transition-delay:80ms;transform:none}#hud.dead #leave-btn{opacity:0;pointer-events:none}.round-btn{width:42px;height:42px;font:inherit;color:var(--text);background:var(--panel);border:2px solid var(--panel-border);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.round-btn:hover{border-color:#3d7dd8}#top-left-tools{gap:8px;transition:transform .28s cubic-bezier(.2,.8,.3,1),opacity .3s;display:flex;position:fixed;top:12px;left:64px}#leave-btn.armed+#top-left-tools{transform:translate(70px)}#host-btn{color:#9a6e10}#hud.dead #top-left-tools{opacity:0;pointer-events:none}.card button.round-btn.card-gear{color:#6b6760;border:2px solid var(--panel-border);background:#fff;border-radius:50%;width:38px;height:38px;padding:0;position:absolute;top:12px;right:12px}.card button.round-btn.card-gear:hover{color:var(--text);background:#f4f2ee}#lobby .card{position:relative}#lobby{flex-direction:column;gap:18px}.mode-picker{border-width:3px;border-radius:12px;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 4px #0000001f}.mode-picker button{font:inherit;color:#6b6760;cursor:pointer;background:#fff;border:none;padding:9px 28px;font-size:18px;font-weight:800}.mode-picker button:hover{background:#eef3fb}.mode-picker button[aria-checked=true]{color:#fff;background:#3d7dd8}#settings{z-index:8;background:#14141859}.settings-card{width:min(380px,100%)}#opt-volume{accent-color:#3d7dd8;width:150px}.card.host-card{text-align:left;z-index:4;width:min(320px,100vw - 28px);max-height:calc(100vh - 90px);padding:12px;position:fixed;top:64px;left:14px;overflow-y:auto}.panel-head{justify-content:space-between;align-items:center;font-size:15px;font-weight:800;display:flex}.card button.panel-close{color:#6b6760;background:0 0;border:none;width:30px;height:30px;padding:0;font-size:20px;line-height:1}.card button.panel-close:hover{color:var(--text);background:#f4f2ee}.panel-section{letter-spacing:1.5px;text-transform:uppercase;color:#8a8f96;margin:12px 0 6px;font-size:11px;font-weight:800}#host-roster{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}#host-roster li{background:#f4f2ee;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;font-size:14px;display:flex}#host-roster .who{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}#host-roster .lvl{color:#6b6760;font-size:12px}.card #host-roster button{color:#c0392b;background:#fff;border:2px solid #d9534f;border-radius:6px;width:auto;padding:3px 9px;font-size:12px}.card #host-roster button:hover{background:#fdecea}.settings.compact .setting{min-height:38px;padding:4px 10px;font-size:14px}.card button.danger-btn{color:#c0392b;background:#fff;border:2px solid #d9534f;margin-top:10px;padding:8px;font-size:15px}.card button.danger-btn:hover{background:#fdecea}.card button.danger-btn.armed{color:#fff;background:#d9534f}#minimap{border-radius:50%;width:180px;height:180px;box-shadow:0 2px 8px #00000026}#hub-status{background:var(--panel);border:2px solid var(--panel-border);white-space:nowrap;border-radius:999px;padding:5px 14px;font-size:14px;font-weight:800;bottom:112px;left:50%;transform:translate(-50%)}#low-hp{z-index:3;pointer-events:none;opacity:0;background:radial-gradient(#c81e1e00 55%,#c81e1e8c 100%);position:fixed;inset:0}#lb-teams{color:#fff;border-radius:6px;height:22px;margin:0 2px 8px;font-size:12px;font-weight:800;display:flex;overflow:hidden}#lb-teams span{text-shadow:0 1px 1px #00000059;justify-content:center;align-items:center;min-width:34px;transition:flex-grow .5s;display:flex}#lb-rows .crown{margin-left:4px;font-size:12px}
