:root{color-scheme:dark;--bg: #101018;--panel: #1b1b28;--border: #33334a;--text: #e8e8f0;--muted: #9a9ab0;--accent: #5cc8ff;--p0: #5cc8ff;--p1: #ff9f43;--p2: #5fd39a;--p3: #c9a7ff;--red: #e5484d;--blue: #3e8ef7;--green: #30a46c;--font-display: "DotGothic16", "Segoe UI", "Meiryo", sans-serif;--font-body: "DotGothic16", "Segoe UI", "Meiryo", sans-serif}*{box-sizing:border-box}button,input{font-family:inherit}html{min-height:100%;background:radial-gradient(ellipse 55% 45% at 8% 6%,rgba(229,72,77,.16),transparent 70%),radial-gradient(ellipse 50% 55% at 96% 40%,rgba(62,142,247,.16),transparent 70%),radial-gradient(ellipse 60% 40% at 45% 100%,rgba(48,164,108,.14),transparent 70%),linear-gradient(160deg,#0b0b16,#13112a 55%,#0d0b1c);background-attachment:fixed;background-color:var(--bg)}body:before,body:after{content:"";position:fixed;z-index:-1;pointer-events:none}body:before{inset:0;background-image:radial-gradient(1.5px 1.5px at 20px 30px,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 120px 80px,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 200px 150px,rgba(200,220,255,.8),transparent),radial-gradient(1px 1px at 60px 190px,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 260px 40px,rgba(255,230,200,.7),transparent),radial-gradient(2px 2px at 310px 220px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 160px 260px,rgba(220,200,255,.7),transparent);background-size:340px 300px;animation:twinkle 5s ease-in-out infinite alternate}body:after{--size: min(110vmin, 900px);top:50%;left:50%;width:var(--size);height:var(--size);margin:calc(var(--size) / -2) 0 0 calc(var(--size) / -2);background:url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%27-100%20-100%20200%20200%27%20fill%3D%27none%27%20stroke%3D%27%23b9a6ff%27%20stroke-width%3D%270.6%27%3E%3Ccircle%20r%3D%2796%27%2F%3E%3Ccircle%20r%3D%2790%27%2F%3E%3Ccircle%20r%3D%2790%27%20stroke-dasharray%3D%271%205%27%20stroke-width%3D%273%27%2F%3E%3Ccircle%20r%3D%2762%27%2F%3E%3Ccircle%20r%3D%2740%27%2F%3E%3Cpolygon%20points%3D%270%2C-90%2077.9%2C45%20-77.9%2C45%27%2F%3E%3Cpolygon%20points%3D%270%2C90%2077.9%2C-45%20-77.9%2C-45%27%2F%3E%3Cpolygon%20points%3D%270%2C-62%2053.7%2C31%20-53.7%2C31%27%20stroke-width%3D%270.4%27%2F%3E%3Cpolygon%20points%3D%270%2C62%2053.7%2C-31%20-53.7%2C-31%27%20stroke-width%3D%270.4%27%2F%3E%3Ccircle%20r%3D%2714%27%2F%3E%3Ccircle%20r%3D%274%27%20fill%3D%27%23b9a6ff%27%2F%3E%3C%2Fsvg%3E) center / contain no-repeat;opacity:.13;animation:spin 240s linear infinite}@keyframes twinkle{0%{opacity:.55}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}body{margin:0;min-height:calc(100vh / var(--ui-scale, 1));zoom:var(--ui-scale, 1);display:flex;justify-content:center;background:transparent;color:var(--text);font-family:var(--font-body)}.layout{display:flex;flex-direction:column;gap:12px;width:760px;max-width:100%;padding:16px}header{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:center}.audio-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.audio-controls input{width:80px}header{justify-content:flex-start;column-gap:24px}#roundLabel{margin-left:8px}.btn.small{padding:4px 8px;font-size:12px}.btn.off{background:var(--border);color:var(--text)}h1{font-size:20px;margin:0}h2{font-size:14px;margin:0 0 8px;color:var(--muted)}h3{font-size:14px;margin:0 0 6px;text-align:center}.panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px}.players,.hands{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.player{text-align:center}.player.active{border-color:var(--pc);box-shadow:0 0 0 1px var(--pc)}.player .name{font-size:13px;font-weight:700;color:var(--pc)}.p0{--pc: var(--p0)}.p1{--pc: var(--p1)}.p2{--pc: var(--p2)}.p3{--pc: var(--p3)}.hand h2{color:var(--pc)}.hand{min-width:0}.status.p0,.status.p1,.status.p2,.status.p3{border-color:var(--pc)}.log-line.p0,.log-line.p1,.log-line.p2,.log-line.p3{border-left:3px solid var(--pc);padding-left:6px}#overlay h2.p0,#overlay h2.p1{color:var(--pc)}.card.slot{background:transparent;border:2px dashed var(--border)}.game,.side{display:flex;flex-direction:column;gap:12px;min-width:0}@media(min-width:1200px){.layout{width:1180px;display:grid;grid-template-columns:760px 1fr;align-items:start;align-content:start}header{grid-column:1 / -1}.side{position:sticky;top:16px;max-height:calc((100vh - 32px) / var(--ui-scale, 1));overflow-y:auto}#log{max-height:320px}}.player .hp{font-size:32px;font-weight:700}.hp-row{display:flex;justify-content:center;align-items:baseline;gap:8px}.delta{font-size:18px;font-weight:700;opacity:0}.delta.minus{color:#ff7b7f}.delta.plus{color:#5fd39a}.delta.zero{color:var(--muted)}.delta.shown{opacity:1}.delta.pop{animation:pop .9s ease-out}@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.7)}30%{opacity:1;transform:translateY(-4px) scale(1.3)}to{opacity:1;transform:translateY(0) scale(1)}}.hpbar{display:grid;grid-template-columns:repeat(10,1fr);gap:3px;max-width:220px;margin:6px auto 4px}.hpbar span{height:8px;border-radius:2px;background:var(--border)}.hpbar.high span.on{background:var(--green)}.hpbar.mid span.on{background:#e5b53a}.hpbar.low span.on{background:var(--red)}#confirmArea{flex-direction:column;align-items:center}.preview{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;align-items:baseline;font-size:15px}.preview .note{color:var(--muted);font-size:12px}.stat{font-weight:700;white-space:nowrap}.stat.red{color:#ff7b7f}.stat.blue{color:#7fb2ff}.stat.green{color:#5fd39a}.stat.combo{color:#f0c75e}.stat.cut{color:#c9a7ff}.stat.chara{color:#9fdcff}.stat.chara.skill{color:#ffd166;padding:0 6px;border:1px solid rgba(255,209,102,.6);border-radius:999px}.card{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.card-tip{position:fixed;z-index:90;max-width:260px;padding:8px 10px;border-radius:8px;background:#26263a;border:1px solid var(--accent);color:var(--text);font-size:13px;line-height:1.5;box-shadow:0 6px 18px #00000080;pointer-events:none}.card-tip b{display:block;color:var(--accent)}#ffaField{display:grid;grid-template-columns:repeat(8,60px);justify-content:center}@media(max-width:480px){#ffaField{grid-template-columns:repeat(4,60px)}}.stat.dmg{font-size:18px;color:#ff7b7f}.op{color:var(--muted)}.result-line{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:center;align-items:baseline;font-size:14px;margin-top:8px}.result-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:6px}.tag{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--border);color:var(--text)}.tag.red{background:#5a2227}.tag.blue{background:#1f3a66}.tag.green{background:#1d4a35}.tag.black{background:#3a3a4a}.tag.combo{background:#5a4a1a}details>summary{cursor:pointer;color:var(--muted);font-size:13px;margin-top:6px}.rules>summary{font-size:14px;font-weight:700;margin:0}#oldLog{max-height:160px;overflow-y:auto;font-size:12px;color:#8a8aa0;line-height:1.6}.player .badge{font-size:12px;color:var(--accent)}.status{text-align:center;font-size:14px;min-height:1.5em}.cards{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;min-height:84px}.card{width:60px;height:84px;padding:0;border:2px solid transparent;border-radius:8px;color:#fff;font:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.card-red,.card-blue,.card-green,.card-black,.card-lost{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 2px,transparent 2px 7px),linear-gradient(160deg,var(--hi),var(--mid) 55%,var(--lo))}.card-red{--hi: #ff8a8d;--mid: var(--red);--lo: #8e1d22}.card-blue{--hi: #8cc0ff;--mid: var(--blue);--lo: #173f8a}.card-green{--hi: #7fd9a8;--mid: var(--green);--lo: #11552f}.card-black{--hi: #3a2f4f;--mid: #120f1a;--lo: #000;border-color:#6b6b80}.card-lost{--hi: #4a4a58;--mid: #2a2a34;--lo: #15151c;border-color:#55556a;opacity:.85}.card:after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.22);border-radius:5px;pointer-events:none}.card.back:after,.card.slot:after{content:none}.card{position:relative;justify-content:flex-end;padding-bottom:6px}.card-value{position:absolute;top:4px;left:6px;font-size:20px;font-weight:700;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.6)}.card-black .card-value{font-size:14px}.card-art{width:38px;height:38px;margin-bottom:2px;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.6))}.card-art svg{display:block;width:100%;height:100%}.card-effect{font-size:11px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.6)}.card-black .card-effect{font-size:9px}.card:disabled{cursor:default}.card:not(:disabled){cursor:pointer;transition:transform .15s}.card:not(:disabled):hover{transform:translateY(-4px);z-index:1}.hand .cards{flex-wrap:nowrap}.cards .card{position:relative}.cards.stacked .card{align-items:flex-start;padding-left:6px}.cards.stacked .card-effect{display:none}.cards.stacked .card+.card{box-shadow:-3px 0 4px #0000008c}.cards.stacked .card.selected{box-shadow:0 0 0 2px var(--accent)}.card.taken{opacity:.2}.card.selected{border-color:#fff;transform:translateY(-6px);box-shadow:0 0 0 2px var(--accent);z-index:1}.controls{display:flex;justify-content:center;gap:8px;margin-top:8px}.btn{background:var(--accent);color:#04121a;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:700;cursor:pointer}.btn:disabled{opacity:.4;cursor:default}.result-row+.result-row{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.result-row p{margin:6px 0 0;font-size:13px;text-align:center}#log{max-height:160px;overflow-y:auto;font-size:12px;color:#b0b0c5;line-height:1.6}.rules h3{font-size:13px;margin:10px 0 4px;text-align:left;color:var(--text)}.rules ul{margin:0;padding-left:1.2em;font-size:12px;color:#b0b0c5;line-height:1.6}.rules b{color:var(--text)}#overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:16px}#overlay .box{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:32px;text-align:center;min-width:260px}#overlay h2{font-size:20px;color:var(--text);margin:0 0 12px}#overlay p{margin:0 0 16px;color:#b0b0c5}@media(max-width:480px){.hands{grid-template-columns:minmax(0,1fr)}.players{gap:8px}.players .player{padding:6px 8px}.player .name{font-size:11px}.player .hp{font-size:22px}.player .badge{font-size:11px}.hpbar{margin:3px auto 2px}.hpbar span{height:6px}#confirmArea,#ffaConfirmArea{position:sticky;bottom:0;z-index:20;margin-top:0;padding:8px;border-top:1px solid var(--border);background:var(--panel);box-shadow:0 -6px 12px #0006}}.card.back{background:repeating-linear-gradient(45deg,#2a2a40,#2a2a40 6px,#33334a 6px 12px);border-color:#55556a;color:#8a8aa0}.card.back{justify-content:center;padding-bottom:0}.card.back .card-value{position:static;font-size:26px}.card.flip-in{animation:flip-in .3s ease-out}@keyframes flip-in{0%{transform:rotateY(90deg)}to{transform:rotateY(0)}}.cutin{position:fixed;left:0;right:0;top:38%;z-index:50;display:flex;justify-content:center;pointer-events:none;overflow:hidden}.cutin span{padding:14px 48px;font-size:32px;font-weight:700;letter-spacing:.05em;color:#fff;background:linear-gradient(90deg,transparent,#4b2a6b 15%,#1a1a2a 50%,#4b2a6b 85%,transparent);text-shadow:0 0 12px #c38bff;white-space:nowrap}.cutin.show span{animation:cutin .8s ease-in-out forwards}.cutin.curse span{color:#ff3b3b;letter-spacing:.12em;background:linear-gradient(90deg,transparent,#2a0004 12%,#000 50%,#2a0004 88%,transparent);text-shadow:0 0 6px #ff0000,0 0 18px #8b0000,0 2px 0 #400}.cutin.curse.show span{animation:curse-slide 2s ease-in-out forwards,curse-jitter .08s steps(2) infinite,curse-flicker 2s linear forwards}@keyframes curse-slide{0%{transform:translate(-120%)}25%,75%{transform:translate(0)}to{transform:translate(120%)}}@keyframes curse-jitter{0%{translate:1px -1px}50%{translate:-2px 1px}to{translate:1px 2px}}@keyframes curse-flicker{0%,30%{filter:none;opacity:1}35%{filter:blur(2px);opacity:.6}40%,60%{filter:none;opacity:1}63%{filter:blur(1.5px);opacity:.7}66%,to{filter:none;opacity:1}}.cutin-shade{position:fixed;inset:0;z-index:49;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,#0e0000ed,#000000f7 70%,#000)}.cutin-shade.show{animation:curse-shade 2.1s ease-in-out forwards}@keyframes curse-shade{0%{opacity:0}20%,80%{opacity:1}to{opacity:0}}@keyframes cutin{0%{transform:translate(-120%)}20%,80%{transform:translate(0)}to{transform:translate(120%)}}.result-row{position:relative}.combo-burst{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);pointer-events:none}.combo-burst .word{display:block;font-size:34px;font-weight:700;color:#f0c75e;text-shadow:0 0 10px #f0c75e;animation:combo .7s ease-out forwards}@keyframes combo{0%{transform:scale(.3);opacity:0}40%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:0}}.combo-burst .spark{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#f0c75e;animation:spark .7s ease-out forwards}@keyframes spark{0%{transform:translate(0);opacity:1}to{transform:translate(var(--dx),var(--dy));opacity:0}}.roulette-on .player.active{border-color:var(--border);box-shadow:none}.roulette-on .player.roulette-lit,.player.roulette-lit{border-color:#ffe27a;box-shadow:0 0 0 3px #ffe27a,0 0 22px #ffe27acc}.first-banner{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);z-index:95;pointer-events:none;font-family:var(--font-display);font-size:clamp(22px,4vw,40px);color:#fff;background:#000;border:4px double #fff;border-radius:6px;padding:10px 28px;white-space:nowrap;animation:first-pop .25s ease-out both}@keyframes first-pop{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.first-banner{animation:none}}.player.hit{animation:shake .5s;box-shadow:0 0 0 2px var(--red),0 0 18px #e5484d99}.player.healed{box-shadow:0 0 0 2px var(--green),0 0 18px #30a46c99}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.hpbar span.drain{animation:drain .35s both}@keyframes drain{0%{background:#ff7b7f;transform:scaleY(1.8)}to{background:var(--border);transform:none}}.delta.pop{animation:pop-big .9s ease-out}@keyframes pop-big{0%{opacity:0;transform:translateY(10px) scale(.6)}30%{opacity:1;transform:translateY(-6px) scale(1.8)}to{opacity:1;transform:translateY(0) scale(1)}}.player.pinch{animation:pinch 1.2s ease-in-out infinite}.player.pinch .hp{color:#ff7b7f}.player.pinch .name:after{content:" ピンチ！";color:#ff7b7f}@keyframes pinch{50%{box-shadow:0 0 0 2px var(--red),0 0 16px #e5484d8c}}.player.chilled{position:relative;border-color:#8fd8ff;background:linear-gradient(160deg,#aae4ff3d,#4682b929),var(--panel);box-shadow:0 0 0 1px #8fd8ff,0 0 14px #8fd8ff73}.player.chilled:not(.pinch){animation:chill-glow 2.4s ease-in-out infinite}.player.chilled:before{content:"❄";position:absolute;top:4px;right:8px;color:#d6f3ff;font-size:16px;text-shadow:0 0 6px #8fd8ff;pointer-events:none}.player.chilled:not(.pinch) .hp{color:#bfeaff}.player.chilled .hpbar span.on{background:#8fd8ff}@keyframes chill-glow{50%{box-shadow:0 0 0 1px #bfeaff,0 0 22px #8fd8ffb3}}@media(prefers-reduced-motion:reduce){.player.chilled:not(.pinch){animation:none}}.player.hit.pinch{animation:shake .5s,pinch 1.2s ease-in-out infinite}.player.winner{box-shadow:0 0 0 2px var(--pc),0 0 28px var(--pc)}.fx{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.confetti{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;animation:fall 2.6s linear forwards}@keyframes fall{to{transform:translateY(110vh) rotate(720deg)}}.rain-shade{position:absolute;inset:0;background:#0a0e1c59;animation:rain-shade 3s ease-in-out forwards}@keyframes rain-shade{0%{opacity:0}20%,70%{opacity:1}to{opacity:0}}.rain{position:absolute;top:-40px;width:2px;height:34px;border-radius:1px;background:linear-gradient(to bottom,transparent,#8fa3c0);opacity:0;transform:rotate(15deg);animation:rain-fall .7s linear 2}@keyframes rain-fall{0%{opacity:.7}to{transform:translate(-30vh,110vh) rotate(15deg);opacity:.7}}.mote{position:absolute;bottom:-10px;width:6px;height:6px;border-radius:50%;box-shadow:0 0 8px #ffffffb3;opacity:0;animation:mote-rise 2.6s ease-out forwards}@keyframes mote-rise{15%{opacity:.9}to{transform:translate(var(--drift, 0),-60vh);opacity:0}}.skip-btn{position:fixed;right:16px;bottom:16px;z-index:60}@media(prefers-reduced-motion:reduce){.card.flip-in,.player.hit,.player.pinch,.player.hit.pinch,.hpbar span.drain,.delta.pop,.cutin.show span,.confetti,.rain,.rain-shade,.mote{animation:none}body:before,body:after{animation:none}.cutin.curse.show span,.cutin-shade.show{animation:none}}.screen{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:#08080e59}body.menu-open>main.layout,body.menu-open>#skipBtn{visibility:hidden}.screen .box{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:28px;min-width:300px;max-width:100%;display:flex;flex-direction:column;gap:12px;text-align:center}.screen h2{font-size:20px;color:var(--text);margin:0 0 4px}.screen .divider{color:var(--muted);font-size:12px;margin-top:6px}.screen .hint{color:var(--muted);font-size:12px;margin:0}.join-row{display:flex;gap:8px;justify-content:center}.join-row input{flex:1;min-width:0;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}.name-row{display:flex;gap:8px}.name-input{flex:1;min-width:0;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;text-align:center}.name-input.p0{border-color:var(--p0)}.name-input.p1{border-color:var(--p1)}#codeInput{text-transform:uppercase;letter-spacing:.2em;text-align:center;max-width:140px}.room-code{font-size:40px;font-weight:700;letter-spacing:.3em;color:var(--accent)}.screen .error{color:#ff7b7f;min-height:1.2em;margin:0;font-size:13px}.net-banner{text-align:center;border-color:#e5b53a;color:#f0c75e;font-size:14px}.room-label{font-size:12px;color:var(--muted);white-space:nowrap}.status.timer-low{color:#ff7b7f;font-weight:700}.seat-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.btn.seat{background:var(--bg);color:var(--text);border:1px solid var(--pc)}.btn.seat:disabled{opacity:1;cursor:default}.btn.seat.me{background:var(--pc);color:#111}.btn.seat.away{opacity:.6}.ffa-hpbar{gap:2px;max-width:320px}.player.out,.hand.out{opacity:.45}#ffaConfirmArea{flex-direction:column;align-items:center}.player.aimable{cursor:pointer}.player.aimable:hover,.player.aimable:focus-visible{border-color:var(--pc);box-shadow:0 0 0 1px var(--pc);outline:none}.player.aimed{border-color:var(--pc);box-shadow:0 0 0 2px var(--pc),0 0 12px var(--pc)}.player .aim{display:block;font-size:11px;color:var(--muted);margin-top:2px}.player.aimed .aim{color:var(--pc);font-weight:700}.target-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center}.target-row .note{color:var(--muted);font-size:12px}.btn.target{background:var(--bg);color:var(--text);border:1px solid var(--pc)}.btn.target.on{background:var(--pc);color:#111}.hand.me{box-shadow:inset 0 0 0 2px var(--pc)}.hand-tag{font-size:12px;margin-left:8px;color:var(--muted);font-weight:400}.hand-tag.done{color:#5fd39a}.hand-tag.turn{color:var(--pc)}.result-member{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:4px 0}.result-member .who{min-width:6em;text-align:right;color:var(--muted);font-size:13px}.chara-box{max-width:720px}.chara-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.chara-card{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:10px;border:2px solid var(--border);background:var(--bg);color:var(--text);font:inherit;text-align:left;cursor:pointer}.chara-card.chara-red{border-color:var(--red)}.chara-card.chara-blue{border-color:var(--blue)}.chara-card.chara-green{border-color:var(--green)}.chara-card.chara-black{border-color:#8a8aa0}.chara-card.chara-teal{border-color:#3fd0c9;box-shadow:0 0 12px #3fd0c959}.chara-art.fallback,.chara-face.fallback{display:inline-flex;align-items:center;justify-content:center;background:#1f2a33}.chara-art.fallback{font-size:56px;border-radius:50%}.chara-face.fallback{font-size:16px}.chara-card.mine{box-shadow:0 0 0 3px var(--accent)}.chara-card:disabled{opacity:.45;cursor:default}.chara-art{width:96px;height:96px;margin:0 auto;display:block}.chara-face{width:28px;height:28px;vertical-align:middle;margin-right:6px;border-radius:50%}.player .chara{display:flex;align-items:center;justify-content:center}.chara-name{font-family:var(--font-display);font-size:18px;text-align:center}.chara-text{font-size:12px;color:var(--muted);line-height:1.5}.chara-owner{font-size:12px;color:var(--accent);min-height:1.2em;text-align:center}.player .chara{font-size:12px;color:var(--muted)}.skill-btn.on{background:#c38bff;color:#111}.hand-chara{font-size:12px;color:var(--muted);margin-left:6px;font-weight:400}@media(max-width:480px){.chara-list{grid-template-columns:repeat(2,minmax(0,1fr))}}h1,.screen h2,#overlay h2,#roundLabel,.player .hp,.delta,.card-value,.cutin span,.room-code{font-family:var(--font-display);font-weight:400}html.raid{background:radial-gradient(ellipse at 50% 0%,rgba(150,40,80,.45),transparent 60%),radial-gradient(ellipse at 50% 100%,rgba(90,30,160,.5),transparent 65%),#0d0612}html.raid body:before{filter:hue-rotate(250deg) saturate(1.6);opacity:.8}.player.boss{border-color:#b48cff;box-shadow:0 0 14px #b48cff73}.player .shield{display:block;font-size:13px;font-weight:700;color:#c9a7ff}.player .spikes{display:block;font-size:12px;color:#ff7b9c;animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.5}to{opacity:1}}.cutin.boss span{background:linear-gradient(90deg,transparent,#3a1060 20%,#5b1d8f 50%,#3a1060 80%,transparent);color:#f6e7ff}.boss-intro{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(circle at 50% 45%,#783cc88c,#05000af2 60%);cursor:pointer}.boss-intro.show{animation:boss-in 3.2s ease-out forwards}.boss-intro .boss-art{width:180px;height:180px;border-radius:20px;box-shadow:0 0 40px #b48cff}.boss-intro .boss-title{font-family:var(--font-display);font-size:32px;color:#f6e7ff;text-shadow:0 0 16px #b48cff}@keyframes boss-in{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}body.shake{animation:shake .7s ease-in-out}@keyframes shake{0%,to{transform:none}20%{transform:translate(-6px,2px)}40%{transform:translate(6px,-2px)}60%{transform:translate(-4px,1px)}80%{transform:translate(4px,-1px)}}@media(prefers-reduced-motion:reduce){.boss-intro.show,body.shake,.player .spikes{animation:none}}.chara-card.chara-purple{border-color:#b48cff;box-shadow:0 0 12px #b48cff66}.member-card{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--pc);background:var(--bg);color:var(--text);min-height:52px;text-align:left}.member-card.me{box-shadow:0 0 0 2px var(--pc) inset}.member-card.empty{border-style:dashed;opacity:.55}.member-card.away{opacity:.6}.member-card .member-face{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;display:grid;place-items:center;background:#ffffff0f;font-size:18px}.member-card .member-name{font-weight:700;color:var(--pc);overflow-wrap:anywhere}.member-card .member-sub{display:block;font-size:11px;color:var(--muted);font-weight:400}.member-card.arrived{animation:member-arrive 1.6s ease-out}.member-card.roulette-lit{border-color:#ffe27a;box-shadow:0 0 0 3px #ffe27a,0 0 22px #ffe27acc}@keyframes member-arrive{0%{transform:scale(.6);opacity:0;box-shadow:0 0 0 0 var(--pc)}35%{transform:scale(1.08);opacity:1;box-shadow:0 0 18px 4px var(--pc)}to{transform:scale(1);box-shadow:0 0 0 0 transparent}}.spectator-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}.spectator-chip{padding:3px 10px;border-radius:999px;background:#ffffff14;font-size:12px}.spectator-chip.arrived{animation:member-arrive 1.6s ease-out;--pc: var(--muted)}.join-toast{position:fixed;top:14px;left:50%;transform:translate(-50%);z-index:60;max-width:calc(100vw - 32px);padding:8px 18px;border-radius:999px;background:#141423eb;color:var(--text);border:1px solid var(--muted);font-weight:700;box-shadow:0 6px 20px #0006;animation:toast-in .25s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}.spectator-panel{font-size:13px;color:var(--muted)}.spectator-panel b{color:var(--text)}.emote-layer{position:fixed;right:16px;bottom:90px;z-index:55;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:6px;pointer-events:none;max-width:calc(100vw - 32px)}.emote-bubble{padding:6px 12px;border-radius:14px;background:#141423e6;color:var(--text);border:1px solid rgba(255,255,255,.15);font-size:14px;animation:emote-float 3s ease-out forwards}.emote-bubble .emote-text{font-size:20px;margin-left:4px;vertical-align:middle}@keyframes emote-float{0%{opacity:0;transform:translateY(12px) scale(.8)}12%{opacity:1;transform:translateY(0) scale(1.05)}80%{opacity:1;transform:translateY(-14px)}to{opacity:0;transform:translateY(-28px)}}@media(prefers-reduced-motion:reduce){.member-card.arrived,.spectator-chip.arrived,.join-toast{animation:none}.emote-bubble{animation:emote-fade 3s linear forwards}@keyframes emote-fade{0%,80%{opacity:1}to{opacity:0}}}.screen{overflow-y:auto;align-items:flex-start}.screen .box{margin:auto}.chara-box,#waiting .box{width:min(1100px,100%);max-width:100%;box-sizing:border-box}.chara-list{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.chara-list .chara-card{padding:8px}.chara-list .chara-art{width:72px;height:72px}.chara-list .chara-art.fallback{font-size:42px}.chara-list .chara-name{font-size:16px}.chara-list .chara-text{font-size:11.5px;line-height:1.45}@media(max-width:480px){.chara-list{grid-template-columns:repeat(2,minmax(0,1fr))}.screen .box{padding:16px}}.chara-list .chara-card{display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:8px;row-gap:4px;align-items:center}.chara-list .chara-card .chara-art{width:52px;height:52px;margin:0}.chara-list .chara-card .chara-art.fallback{font-size:30px}.chara-list .chara-card .chara-name{text-align:left}.chara-list .chara-card>:not(.chara-art):not(.chara-name){grid-column:1 / -1}.chara-list .chara-card{align-content:start}#waiting .box{width:min(1280px,100%)}#waiting .wait-box{flex-direction:row;align-items:flex-start;gap:20px}.wait-side{flex:0 0 300px;display:flex;flex-direction:column;gap:10px;min-width:0}.wait-main{flex:1 1 auto;display:flex;flex-direction:column;gap:10px;min-width:0}.wait-side .room-code{font-size:40px}.wait-side .seat-list{grid-template-columns:minmax(0,1fr);gap:8px}@media(max-width:900px){#waiting .wait-box{flex-direction:column;align-items:stretch}.wait-side{flex:none}.wait-side .seat-list{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.chara-list .chara-card .chara-name{font-size:15px;white-space:normal;overflow-wrap:anywhere}.chara-card .chara-unlock{color:var(--accent)}.chara-card.locked:disabled{opacity:1}.chara-card.locked>.chara-art,.chara-card.locked>.chara-name{opacity:.45}.chara-card .chara-progress{color:var(--text);font-weight:700}.explainable{cursor:pointer}.explain-hint{display:block;font-size:10px;color:var(--muted);margin-top:2px}.breakdown-tip{position:fixed;z-index:65;max-width:min(320px,calc(100vw - 32px));padding:10px 12px;border-radius:10px;background:#141423f5;color:var(--text);border:1px solid var(--border);font-size:13px;line-height:1.6;box-shadow:0 8px 24px #00000073}.breakdown-tip b{display:block;margin-bottom:4px;color:var(--accent)}.breakdown-tip .total{font-weight:700;color:var(--text)}.timer-bar{position:fixed;top:0;left:0;right:0;height:5px;z-index:64;background:#ffffff14}.timer-bar span{display:block;height:100%;width:100%;background:var(--accent);transition:width .25s linear,background .3s}.timer-bar.low span{background:#ff6b6b}.timer-bar.paused span{background:#6b6b80}.howto{text-align:left;margin:0 auto;padding-left:1.4em;font-size:13px;line-height:1.7;color:var(--text);max-width:420px}.howto b{color:var(--accent)}.splash{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#221a46f5,#08080efc);cursor:pointer;outline:none}.splash-main{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px;text-align:center}.splash-logo{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(36px,8vw,88px);letter-spacing:.04em;background:linear-gradient(90deg,var(--red),#ffb347 35%,var(--green) 55%,var(--blue) 80%,#b48cff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 18px rgba(92,200,255,.35));animation:logo-in .9s ease-out both}.splash-sub{margin:-6px 0 6px;color:var(--muted);letter-spacing:.5em;font-size:clamp(11px,1.6vw,16px)}.splash-charas{display:grid;grid-template-columns:repeat(4,auto);gap:clamp(10px,3vw,36px);margin:8px 0 18px}.splash-charas img{width:clamp(72px,11vw,140px);height:auto;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5));animation:float-y 3.2s ease-in-out infinite}.splash-start{margin:0;font-size:clamp(14px,2vw,20px);color:var(--text);letter-spacing:.1em;animation:blink 1.6s ease-in-out infinite}.splash-cards{position:absolute;inset:0;pointer-events:none}.float-card{position:absolute;bottom:-90px;width:48px;height:68px;border-radius:8px;display:grid;place-items:center;font-family:var(--font-display);font-size:22px;color:#ffffffe6;opacity:.35;border:1px solid rgba(255,255,255,.25);animation:card-rise 14s linear infinite}.fc-red{background:var(--red)}.fc-blue{background:var(--blue)}.fc-green{background:var(--green)}.fc-black{background:#2a2a3a}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes logo-in{0%{opacity:0;transform:translateY(-14px) scale(.96)}}@keyframes card-rise{0%{transform:translateY(0) rotate(-12deg)}to{transform:translateY(calc(-100vh - 180px)) rotate(18deg)}}@media(max-width:600px){.splash-charas{grid-template-columns:repeat(2,auto)}}@media(prefers-reduced-motion:reduce){.splash-logo,.splash-charas img,.splash-start,.float-card{animation:none}.float-card{display:none}}.howto-btn{margin-top:6px;min-width:140px}.howto-screen{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:16px;background:#08080ecc}.howto-box{position:relative;margin:auto;width:min(760px,100%);box-sizing:border-box;padding:24px 24px 20px;background:var(--panel);border:1px solid var(--border);border-radius:12px;color:var(--text);text-align:left}.howto-box h2{margin:0 0 10px;font-family:var(--font-display);font-weight:400;font-size:22px;text-align:center}.howto-box .howto{max-width:none;margin-bottom:8px}.howto-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:20px;line-height:1;cursor:pointer}.howto-rules h3{margin:14px 0 6px;font-size:15px;color:var(--accent)}.howto-rules ul{margin:0;padding-left:1.2em;font-size:13px;line-height:1.7}@media(max-width:480px){.howto-screen{padding:8px}.howto-box{padding:18px 14px 14px}}.howto-box h2{color:var(--text)}.splash{cursor:default}.splash-start-btn{min-width:220px;font-size:clamp(16px,2vw,20px);padding:12px 28px;animation:pulse-glow 1.8s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 #5cc8ff00}50%{box-shadow:0 0 18px 2px #5cc8ff8c}}@media(prefers-reduced-motion:reduce){.splash-start-btn{animation:none}}.sound-dock{position:fixed;top:10px;right:12px;z-index:95;display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;background:#141423d9;border:1px solid var(--border)}.sound-dock input[type=range]{width:90px}header{padding-right:290px}@media(max-width:720px){.sound-dock{inset:auto auto 10px 10px;padding:4px 6px}.sound-dock input[type=range]{width:70px}header{padding-right:0}}.splash-name{width:min(320px,80vw);text-align:center;font-size:16px;margin-top:4px}.splash .title-error{min-height:1.2em;margin:0;color:#ff7b7f;font-size:13px}.menu-box{width:min(720px,100%);box-sizing:border-box}.menu-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:160px;padding:18px 12px;border-radius:14px;border:2px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.menu-tile b{font-family:var(--font-display);font-weight:400;font-size:20px}.menu-tile small{color:var(--muted);font-size:12px}.menu-tile .tile-icon{font-size:40px}.menu-tile:hover,.menu-tile:focus-visible{transform:translateY(-3px);outline:none}.tile-cpu,.tile-duo{border-color:var(--red)}.tile-cpu:hover,.tile-cpu:focus-visible,.tile-duo:hover,.tile-duo:focus-visible{box-shadow:0 0 18px #e5484d73}.tile-online,.tile-ffa{border-color:var(--blue)}.tile-online:hover,.tile-online:focus-visible,.tile-ffa:hover,.tile-ffa:focus-visible{box-shadow:0 0 18px #3e8ef773}@media(max-width:480px){.menu-tiles{grid-template-columns:minmax(0,1fr)}.menu-tile{min-height:110px}}@media(max-width:720px){body{padding-bottom:56px}#confirmArea,#ffaConfirmArea{bottom:52px}}.reveal-panel{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:58;max-width:min(640px,calc(100vw - 32px));padding:10px 18px;border-radius:12px;background:#10101ef0;border:1px solid var(--accent);color:var(--text);box-shadow:0 8px 28px #00000080;text-align:center;animation:reveal-pop .25s ease-out;pointer-events:none}.reveal-panel .reveal-title{display:block;font-family:var(--font-display);font-size:18px}.reveal-panel .reveal-line{display:block;font-size:14px;line-height:1.7;text-align:left}.reveal-panel .reveal-line.total{color:#ffd166}@keyframes reveal-pop{0%{opacity:0;transform:translate(-50%,-8px) scale(.97)}}.result-row.revealing{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px;box-shadow:0 0 18px #5cc8ff59}.reveal-summary{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:6px;font-weight:700;animation:reveal-pop-row .3s ease-out}.reveal-summary .stat{font-size:16px}@keyframes reveal-pop-row{0%{opacity:0;transform:scale(.9)}}@media(prefers-reduced-motion:reduce){.reveal-panel,.reveal-summary{animation:none}}.reveal-panel{position:static;transform:none;left:auto;top:auto;margin:0 auto 10px;max-width:none;animation-name:reveal-pop-static}@keyframes reveal-pop-static{0%{opacity:0;transform:translateY(-6px)}}.fx-sword{position:fixed;z-index:57;pointer-events:none;transform:translate(-50%,-50%);line-height:1;filter:drop-shadow(0 0 8px rgba(255,120,90,.9))}.fx-pop{position:fixed;z-index:57;pointer-events:none;transform:translate(-50%,-50%);white-space:nowrap;font-family:var(--font-display);font-size:38px;color:#ff5d5d;text-shadow:0 0 12px rgba(255,60,60,.8),0 3px 0 #400;animation:fx-pop .95s ease-out forwards}.fx-pop.block{color:#7cc4ff;font-size:26px;text-shadow:0 0 12px rgba(92,170,255,.9),0 2px 0 #012}.fx-pop.dodge{color:#d9b8ff;font-size:26px;text-shadow:0 0 12px rgba(180,140,255,.9),0 2px 0 #102}@keyframes fx-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}25%{opacity:1;transform:translate(-50%,-60%) scale(1.25)}70%{opacity:1;transform:translate(-50%,-75%) scale(1)}to{opacity:0;transform:translate(-50%,-95%) scale(.95)}}.result-row.fx-hit{animation:fx-shake .35s ease-in-out}.result-row.fx-guard{box-shadow:0 0 0 2px #7cc4ff,0 0 22px #5caaff99}@keyframes fx-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}@media(prefers-reduced-motion:reduce){.fx-pop,.result-row.fx-hit{animation:none}}.fx-sword{color:#ffd166;text-shadow:0 0 2px #000,0 0 10px #ff9a3c,0 0 22px #ff5a1f}.fx-pop{padding:4px 18px;border-radius:999px;background:#1c060aeb;border:2px solid #ff5d5d;box-shadow:0 6px 22px #0000008c;font-size:34px}.fx-pop.block{background:#061022eb;border-color:#7cc4ff;font-size:24px}.fx-pop.dodge{background:#140a22eb;border-color:#c9a8ff;font-size:24px}.secret-telop{position:fixed;left:0;right:0;top:42%;z-index:97;pointer-events:none;overflow:hidden;white-space:nowrap;padding:12px 0;text-align:center;font-size:20px;letter-spacing:.08em;color:#f3e6c8;background:linear-gradient(90deg,transparent,rgba(20,14,6,.92) 15%,rgba(20,14,6,.92) 85%,transparent);text-shadow:0 0 10px rgba(255,210,120,.7)}.secret-telop.show{animation:secret-telop 4.2s ease-in-out forwards}@keyframes secret-telop{0%{opacity:0;transform:translate(30%)}15%,80%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30%)}}@media(prefers-reduced-motion:reduce){.secret-telop.show{animation:none}}.card-prayer{--hi: #fff1a8;--mid: #d9a520;--lo: #7a5208;border-color:#ffe27a;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 2px,transparent 2px 7px),linear-gradient(160deg,var(--hi),var(--mid) 55%,var(--lo));color:#2a1a00}.stat.prayer{background:#d9a52038;color:#ffe27a}.shaman-skills{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.shaman-skills .shaman-left{font-size:13px;color:#ffe27a}.shaman-skills .skill-btn:disabled{opacity:.45}.spirit-gauge{margin:4px auto 0;max-width:150px;font-size:12px;color:#bfe9ff}.spirit-gauge .spirit-head{display:flex;justify-content:space-between;gap:6px}.spirit-gauge .spirit-hp{font-weight:700}.spirit-gauge .hpbar{margin:2px auto 0;max-width:150px}.spirit-gauge .hpbar span.on{background:#7cd8ff}.spirit-gauge.hit{animation:fx-shake .35s ease-in-out}@media(prefers-reduced-motion:reduce){.spirit-gauge.hit{animation:none}}.fx-sword.spirit{filter:drop-shadow(0 0 10px rgba(124,216,255,.95))}.dragon-fx{position:fixed;inset:0;z-index:58;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#3c06068c,#000000d9);animation:dragon-shade 2.2s ease-in-out forwards}.dragon-fx .dragon-shadow{position:absolute;left:50%;top:46%;width:min(70vw,70vh);transform:translate(-50%,-50%) scale(.12);filter:drop-shadow(0 0 24px rgba(255,80,30,.6));animation:dragon-approach 1.2s cubic-bezier(.5,0,.75,.3) forwards}.dragon-fx .dragon-flame{position:absolute;left:50%;top:52%;width:min(46vw,46vh);transform:translate(-50%,-10%) scale(.1);transform-origin:50% 0;opacity:0;filter:drop-shadow(0 0 30px rgba(255,140,40,.9));animation:dragon-flame 1.15s ease-out 1s forwards,dragon-flicker .12s steps(2) 1s 9 alternate}.dragon-fx .dragon-glow{position:absolute;inset:0;background:#ff782800;animation:dragon-glow 1.2s ease-out 1.05s forwards}@keyframes dragon-shade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes dragon-approach{0%{transform:translate(-50%,-50%) scale(.12);opacity:.4}to{transform:translate(-50%,-50%) scale(1.6);opacity:1}}@keyframes dragon-flame{0%{transform:translate(-50%,-10%) scale(.1);opacity:1}55%{transform:translate(-50%,-10%) scale(2.6);opacity:1}to{transform:translate(-50%,-10%) scale(4.2);opacity:0}}@keyframes dragon-flicker{0%{filter:drop-shadow(0 0 30px rgba(255,140,40,.9)) brightness(1)}to{filter:drop-shadow(0 0 40px rgba(255,200,80,1)) brightness(1.25)}}@keyframes dragon-glow{0%{background:#ff782800}25%{background:#ff78288c}to{background:#ff3c1400}}.skill-line{position:fixed;left:0;right:0;top:30%;z-index:59;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 16px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.82) 18%,rgba(0,0,0,.82) 82%,transparent);animation:skill-line 2.4s ease forwards}.skill-line-art{width:clamp(72px,12vw,120px);height:clamp(72px,12vw,120px);border-radius:50%;border:3px solid #ffd34d;background:#1a1220;flex:none}.skill-line-text{font-family:var(--font-display);font-size:clamp(20px,4vw,42px);color:#fff;line-height:1.3;text-shadow:0 0 14px rgba(255,200,80,.85),0 3px 0 #000}@keyframes skill-line{0%{opacity:0;transform:translate(-6%)}12%{opacity:1;transform:none}85%{opacity:1;transform:none}to{opacity:0;transform:translate(4%)}}.slash-fx{position:fixed;inset:0;z-index:58;pointer-events:none;overflow:hidden;background:#28000059;animation:dragon-shade 2.3s ease-in-out forwards}.slash-fx .slash{position:absolute;left:-10%;width:120%;height:16px;border-radius:8px;transform-origin:50% 50%;opacity:0;background:linear-gradient(90deg,transparent,#ffffff 35%,#fff2b8 50%,#ffffff 65%,transparent);box-shadow:0 0 34px 16px #ffd28cf2,0 0 80px 30px #ff783c80;animation:slash .7s ease-out forwards}.slash-fx .slash-0{top:40%;--rot: -28deg}.slash-fx .slash-1{top:52%;--rot: 24deg}.slash-fx .slash-2{top:46%;--rot: -6deg;height:22px}@keyframes slash{0%{opacity:1;transform:rotate(var(--rot)) scaleX(0)}25%{opacity:1;transform:rotate(var(--rot)) scaleX(1)}65%{opacity:1;transform:rotate(var(--rot)) scaleX(1)}to{opacity:0;transform:rotate(var(--rot)) scaleX(1) scaleY(.2)}}html{overflow-x:clip}.summon-fx{position:fixed;z-index:59;pointer-events:none;font-size:64px;line-height:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 18px #7cd8ff) drop-shadow(0 0 6px #fff)}.player.spirit-arrive{box-shadow:0 0 0 3px #7cd8ff,0 0 34px #7cd8ffd9;transition:box-shadow .2s}.eye-fx{position:fixed;inset:0;z-index:58;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#060212c7;animation:dragon-shade 2.6s ease-in-out forwards}.eye-fx .eye{position:relative;width:min(84vw,130vh);aspect-ratio:2.3;clip-path:ellipse(50% 50% at 50% 50%);overflow:hidden;background:radial-gradient(circle at 50% 50%,#000 0 8%,#1b3fbf 9% 17%,#5fb7ff 18% 21%,#0c1440 22% 23%,#eef0f6 24%,#c9cddb 60%)}.eye-fx .lid{position:absolute;left:0;right:0;height:51%;background:linear-gradient(#2a1838,#140a1e)}.eye-fx .lid-top{top:0;animation:lid-top 1.1s cubic-bezier(.6,0,.3,1) .35s forwards}.eye-fx .lid-bottom{bottom:0;animation:lid-bottom 1.1s cubic-bezier(.6,0,.3,1) .35s forwards}.eye-fx .eye:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px 20px #0009}@keyframes lid-top{to{transform:translateY(-100%)}}@keyframes lid-bottom{to{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.skill-line{animation:none}}.room-list-box{width:min(640px,100%)}.room-list-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.room-full{margin:0;padding:8px 10px;border-radius:6px;background:#e5484d26;border:1px solid var(--red);color:#ff9a9d;font-size:13px;text-align:left}.room-search{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.room-search input{flex:1;min-width:0;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:13px}.room-search-count{margin:0;text-align:left;font-size:12px}.room-create{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}.room-create input,.room-pass input{min-width:0;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}.room-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto}.room-row{text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:#ffffff08}.room-row.highlight{border-color:#ffd34d;box-shadow:0 0 0 2px #ffd34d59}.room-row .room-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-row .room-meta{grid-column:1;display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:13px}.room-row .room-buttons{grid-column:2;grid-row:1 / span 2;display:flex;gap:6px}.room-row .room-status{padding:0 6px;border-radius:4px;background:#78c8782e;color:#9be59b}.room-row .room-status.playing{background:#ffa0502e;color:#ffb36b}.room-row .room-status.raid{background:#c850c833;color:#f0a0f0}.room-row .room-pass{grid-column:1 / -1;display:flex;gap:8px}.room-row .room-pass input{flex:1}.room-row .row-error{grid-column:1 / -1;color:#ff7b7f;font-size:13px}.room-empty{color:var(--muted);text-align:center;padding:18px 0}@media(max-width:560px){.room-create,.room-row{grid-template-columns:minmax(0,1fr)}.room-row .room-buttons{grid-column:1;grid-row:auto}}.room-name-line{margin:0;color:#ffd34d;font-weight:700}.card.blessed{box-shadow:0 0 0 2px #ffe27a,0 0 14px #ffe27abf}.card.blessed .card-value:after{content:"✚";margin-left:2px;font-size:.6em;color:#ffe27a;vertical-align:super}.card.baptized .card-value:before{content:"✝";margin-right:2px;font-size:.6em;color:#fff4c2;vertical-align:super}.bless-box .bless-hint{font-size:13px;color:#ffe27a}.bless-chip.bless-red{border-color:#e05a5a}.bless-chip.bless-blue{border-color:#5a8ee0}.bless-chip.bless-green{border-color:#5ac07a}.dance-fx{position:fixed;inset:0;z-index:58;pointer-events:none;overflow:hidden;background:#0a04188c;animation:dragon-shade 2s ease-in-out forwards}.dance-fx .spot{position:absolute;top:-20px;width:26vw;height:140vh;transform-origin:50% 0;background:linear-gradient(rgba(255,244,196,.6),rgba(255,244,196,.05) 70%,transparent);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);filter:blur(2px);animation:spot-sway 2s ease-in-out forwards}@keyframes spot-sway{0%{opacity:0}15%{opacity:1}85%{opacity:1}to{opacity:0}}.dance-note{position:fixed;z-index:59;pointer-events:none;font-size:44px;line-height:1;transform:translate(-50%,-50%);text-shadow:0 0 12px currentColor}.dance-note.red{color:#ff6b6f}.dance-note.blue{color:#6fb3ff}.dance-note.green{color:#5fd38f}.dance-pop{position:fixed;z-index:59;pointer-events:none;transform:translate(-50%,-50%);white-space:nowrap;font-family:var(--font-display);font-size:28px;text-shadow:0 0 10px rgba(0,0,0,.8),0 2px 0 #000;animation:fx-pop .95s ease-out forwards}.dance-pop.red{color:#ff8a8d}.dance-pop.blue{color:#8cc0ff}.dance-pop.green{color:#7fd9a8}.scene-shade{position:fixed;inset:0;z-index:57;pointer-events:none;background:#05051480;animation:dragon-shade 2.4s ease-in-out forwards}.shield-emblem{position:fixed;z-index:59;pointer-events:none;font-size:150px;line-height:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 24px rgba(124,196,255,.95))}.hex-ring{position:fixed;z-index:58;pointer-events:none;width:220px;height:220px;transform:translate(-50%,-50%) scale(.3);clip-path:polygon(25% 3%,75% 3%,100% 50%,75% 97%,25% 97%,0 50%);background:radial-gradient(circle,transparent 55%,rgba(124,196,255,.85) 60%,transparent 70%);animation:hex-ring 1.2s ease-out forwards}@keyframes hex-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(3)}}.halo-pillar{position:fixed;z-index:58;pointer-events:none;top:0;width:170px;transform:translate(-50%) scaleY(0);transform-origin:top;background:linear-gradient(#fffffff2,#ffeca0a6 70%,#ffeca000);filter:blur(3px);animation:halo-pillar 2.4s ease-out forwards}@keyframes halo-pillar{0%{transform:translate(-50%) scaleY(0);opacity:1}25%{transform:translate(-50%) scaleY(1);opacity:1}80%{opacity:1}to{transform:translate(-50%) scaleY(1);opacity:0}}.halo-feather{position:fixed;z-index:59;pointer-events:none;font-size:28px;color:#fffbe6;text-shadow:0 0 10px #ffe9a0}.halo-ring{position:fixed;z-index:59;pointer-events:none;width:160px;height:160px;border-radius:50%;border:6px solid var(--ring, #ffe27a);transform:translate(-50%,-50%) scale(.2);box-shadow:0 0 30px var(--ring, #ffe27a);animation:hex-ring 1.3s ease-out forwards}.magic-circle{position:fixed;z-index:58;pointer-events:none;left:50%;top:50%;width:min(80vw,80vh);height:min(80vw,80vh);transform:translate(-50%,-50%);border-radius:50%;border:3px solid rgba(190,120,255,.85);box-shadow:0 0 40px #aa5affb3,inset 0 0 40px #aa5aff80;animation:magic-circle 2.4s ease-in-out forwards}.magic-circle:before,.magic-circle:after{content:"";position:absolute;inset:14%;border:2px solid rgba(220,170,255,.8);transform:rotate(45deg)}.magic-circle:after{inset:28%;border-radius:50%;transform:none}@keyframes magic-circle{0%{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(0)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.05) rotate(240deg)}}.dark-orb{position:fixed;z-index:59;pointer-events:none;width:34px;height:34px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 35%,#c9a2ff,#3a0c6b 55%,#0a0014);box-shadow:0 0 22px #aa5affe6}.dark-orb.big{width:70px;height:70px}.dark-burst{position:fixed;z-index:59;pointer-events:none;width:60px;height:60px;border-radius:50%;transform:translate(-50%,-50%) scale(.3);background:radial-gradient(circle,#fff,#c9a2ff 30%,rgba(90,20,160,.7) 60%,transparent 70%);animation:dark-burst .7s ease-out forwards}@keyframes dark-burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(-50%,-50%) scale(5)}}.hypno-fx{position:fixed;inset:-50%;z-index:58;pointer-events:none;opacity:0;background:repeating-conic-gradient(from 0deg,#be78ff73 0 12deg,#14002873 12deg 24deg);animation:hypno-spin 2.4s ease-in-out forwards}@keyframes hypno-spin{0%{opacity:0;transform:rotate(0) scale(.6)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:rotate(540deg) scale(1.2)}}body.hypno-cards .card{animation:hypno-hue 2.2s linear}@keyframes hypno-hue{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(720deg)}}@media(prefers-reduced-motion:reduce){body.hypno-cards .card{animation:none}}.encounter-fx{position:fixed;inset:0;z-index:95;display:flex;align-items:center;justify-content:center;overflow:hidden;animation:enc-bg 2.5s linear forwards}@keyframes enc-bg{0%{background:transparent}43%{background:transparent}44%{background:#000}88%{background:#000}to{background:#0000}}.encounter-fx .enc-mosaic{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--cols),1fr);grid-template-rows:repeat(var(--rows),1fr)}.encounter-fx .enc-mosaic span{background:#000;opacity:0;animation:enc-cell .12s linear forwards}@keyframes enc-cell{to{opacity:1}}.encounter-fx .enc-stage{position:relative;display:flex;flex-direction:column;align-items:center;gap:22px;opacity:0;animation:enc-stage 2.5s linear forwards}@keyframes enc-stage{0%{opacity:0}46%{opacity:0}50%{opacity:1}86%{opacity:1}96%{opacity:0}to{opacity:0}}.encounter-fx .enc-arts{display:flex;gap:18px;justify-content:center}.encounter-fx .encounter-art{width:clamp(80px,14vw,150px);height:clamp(80px,14vw,150px);border-radius:50%;border:3px solid #fff;background:#1a1220;animation:enc-art-l .5s 1.15s ease-out both}.encounter-fx .encounter-art:nth-child(2n){animation-name:enc-art-r}@keyframes enc-art-l{0%{transform:translate(-60vw)}to{transform:none}}@keyframes enc-art-r{0%{transform:translate(60vw)}to{transform:none}}.encounter-fx .encounter-text{font-family:var(--font-display);font-size:clamp(20px,3.6vw,36px);color:#fff;background:#000;border:4px double #fff;border-radius:6px;padding:12px 26px;min-width:min(80vw,520px);text-align:left;letter-spacing:.06em}.encounter-fx.enemy .encounter-text{color:#ffd0d0;border-color:#ff4a4a;text-align:center}.encounter-fx.enemy .encounter-art{border-color:#ff4a4a;box-shadow:0 0 24px 6px #ff3c3cb3;width:clamp(110px,20vw,210px);height:clamp(110px,20vw,210px)}.encounter-fx.enemy .enc-stage:before{content:"";position:absolute;inset:-40vmax;background:radial-gradient(circle,rgba(255,40,40,.35),transparent 40%);animation:enemy-pulse .6s ease-in-out infinite alternate;pointer-events:none;z-index:-1}@keyframes enemy-pulse{0%{opacity:.35}to{opacity:1}}.encounter-fx.gold .encounter-text{color:#fff4c2;border-color:#ffd84a}.encounter-fx.gold .encounter-art{border-color:#ffd84a;box-shadow:0 0 34px 10px #ffd84ad9}.encounter-fx.gold .enc-stage:before{background:repeating-conic-gradient(from 0deg,rgba(255,216,74,.32) 0deg 8deg,transparent 8deg 22deg);animation:enemy-rays 6s linear infinite}@keyframes enemy-rays{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.encounter-fx.enemy .enc-stage:before{animation:none}.encounter-fx{animation:none;background:#000}.encounter-fx .enc-mosaic{display:none}.encounter-fx .enc-stage{animation:none;opacity:1}.encounter-fx .encounter-art{animation:none}}#emoteToggleBtn.off{text-decoration:line-through;opacity:.6}.howto-screen{z-index:96}.emote-layer{z-index:72}#log{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14px);mask-image:linear-gradient(to bottom,transparent 0,#000 14px)}.sound-toggle{display:none}@media(max-width:720px){.sound-toggle{display:inline-flex}.sound-dock:not(.open)>:not(.sound-toggle){display:none}.sound-dock:not(.open){padding:2px}}@media(max-width:720px){.chara-list .chara-card .chara-name{font-size:13px;word-break:keep-all;overflow-wrap:normal}}@media(max-width:720px){.chara-list .chara-card .chara-icon{display:none}}.howto-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px;margin:6px 0 4px;border-bottom:1px solid var(--border);scrollbar-width:thin}.howto-tab{flex:none;padding:7px 12px;border-radius:8px 8px 0 0;border:1px solid var(--border);border-bottom:none;background:var(--bg);color:var(--muted);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.howto-tab.on{background:var(--accent);color:#0b1620;border-color:var(--accent)}.howto-tab:focus-visible{outline:2px solid #fff;outline-offset:2px}.howto-panel{padding-top:6px}.howto-panel h3{margin:14px 0 6px;font-size:15px;color:var(--accent)}.howto-panel ul{margin:0;padding-left:1.2em;font-size:13px;line-height:1.7}.howto-fig{margin:8px 0 12px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#00000038}.howto-fig figcaption{margin-top:10px;font-size:13px;line-height:1.6;color:var(--text)}.howto-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.howto-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.howto-fig .card:disabled{opacity:1;cursor:default}.howto-shot{position:relative;width:100%}.howto-shot img{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--border)}.howto-mark{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffd34d;color:#111;font-size:15px;font-weight:700;border:2px solid #111;box-shadow:0 0 0 2px #ffd34d,0 2px 8px #0009;pointer-events:none}.howto-legend{margin:10px 0 0;padding-left:1.6em;font-size:13px;line-height:1.7}.howto-legend li::marker{color:#ffd34d;font-weight:700}.howto-draft{gap:10px}.howto-pick{display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:10px;padding:4px;animation:howto-pick 8s calc(var(--k) * .8s) infinite}.howto-badge{font-size:11px;padding:1px 6px;border-radius:6px;white-space:nowrap}.pick-a .howto-badge,.tag-a{background:var(--p0);color:#0b1620}.pick-b .howto-badge,.tag-b{background:var(--p1);color:#1e1206}.howto-tag{font-size:12px;padding:2px 8px;border-radius:6px;margin-top:8px}@keyframes howto-pick{0%,9%{box-shadow:0 0 0 3px #ffd34d,0 0 14px #ffd34db3}12%,to{box-shadow:none}}.howto-side{display:flex;flex-direction:column;align-items:center;gap:4px}.howto-side-name{font-size:13px;color:var(--muted)}.howto-vs{font-family:var(--font-display);font-size:20px;color:var(--muted)}.howto-math{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:14px}.howto-math b{padding:2px 6px;border-radius:6px;background:#ffffff0f;font-weight:400}.howto-math .c-red{color:#ff8a8d}.howto-math .c-blue{color:#8cc0ff}.howto-math .c-green{color:#7fd9a8}.howto-black{display:flex;flex-direction:column;gap:8px}.howto-black .howto-row{justify-content:flex-start;font-size:13px}.howto-before{color:var(--muted)}.howto-after{color:#ffd34d;font-size:16px}.howto-note{flex-basis:100%}@media(min-width:560px){.howto-note{flex-basis:auto;margin-left:6px}}.howto-charas{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px}.howto-chara{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;text-align:center}.howto-chara-art{width:64px;height:64px;border-radius:50%;border:2px solid var(--border);background:#1a1220;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--muted)}.howto-chara.secret{color:var(--muted)}.howto-ffa-wrap{max-width:420px;margin:0 auto;color:#ffd34d}.howto-ffa{width:100%;height:auto;display:block}.howto-ffa .ffa-players rect{fill:var(--bg);stroke:var(--border);stroke-width:2}.howto-ffa .ffa-players text{fill:var(--text);font-family:var(--font-body)}@media(prefers-reduced-motion:reduce){.howto-pick{animation:none}}@media(min-width:600px){.howto-tabs{flex-wrap:wrap;overflow-x:visible}.howto-tab{border-radius:8px;border-bottom:1px solid var(--border)}}@media(max-width:480px){.howto-mark{width:18px;height:18px;font-size:11px;border-width:1px}}@media(max-width:560px){.room-list-actions{flex-wrap:wrap}.room-search{flex-basis:100%}}.menu-tile.tile-random{border-color:#c9a7ff}.menu-tile.tile-rooms{border-color:#5fd39a}.match-box{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.match-spinner{font-size:48px;animation:match-spin 1.6s linear infinite}.match-time{margin:0;font-family:var(--font-display);font-size:28px;letter-spacing:.08em}@keyframes match-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.match-spinner{animation:none}}.match-rating{margin:0;font-size:14px;color:var(--accent)}.member-face.picked{display:flex;align-items:center;justify-content:center;color:#5fd39a;font-size:22px}.card-powder{--hi: #e6e6e6;--mid: #9a9a9a;--lo: #4a4a4a;border-color:#cfcfcf;background-image:radial-gradient(circle at 30% 25%,rgba(0,0,0,.18) 0 2px,transparent 3px),radial-gradient(circle at 70% 65%,rgba(0,0,0,.18) 0 2px,transparent 3px),linear-gradient(160deg,var(--hi),var(--mid) 55%,var(--lo));color:#1a1a1a}.stat.powder{background:#a0a0a038;color:#e6e6e6}.card{position:relative}.card.bomb{box-shadow:0 0 0 2px #ff7a1a,0 0 14px #ff7a1acc}.card-bomb{position:absolute;top:-6px;right:-6px;font-size:16px;line-height:1;filter:drop-shadow(0 0 3px rgba(255,122,26,.9));pointer-events:none}.overlay-more{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}.pick-order{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:var(--accent)}.player-emote-btn{position:fixed;right:16px;bottom:16px;z-index:85;width:52px;height:52px;border-radius:50%;font-size:24px;padding:0;box-shadow:0 4px 14px #00000073}.player-emote-btn:disabled{opacity:.5}.player-emote-menu{position:fixed;right:16px;bottom:76px;z-index:85;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;border-radius:14px;background:#141423f5;border:1px solid rgba(255,255,255,.15);max-width:calc(100vw - 32px);width:300px;box-shadow:0 6px 18px #00000080}.player-emote-menu button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-emote{position:fixed;z-index:86;transform:translate(-50%,-100%);padding:6px 12px;border-radius:14px;background:#fff;color:#1a1a2e;font-size:15px;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px #00000073;animation:seat-emote 3s ease-out forwards}.seat-emote:after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-bottom:0;border-top-color:#fff}@keyframes seat-emote{0%{opacity:0;transform:translate(-50%,-80%) scale(.8)}10%{opacity:1;transform:translate(-50%,-100%) scale(1.05)}85%{opacity:1;transform:translate(-50%,-100%) scale(1)}to{opacity:0;transform:translate(-50%,-110%) scale(1)}}@media(prefers-reduced-motion:reduce){.seat-emote{animation:emote-fade 3s linear forwards;transform:translate(-50%,-100%)}}.player-emote-menu .emote-mute{grid-column:1 / -1}.bomb-pop{position:fixed;z-index:59;pointer-events:none;font-size:56px;line-height:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 14px rgba(255,140,40,.95));animation:bomb-pop .8s ease-out forwards}@keyframes bomb-pop{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}25%{transform:translate(-50%,-50%) scale(1.3);opacity:1}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}.bomb-spark{position:fixed;z-index:59;pointer-events:none;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#fff6c8,#ff9a2e 60%,transparent 70%);transform:translate(-50%,-50%)}.bomb-spark.big{width:16px;height:16px}.detonator{position:fixed;z-index:59;pointer-events:none;font-size:110px;line-height:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 20px rgba(255,80,60,.9));animation:detonator-press 1s ease-in forwards}@keyframes detonator-press{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}30%{transform:translate(-50%,-50%) scale(1.1);opacity:1}70%{transform:translate(-50%,-45%) scaleY(.8);opacity:1}to{transform:translate(-50%,-45%) scale(1.2,.7);opacity:0}}.detonate-flash{position:fixed;inset:0;z-index:60;pointer-events:none;background:#fff;animation:detonate-flash .7s ease-out forwards}@keyframes detonate-flash{0%{opacity:.95}to{opacity:0}}.detonate-boom{position:fixed;z-index:59;pointer-events:none;font-size:220px;line-height:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 40px rgba(255,120,30,.95));animation:detonate-boom 1.2s ease-out forwards}@keyframes detonate-boom{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}40%{transform:translate(-50%,-50%) scale(1.4);opacity:1}to{transform:translate(-50%,-50%) scale(1.9);opacity:0}}@media(prefers-reduced-motion:reduce){.bomb-pop,.detonator,.detonate-boom,.detonate-flash{animation:none}}.cpu-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.cpu-level small{display:block;margin-top:4px}.cpu-level.chosen{outline:2px solid var(--accent);box-shadow:0 0 16px #6ec8ff73}.leave-confirm{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#000000b3}.leave-confirm .box{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:20px 24px;max-width:420px;width:100%;text-align:center}.leave-confirm h2{margin:0 0 10px;font-size:20px}.leave-confirm p{margin:0 0 18px;color:#c8c8da;line-height:1.6}.leave-confirm-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.btn.danger{background:#d9454f;color:#fff}.scope-lens{position:fixed;z-index:58;pointer-events:none;width:300px;height:300px;border-radius:50%;transform:translate(-50%,-50%);border:6px solid #d9a441;box-shadow:0 0 0 3px #6b4a1f,0 0 0 200vmax #03050af2,inset 0 0 40px #0000008c}.scope-cross{position:absolute;background:#ffe6a08c}.scope-cross.h{left:10%;right:10%;top:50%;height:2px}.scope-cross.v{top:10%;bottom:10%;left:50%;width:2px}.scope-glint{position:fixed;z-index:59;pointer-events:none;font-size:44px;color:#fff6c8;transform:translate(-50%,-50%);text-shadow:0 0 16px #ffe27a;animation:scope-glint .6s ease-out forwards}@keyframes scope-glint{0%{transform:translate(-50%,-50%) scale(.2) rotate(0);opacity:0}40%{transform:translate(-50%,-50%) scale(1.3) rotate(45deg);opacity:1}to{transform:translate(-50%,-50%) scale(.6) rotate(90deg);opacity:0}}.blood-pulse{position:fixed;inset:0;z-index:57;pointer-events:none;background:radial-gradient(circle,#78000a26,#460005b3);animation:blood-pulse 1.1s ease-in-out forwards}@keyframes blood-pulse{0%,to{opacity:0}15%{opacity:1}35%{opacity:.3}55%{opacity:1}80%{opacity:.5}}.blood-aura{position:fixed;z-index:58;pointer-events:none;width:260px;height:260px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,60,40,.55),rgba(160,0,20,.25) 55%,transparent 70%);animation:blood-aura 1.2s ease-out forwards}@keyframes blood-aura{0%{transform:translate(-50%,-40%) scale(.5);opacity:0}30%{opacity:1}to{transform:translate(-50%,-70%) scale(1.4);opacity:0}}.blood-thirst{position:fixed;z-index:59;pointer-events:none;transform:translate(-50%,-50%);font-size:22px;font-weight:700;color:#ff5a5f;text-shadow:0 0 10px rgba(255,0,0,.8);animation:blood-thirst 1s ease-in forwards}@keyframes blood-thirst{0%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%) scale(.4);opacity:0}}.blood-drop{position:fixed;z-index:59;pointer-events:none;font-size:20px;filter:hue-rotate(150deg) saturate(3);transform:translate(-50%,-50%)}.blood-axe{position:fixed;z-index:59;pointer-events:none;font-size:130px;line-height:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 18px rgba(255,30,30,.9))}.blood-slash{position:fixed;z-index:58;pointer-events:none;width:340px;height:14px;border-radius:7px;transform:translate(-50%,-50%) rotate(-28deg);background:linear-gradient(90deg,transparent,#ff2d3a 20%,#ffb3b3 50%,#ff2d3a 80%,transparent);box-shadow:0 0 22px #ff1e28e6;animation:blood-slash 1s ease-out forwards}@keyframes blood-slash{0%{transform:translate(-50%,-50%) rotate(-28deg) scaleX(0);opacity:1}30%{transform:translate(-50%,-50%) rotate(-28deg) scaleX(1);opacity:1}to{transform:translate(-50%,-50%) rotate(-28deg) scaleX(1);opacity:0}}.blood-bonus{position:fixed;z-index:59;pointer-events:none;transform:translate(-50%,-50%);font-size:30px;font-weight:700;color:#fff;text-shadow:0 0 12px #ff2d3a,0 0 4px #000;animation:blood-bonus 1s ease-out forwards}@keyframes blood-bonus{0%{transform:translate(-50%,-30%) scale(.6);opacity:0}25%{transform:translate(-50%,-50%) scale(1.15);opacity:1}to{transform:translate(-50%,-90%) scale(1);opacity:0}}@media(prefers-reduced-motion:reduce){.blood-pulse,.blood-aura,.blood-thirst,.blood-slash,.blood-bonus{animation:none}}.achievement-btn{position:absolute;top:14px;left:14px;z-index:2}.achievement-box{width:min(640px,100%)}.achievement-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:8px}.achievement-tab{padding:6px 18px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--muted);font:inherit;cursor:pointer}.achievement-tab[aria-selected=true]{background:#e9b949;border-color:#e9b949;color:#1b1405;font-weight:700}.achievement-status{margin:0 0 10px;text-align:center;color:var(--muted);font-size:14px}.achievement-list{display:grid;gap:8px}.achievement-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:#ffffff08;opacity:.6;filter:grayscale(1)}.achievement-item.done{opacity:1;filter:none;border-color:#e9b949;background:linear-gradient(90deg,#e9b94938,#e9b9490a)}.achievement-icon{font-size:26px;line-height:1}.achievement-text{flex:1;min-width:0;text-align:left}.achievement-name{font-weight:700}.achievement-item.done .achievement-name{color:#ffd66b}.achievement-desc{font-size:13px;color:var(--muted)}.achievement-progress{font-size:14px;white-space:nowrap;color:var(--muted)}.achievement-item.done .achievement-progress{color:#ffd66b;font-weight:700}.achievement-section{margin-bottom:14px}.achievement-section h3{margin:0 0 6px;font-size:16px;text-align:left}.achievement-table{width:100%;border-collapse:collapse;font-size:14px}.achievement-table th,.achievement-table td{padding:5px 8px;border-bottom:1px solid var(--border);text-align:right}.achievement-table th:first-child{text-align:left}.achievement-table thead th{color:var(--muted);font-weight:400}.achievement-others{margin:0;padding-left:20px;text-align:left;font-size:14px}.achievement-empty{margin:0;color:var(--muted);font-size:14px;text-align:left}.achievement-foot{display:flex;justify-content:center;margin-top:12px}.achievement-heading{margin:14px 0 4px;font-size:16px;text-align:left}.achievement-heading:first-child{margin-top:0}.unlock-art{width:40px;height:40px;object-fit:contain;flex:none}.unlock-art.fallback{display:inline-flex;align-items:center;justify-content:center;font-size:26px}.chara-card.chara-masked{justify-content:center}.chara-card.chara-masked .chara-art{filter:brightness(.9)}.howto-fig{position:relative}.howto-bomb{position:absolute;right:6px;bottom:4px;padding:0;border:none;background:none;font-size:13px;line-height:1;opacity:.22;cursor:pointer}.howto-bomb:hover,.howto-bomb:focus-visible{opacity:.9}body:has(#howto:not([hidden])) .cutin{z-index:97}.unlock-art.unlock-secret{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#2b2e3f;color:var(--muted);font-size:22px;font-weight:700}html.raid #ffaPlayers .player.boss,html.raid #ffaHands .hand.boss{grid-column:1 / -1;order:-1}.tile-raid{border-color:#b48cff}.boss-select{display:flex;flex-direction:column;align-items:center;gap:10px}.boss-select .chara-list{width:100%}.boss-card{border-color:#b48cff;box-shadow:0 0 14px #b48cff73}.card.frozen{position:relative;filter:saturate(.4) brightness(1.05);box-shadow:inset 0 0 0 2px #bfe8ff,0 0 10px #a0dcffb3}.card.frozen:after{content:"❄";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;background:linear-gradient(135deg,#dcf5ff8c,#a0d7ff40);border-radius:inherit;color:#eaf8ff;text-shadow:0 0 6px #7cc8ff;pointer-events:none}.frost-veil{position:fixed;inset:0;z-index:57;pointer-events:none;background:radial-gradient(circle,#e6f8ff26,#bee6ff8c);animation:frost-veil 2s ease-in-out forwards}@keyframes frost-veil{0%{opacity:0}25%{opacity:1}80%{opacity:.8}to{opacity:0}}.snowflake{position:fixed;top:-40px;z-index:58;pointer-events:none;color:#f2fbff;text-shadow:0 0 8px #9fd8ff;animation:snowfall 1.6s linear forwards}@keyframes snowfall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(240deg);opacity:.2}}@media(prefers-reduced-motion:reduce){.frost-veil,.snowflake{animation:none}}.tile-rank{border-color:#e9b949}.menu-tile.locked{opacity:.55;filter:grayscale(.6);cursor:not-allowed}.chara-card.used-up{opacity:.45;filter:grayscale(.7)}.passive-pop{position:fixed;z-index:90;transform:translate(-50%);pointer-events:none;white-space:nowrap;padding:5px 14px;border-radius:999px;font-size:15px;font-weight:700;color:#fff;background:#101420eb;border:2px solid var(--pc-pop, #8fd8ff);box-shadow:0 0 12px var(--pc-pop, #8fd8ff);animation:passive-pop .8s ease-out forwards}.passive-pop.chara-red{--pc-pop: #ff7b7f}.passive-pop.chara-blue{--pc-pop: #6fb8ff}.passive-pop.chara-green{--pc-pop: #6fe0a0}.passive-pop.chara-black,.passive-pop.chara-purple{--pc-pop: #c9a6ff}@keyframes passive-pop{0%{opacity:0;transform:translate(-50%,6px) scale(.7)}20%{opacity:1;transform:translate(-50%,-4px) scale(1.08)}70%{opacity:1;transform:translate(-50%,-10px) scale(1)}to{opacity:0;transform:translate(-50%,-18px) scale(1)}}@media(prefers-reduced-motion:reduce){.passive-pop{animation:none}}.x-link{position:absolute;left:16px;top:50%;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border-radius:50%;text-decoration:none}.x-icon{width:22px;height:22px;display:block}@media(max-width:480px){.x-link{left:10px;width:42px;height:42px}.x-icon{width:19px;height:19px}}
