:root{--bg:#05030f;--ink:#e9ecff;--muted:#8e93c4;--cyan:#3de0ff;--pink:#ff3d8b;--violet:#b34dff;--gold:#ffd83d;--glass:#0c0a209e;--glass-edge:#788cff38;--glow:0 0 18px #3de0ff73;--font-display:"Orbitron", "Arial Black", sans-serif;--font-body:"Rajdhani", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html{touch-action:manipulation;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;height:100%;overflow:hidden}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:none;margin:0;font-size:17px;overflow:hidden}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#labels,#ui{pointer-events:none;position:fixed;inset:0;overflow:hidden}#ui{inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}#ui>*{pointer-events:auto}#ui>.hud,#ui>.screen{pointer-events:none}.anchored{will-change:transform;white-space:nowrap;position:absolute;top:0;left:0}.board-label{font-family:var(--font-display);letter-spacing:.08em;border:1px solid var(--glass-edge);text-shadow:0 0 8px #fff6;background:#080618b3;border-radius:999px;align-items:center;gap:8px;padding:3px 10px 3px 3px;font-size:13px;font-weight:700;display:flex}.board-label.me{font-size:15px}.slot-key{background:var(--cyan);color:#04131a;width:22px;height:22px;box-shadow:0 0 12px var(--cyan);border-radius:50%;place-items:center;font-weight:900;display:inline-grid}.board-label.me .slot-key{background:var(--gold);box-shadow:0 0 12px var(--gold)}.ko-badge{font-family:var(--font-display);color:#ff3d5e;text-shadow:0 0 14px #ff3d5e,0 0 40px #ff3d5e;opacity:0;font-size:30px;font-weight:900;transition:opacity .4s,transform .4s}.ko-badge.show{opacity:1}.tray-label{font-family:var(--font-display);letter-spacing:.35em;color:var(--muted);font-size:12px;font-weight:700}.stats-panel{font-family:var(--font-display);text-align:center;gap:10px;display:grid}.stats-panel span{letter-spacing:.3em;color:var(--muted);font-size:10px;display:block}.stats-panel b{text-shadow:0 0 12px #3de0ff99;font-size:22px;font-weight:700}.special-label{letter-spacing:.04em;color:var(--muted);font-size:15px;font-weight:600}.special-label b{font-family:var(--font-display);letter-spacing:.08em;text-shadow:0 0 10px;font-size:14px}.special-label.compact{color:var(--ink);background:#060512d9;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:8px;padding:4px 14px 4px 4px;display:flex}.special-label.compact .sp-chip{width:26px;height:26px;box-shadow:none;text-shadow:none;color:#fff;font-size:14px}.special-label.compact .sp-text{flex-direction:column;line-height:1.1;display:flex}.special-label.compact b{letter-spacing:.06em;color:#fff;text-shadow:none;font-size:13px}.special-label.compact small{color:var(--muted);font-size:11px;font-weight:600}.special-label.compact.empty{background:#06051299;padding:4px 12px}.pop-text{font-family:var(--font-display);letter-spacing:.08em;color:#fff;text-shadow:0 0 10px var(--cyan), 0 0 30px var(--cyan);pointer-events:none;white-space:nowrap;font-size:28px;font-weight:900;animation:1.4s cubic-bezier(.2,.9,.3,1) forwards pop-rise;position:absolute;transform:translate(-50%,-50%)}@keyframes pop-rise{0%{opacity:0;filter:blur(6px);transform:translate(-50%,-50%)scale(.4)}12%{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1.25)}25%{transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-140%)scale(.95)}}.pop-text.clear-2{font-size:30px}.pop-text.clear-3{color:#fff;text-shadow:0 0 12px var(--violet), 0 0 40px var(--violet);font-size:38px}.pop-text.clear-4{text-shadow:0 0 14px #fff, 0 0 30px var(--gold), 0 0 80px var(--pink);font-size:58px;animation-duration:1.8s}.pop-text.combo{color:var(--gold);text-shadow:0 0 12px var(--gold);font-size:20px}.pop-text.level-up{text-shadow:0 0 14px var(--violet), 0 0 50px var(--cyan);font-size:44px}.pop-text.special-pop{text-shadow:0 0 12px var(--pink), 0 0 40px var(--pink);font-size:26px}.pop-text.lines-pop{color:#c8cbe8;text-shadow:0 0 10px #7c7fa8;font-size:16px}.pop-text.ko-pop{color:#ff3d5e;text-shadow:0 0 20px #ff3d5e,0 0 60px #ff3d5e;font-size:80px;animation-duration:2.2s}.pop-text.countdown{font-size:120px;animation:.9s ease-out forwards countdown}.pop-text.countdown.go{color:var(--gold);text-shadow:0 0 20px var(--gold), 0 0 80px var(--pink)}@keyframes countdown{0%{opacity:0;transform:translate(-50%,-50%)scale(2.2)}20%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.7)}}.screen{pointer-events:none;align-items:center;padding:4vh 5vw;display:flex;position:absolute;inset:0}.screen>*{pointer-events:auto}.panel{background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(14px)saturate(140%);border-radius:18px;max-height:92vh;padding:28px 30px;overflow:auto;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff0f}.title-screen{justify-content:flex-start}.title-panel{width:min(460px,100%)}.logo{font-family:var(--font-display);white-space:nowrap;letter-spacing:.06em;color:#fff;text-shadow:0 0 6px #fff, 0 0 20px var(--cyan), 0 0 46px var(--cyan), 0 0 90px var(--violet);margin:0 0 6px;font-size:clamp(30px,4.2vw,52px);font-weight:900;line-height:1;animation:6s infinite flicker}.logo .accent{color:#ffe9f3;text-shadow:0 0 6px #fff, 0 0 20px var(--pink), 0 0 46px var(--pink), 0 0 90px var(--violet)}@keyframes flicker{0%,92%,to{opacity:1}93%{opacity:.6}94%{opacity:1}96%{opacity:.75}97%{opacity:1}}.title-logo{top:calc(env(safe-area-inset-top,0px) + 9vh);pointer-events:none;margin:0;font-size:clamp(42px,6vw,84px);position:absolute;left:50%;transform:translate(-50%)}@media (orientation:landscape) and (max-height:520px){.title-logo{left:auto;right:max(16px, env(safe-area-inset-right,0px));top:calc(env(safe-area-inset-top,0px) + 6vh);font-size:clamp(24px,4.2vw,40px);transform:none}}label.field{letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:700;display:block}input[type=text],select{width:100%;font:inherit;color:var(--ink);border:1px solid var(--glass-edge);-webkit-user-select:text;user-select:text;background:#04030eb3;border-radius:10px;outline:none;padding:10px 14px;font-size:18px;transition:border-color .2s,box-shadow .2s}input[type=text]:focus,select:focus{border-color:var(--cyan);box-shadow:var(--glow)}.code-input{letter-spacing:.3em;text-transform:uppercase;font-family:var(--font-display)!important}.btn{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);border:1px solid var(--glass-edge);cursor:pointer;background:#1e1a4699;border-radius:10px;padding:12px 18px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .2s,border-color .2s,background .2s}.btn:hover:not(:disabled){border-color:var(--cyan);box-shadow:var(--glow);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:linear-gradient(135deg,#3de0ff47,#b34dff47);border-color:#3de0ff99;box-shadow:0 0 22px #3de0ff40}.btn.hot{background:linear-gradient(135deg,#ff3d8b52,#ffd83d38);border-color:#ff3d8bb3;box-shadow:0 0 22px #ff3d8b4d}.btn.small{padding:7px 12px;font-size:11px}.btn.block{width:100%}.stack{gap:14px;display:grid}.stack>*{min-width:0}.row{align-items:center;gap:10px;display:flex}.row>input{flex:1}.divider{color:var(--muted);letter-spacing:.25em;align-items:center;gap:12px;margin:4px 0;font-size:12px;display:flex}.divider:before,.divider:after{content:"";background:var(--glass-edge);flex:1;height:1px}.error{color:#ff7a93;min-height:1.2em;font-weight:600}.hint{color:var(--muted);font-size:14px}details.help{color:var(--muted);margin-top:6px}details.help summary{cursor:pointer;letter-spacing:.1em;color:var(--ink);font-weight:700}.keys{grid-template-columns:auto 1fr;gap:4px 14px;margin:12px 0;font-size:15px;display:grid}kbd{font-family:var(--font-display);border:1px solid var(--glass-edge);color:var(--ink);background:#ffffff0f;border-radius:6px;padding:2px 7px;font-size:11px}.specials-legend{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin-top:10px;display:grid}.sp{align-items:flex-start;gap:10px;font-size:14px;line-height:1.25;display:flex}.sp-chip{width:26px;height:26px;font-family:var(--font-display);color:#fff;text-shadow:0 0 6px #fff;border:2px solid;border-radius:6px;flex:none;place-items:center;font-size:14px;font-weight:900;display:grid;box-shadow:0 0 10px,inset 0 0 8px}.sp b{color:var(--ink)}.lobby-screen{justify-content:flex-start}.lobby-panel{width:min(560px,100%)}.room-code{font-family:var(--font-display);letter-spacing:.25em;color:#fff;text-shadow:0 0 10px var(--cyan), 0 0 40px var(--cyan);margin:2px 0 6px;font-size:clamp(36px,5vw,56px);font-weight:900}.players{gap:8px;margin:0;padding:0;list-style:none;display:grid}.players li{background:#ffffff0a;border:1px solid #ffffff0d;border-radius:12px;align-items:center;gap:12px;padding:8px 12px;font-size:18px;font-weight:600;display:flex}.players li.empty{color:#8e93c480;background:0 0;border-style:dashed}.players li .tag{font-family:var(--font-display);letter-spacing:.15em;border:1px solid var(--glass-edge);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:10px}.players li .tag.host{color:var(--gold);border-color:#ffd83d80}.players li .wins{font-family:var(--font-display);color:var(--gold);margin-left:auto;font-size:12px}.players li .kick{margin-left:6px}.settings{grid-template-columns:1fr 1fr;gap:12px;display:grid}.toggle{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:flex}.toggle input{width:18px;height:18px;accent-color:var(--cyan)}.game-setup{gap:8px;padding-top:4px}.seg-rows{flex-wrap:wrap;gap:8px 22px;display:flex}.seg-row{align-items:center;gap:10px;display:flex}.seg-label{color:var(--muted);min-width:48px;font-weight:600}.seg{border:1px solid var(--glass-edge);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{font:600 15px var(--font-body);color:var(--muted);border:0;border-left:1px solid var(--glass-edge);cursor:pointer;background:#0000004d;padding:6px 14px}.seg button:first-child{border-left:0}.seg button.on{color:#fff;background:#3de0ff38;box-shadow:inset 0 0 12px #3de0ff59}.seg button:disabled{cursor:default}.seg button:disabled:not(.on){opacity:.5}.piece-chips{flex-wrap:wrap;gap:8px;display:flex}.piece-chip{border:1.5px solid var(--glass-edge);cursor:pointer;opacity:.35;filter:grayscale(.8);background:#0000004d;border-radius:10px;justify-content:center;align-items:center;width:54px;height:46px;transition:opacity .15s,filter .15s,border-color .15s;display:inline-flex}.piece-chip.on{opacity:1;filter:none;border-color:#3de0ff8c}.piece-chip:disabled{cursor:default}.piece-chip svg{max-width:44px;max-height:36px}.hud{pointer-events:none;position:absolute;inset:0}.feed{pointer-events:none;flex-direction:column;gap:4px;width:min(360px,40vw);font-size:15px;font-weight:600;display:flex;position:absolute;bottom:18px;left:18px}.feed .item{border-left:3px solid var(--glass-edge);text-shadow:0 1px 2px #000;background:#0605148c;border-radius:8px;padding:4px 10px;animation:.3s ease-out feed-in,.6s ease-in 7.4s forwards feed-out}.feed .item.sys{color:var(--muted)}.feed .item .who{color:#fff}.feed .item .sp-name{font-family:var(--font-display);letter-spacing:.06em;font-size:12px}@keyframes feed-in{0%{opacity:0;transform:translate(-20px)}}@keyframes feed-out{to{opacity:0}}.chat-box{pointer-events:auto;width:min(360px,40vw);display:none;position:absolute;bottom:18px;left:18px}.chat-box.open{display:block}.hud-top{pointer-events:auto;gap:8px;display:flex;position:absolute;top:14px;right:16px}.icon-btn{font-family:var(--font-display);letter-spacing:.12em;color:var(--muted);border:1px solid var(--glass-edge);cursor:pointer;background:#08061899;border-radius:8px;padding:7px 10px;font-size:11px}.icon-btn:hover{color:var(--ink);border-color:var(--cyan)}.controls-hint{color:#8e93c4bf;text-align:right;font-size:13px;line-height:1.6;position:absolute;bottom:16px;right:18px}.controls-hint kbd{font-size:10px}.banner{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.banner .panel{pointer-events:auto;text-align:center;min-width:min(420px,90vw);animation:.6s cubic-bezier(.2,1.3,.4,1) banner-in}@keyframes banner-in{0%{opacity:0;transform:scale(.6)}}.banner h2{font-family:var(--font-display);letter-spacing:.08em;margin:0 0 4px;font-size:clamp(36px,6vw,64px);font-weight:900}.banner h2.win{color:#fff;text-shadow:0 0 12px var(--gold), 0 0 50px var(--gold), 0 0 90px var(--pink)}.banner h2.lose{color:#fff;text-shadow:0 0 12px var(--pink), 0 0 50px var(--violet)}.banner .row{justify-content:center;margin-top:18px}.toast{border:1px solid var(--glass-edge);pointer-events:none;background:#080618d9;border-radius:12px;padding:10px 18px;font-weight:600;animation:.3s ease-out feed-in,.5s ease-in 2.5s forwards feed-out;position:absolute;top:18px;left:50%;transform:translate(-50%)}.connecting{justify-content:center}.spinner{border:3px solid #3de0ff33;border-top-color:var(--cyan);width:46px;height:46px;box-shadow:var(--glow);border-radius:50%;margin:0 auto 16px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.touch{pointer-events:none;touch-action:none;--pad:62px;--safe-b:0px;position:absolute;inset:0}.touch>*{pointer-events:auto}.tc-pad{bottom:calc(12px + var(--safe-b));grid-template-columns:var(--pad) var(--pad);gap:10px;display:grid;position:absolute}.tc-left{left:10px}.tc-right{right:10px}.tc-btn{height:var(--pad);color:#fff;font-size:26px;font-family:var(--font-display);text-shadow:0 0 10px #3de0ffcc;-webkit-backdrop-filter:blur(6px);touch-action:none;background:#08061a6b;border:1.5px solid #3de0ff73;border-radius:18px;transition:transform 60ms,box-shadow .15s,background .15s}.tc-btn.wide{height:calc(var(--pad) * .8);grid-column:span 2}.tc-btn.text{letter-spacing:.12em;font-size:13px;font-weight:700}.tc-btn.hot{text-shadow:0 0 10px #ff3d8be6;border-color:#ff3d8bbf}.tc-btn.down{background:#3de0ff38;transform:scale(.93);box-shadow:0 0 18px #3de0ff8c,inset 0 0 14px #3de0ff59}.tc-btn.hot.down{background:#ff3d8b40;box-shadow:0 0 18px #ff3d8b99,inset 0 0 14px #ff3d8b59}.tc-targets{left:8px;right:8px;bottom:calc(12px + var(--safe-b) + var(--pad) * 1.8 + 22px);opacity:.5;flex-wrap:wrap;justify-content:center;gap:6px;transition:opacity .2s;display:flex;position:absolute}.tc-targets.armed{opacity:1}.tc-chip{border:1.5px solid var(--glass-edge);height:38px;color:var(--ink);font-family:var(--font-display);letter-spacing:.05em;touch-action:none;background:#08061a8c;border-radius:999px;align-items:center;gap:6px;max-width:132px;padding:0 12px 0 5px;font-size:12px;font-weight:700;display:inline-flex}.tc-chip .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tc-targets.armed .tc-chip:not(:disabled){border-color:var(--armed);box-shadow:0 0 12px var(--armed)}.tc-chip.me .slot-key{background:var(--gold);box-shadow:0 0 10px var(--gold)}.tc-chip.discard{color:var(--muted);padding:0 14px}.tc-chip:disabled{opacity:.3}.tc-chip:active:not(:disabled){transform:scale(.94)}@media (orientation:landscape){.tc-targets{width:calc(var(--pad) * 2 + 10px);left:auto;right:10px;bottom:calc(12px + var(--safe-b) + var(--pad) * 2 + 22px);justify-content:flex-end}.tc-chip{max-width:100%}}.touch-only{display:none}.hud.touch-mode .touch-only{display:inline-block}.hud.touch-mode .hud-top{gap:6px;right:10px}.hud.touch-mode .icon-btn{letter-spacing:.06em;padding:7px 8px;font-size:10px}.hud.touch-mode .controls-hint{display:none}.hud.touch-mode .feed{width:min(300px,62vw);font-size:12px;top:52px;bottom:auto}.hud.touch-mode .feed .item:nth-last-child(n+5){display:none}.hud.touch-mode .chat-box{top:52px;bottom:auto}.panel{touch-action:pan-y}@media (max-width:1100px){.controls-hint{display:none}}@media (max-width:760px){.screen{align-items:flex-end;padding:16px}.panel{padding:20px}.controls-hint{display:none}.settings{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.logo{animation:none}}@media (orientation:landscape) and (max-height:520px){.tc-chip{padding:0 5px}.tc-chip .name{display:none}.touch{--pad:54px}}.mode-card{text-align:left;border:1px solid var(--glass-edge);color:var(--ink);font:inherit;cursor:pointer;background:#1e1a4673;border-radius:14px;gap:4px;padding:16px 18px;transition:transform .12s,border-color .2s,box-shadow .2s;display:grid}.mode-card:hover{border-color:var(--cyan);box-shadow:var(--glow);transform:translateY(-1px)}.mode-card.primary{background:linear-gradient(135deg,#3de0ff33,#b34dff38);border-color:#3de0ff8c}.mode-card b{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:18px}.mode-card span{color:var(--muted);font-size:15px}.mode-card small{font-family:var(--font-display);letter-spacing:.12em;color:var(--gold);font-size:11px}.campaign-screen{justify-content:flex-start}.campaign-panel{width:min(760px,100%)}.campaign-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.level-list{gap:6px;max-height:46vh;padding-right:4px;display:grid;overflow:auto}.act-title{font-family:var(--font-display);letter-spacing:.2em;color:var(--muted);text-transform:uppercase;margin:8px 0 2px;font-size:11px}.level-row{text-align:left;color:var(--ink);font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;display:flex}.level-row.selected{border-color:var(--cyan);box-shadow:0 0 12px #3de0ff4d}.level-row.locked{opacity:.45}.level-row.done .level-num{color:#8dff5d;background:#8dff5d33}.level-row.is-boss{border-color:#ff3d5e59}.level-num{width:28px;height:28px;font-family:var(--font-display);background:#3de0ff26;border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.level-name{min-width:0;display:grid}.level-name b{font-size:16px}.level-name small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.tag.boss{color:#ff5d7a;border-color:#ff3d5e80;margin-left:auto}.level-detail{border:1px solid var(--glass-edge);background:#04030e80;border-radius:14px;gap:10px;padding:14px;display:grid}.level-kicker{font-family:var(--font-display);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:11px}.level-detail h3{font-family:var(--font-display);letter-spacing:.06em;text-shadow:0 0 12px #3de0ff80;margin:0;font-size:22px}.level-detail h3.boss{color:#ffd6de;text-shadow:0 0 12px #ff3d5e}.level-detail p{color:#cfd3f5;margin:0;line-height:1.35}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{letter-spacing:.04em;border:1px solid var(--glass-edge);color:var(--muted);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.save-box{gap:8px;display:grid}.save-code,.save-inline{font-family:var(--font-display);letter-spacing:.25em;color:var(--gold)}.save-code{flex:1;font-size:22px}@media (max-width:760px){.campaign-body{grid-template-columns:1fr}.level-list{max-height:32vh}}.team-chip{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--team,var(--glass-edge));color:var(--team,var(--muted));cursor:pointer;background:#0000004d;border-radius:999px;padding:4px 10px;font-size:10px}.team-chip:disabled{cursor:default;opacity:.85}.mini-select{width:auto;padding:4px 8px;font-size:13px}.players li .pname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.board-label.boss{border-color:#ff3d5e99;box-shadow:0 0 16px #ff3d5e59}.boss-tag{letter-spacing:.14em;color:#fff;background:#ff3d5e;border-radius:999px;margin-left:4px;padding:2px 7px;font-size:10px;font-weight:900}.tc-chip.ally{border-style:dashed}.objective-wrap{border:1px solid var(--glass-edge);pointer-events:none;background:#060512b3;border-radius:12px;justify-items:center;gap:2px;padding:6px 16px;display:grid;position:absolute;top:12px;left:16px}.objective-wrap small{letter-spacing:.08em;color:var(--muted);font-size:11px}.objective{font-family:var(--font-display);letter-spacing:.12em;color:#fff;font-size:15px;font-weight:700}.hud.touch-mode .objective-wrap{padding:4px 10px;top:52px;left:10px}.level-intro{text-align:center;pointer-events:none;justify-items:center;gap:4px;animation:3.4s forwards level-intro;display:grid;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.level-intro small{font-family:var(--font-display);letter-spacing:.3em;color:var(--cyan);font-size:13px}.level-intro b{font-family:var(--font-display);letter-spacing:.06em;color:#fff;text-shadow:0 0 14px var(--cyan), 0 0 50px var(--violet);font-size:clamp(30px,6vw,60px);font-weight:900}.level-intro span{color:#cfd3f5;font-size:17px}.level-intro.boss small{color:#ff5d7a}.level-intro.boss b{text-shadow:0 0 14px #ff3d5e,0 0 60px #ff3d5e}@keyframes level-intro{0%{opacity:0;transform:translate(-50%,-50%)scale(.85)}12%{opacity:1;transform:translate(-50%,-50%)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-60%)scale(1.02)}}.level-row .tag{font-family:var(--font-display);letter-spacing:.12em;border:1px solid var(--glass-edge);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-size:10px}body.compact .board-label:not(.me){gap:4px;max-width:34vw;padding:2px 7px 2px 2px;font-size:10px}body.compact .board-label:not(.me) .name{text-overflow:ellipsis;overflow:hidden}body.compact .board-label:not(.me) .slot-key{width:17px;height:17px}body.compact .boss-tag{padding:1px 5px;font-size:8px}@media (pointer:coarse){input[type=text],select,.mini-select{font-size:16px}}.install-tip{color:var(--muted);text-align:center;font-size:14px}.install-tip b{color:var(--ink)}.bot-row{margin-top:10px}.bot-row:empty{display:none}.difficulty{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.difficulty .seg button{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;padding:8px 16px;font-size:12px}.custom-box .game-setup{padding-top:0}.unlock-note{color:var(--gold);margin-top:8px}
