*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0a1a;--panel: rgba(10, 8, 24, .82);--panel-border: #4a3f7a;--text: #f0ecff;--sub: #a99fd6;--gold: #ffd54a;--hp: #4ade80;--hp-low: #f87171;--accent: #7c6cff;--attack: #ff6b6b;--heal: #4ade80}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:DotGothic16,Hiragino Kaku Gothic ProN,sans-serif;overflow-x:hidden;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}.screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:16px;position:relative}.center{align-items:center;justify-content:center;text-align:center}.btn{font-family:inherit;font-size:16px;color:var(--text);background:#241d45;border:2px solid var(--panel-border);border-radius:10px;padding:10px 18px;cursor:pointer;transition:transform .08s,background .15s}.btn:hover:not(:disabled){background:#342962;transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:default}.btn.big{font-size:20px;padding:14px 28px}.btn.primary{background:linear-gradient(180deg,#8b7cff,#5b46d6);border-color:#a99fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#9d90ff,#6a55ea)}.btn.ghost{background:transparent}.btn-note{display:block;font-size:11px;opacity:.8}.bar{background:#1a1533;border:1px solid #3a3161;border-radius:6px;height:12px;overflow:hidden}.bar-fill{height:100%;transition:width .25s ease-out}.hp-fill{background:linear-gradient(180deg,#6ee7a0,#22c55e)}.hp-fill.low{background:linear-gradient(180deg,#fca5a5,#ef4444)}.error-box{background:#f43f5e26;border:1px solid #f43f5e;color:#fda4af;border-radius:8px;padding:8px 12px;margin:8px 0;font-size:14px}.wait-note{color:var(--sub);padding:10px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;text-align:left}.field>span{font-size:13px;color:var(--sub)}.field input{font-family:inherit;font-size:18px;padding:10px 12px;background:#171230;color:var(--text);border:2px solid var(--panel-border);border-radius:8px;outline:none}.field input:focus{border-color:var(--accent)}.title-screen{background:radial-gradient(ellipse at 50% -10%,#2a2154 0%,transparent 55%),var(--bg);gap:24px}.title-logo{margin-bottom:8px}.title-main{font-family:"Press Start 2P",DotGothic16,monospace;font-size:clamp(32px,8vw,64px);letter-spacing:2px;text-shadow:0 4px 0 #2a1d5e,0 8px 24px rgba(124,108,255,.55)}.title-accent{color:var(--gold)}.title-parade{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;animation:bob 2.4s ease-in-out infinite}.title-parade img{width:40px;height:40px;image-rendering:pixelated}.title-parade .parade-boss{width:56px;height:56px}.parade-vs{font-family:"Press Start 2P",monospace;font-size:13px;color:var(--gold);margin:0 6px}.avatar{width:26px;height:26px;image-rendering:pixelated;flex-shrink:0}.name-cell{text-align:left}.name-cell .avatar{vertical-align:middle;margin-right:6px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.menu-buttons{display:flex;flex-direction:column;gap:12px;width:min(340px,90vw)}.setup-panel{background:var(--panel);border:2px solid var(--panel-border);border-radius:14px;padding:20px;width:min(520px,94vw)}.setup-actions{display:flex;justify-content:space-between;gap:10px;margin-top:6px}.role-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.role-card{font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:4px;background:#171230;color:var(--text);border:2px solid var(--panel-border);border-radius:10px;padding:10px 4px;cursor:pointer}.role-card.sel{border-color:var(--gold);background:#2c2258;box-shadow:0 0 12px #ffd54a59}.role-icon{font-size:24px}.role-name{font-size:12px}.role-desc{font-size:12px;color:var(--sub);min-height:1.4em}.diff-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.diff-btn{font-family:inherit;font-size:14px;padding:8px 14px;border-radius:999px;border:2px solid var(--panel-border);background:#171230;color:var(--text);cursor:pointer}.diff-btn.sel{border-color:var(--diff-color, var(--accent));color:var(--diff-color, var(--text));background:#241d45;box-shadow:0 0 10px #7c6cff4d}.lobby-screen{gap:14px;max-width:760px;margin:0 auto;width:100%}.lobby-head h2{margin-bottom:6px}.pw-banner{background:var(--panel);border:2px dashed var(--gold);color:var(--gold);border-radius:10px;padding:8px 14px;display:inline-block;font-size:16px}.pw-hint{color:var(--sub);font-size:12px;margin-left:8px}.member-list{background:var(--panel);border:2px solid var(--panel-border);border-radius:12px;padding:14px;margin-bottom:14px}.member-list h3{font-size:14px;color:var(--sub);margin-bottom:8px}.member-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px}.member-row.me{background:#7c6cff1f}.member-role{font-size:20px}.member-name{flex:1}.host-badge,.me-badge{font-size:11px;margin-left:6px;padding:2px 6px;border-radius:6px;background:#3a2f6e;color:var(--gold)}.me-badge{color:#9fdcff}.member-diff{font-size:12px}.member-diff{color:var(--diff-color, var(--sub))}.field-note{font-size:12px;color:var(--sub);align-self:center}.miss-note{font-size:12px;color:#ff7b7b;font-weight:700}.mode-banner{display:inline-block;margin:4px auto 8px;padding:4px 12px;border-radius:999px;border:1px solid #c084fc;background:#c084fc1f;color:#e9d5ff;font-size:13px}.mode-desc{font-size:13px;color:var(--sub);text-align:center;line-height:1.6;margin-bottom:4px}.warlord-btn{border-color:#c084fc}.kills-label{color:#ffb4b4}.member-ready{font-size:12px;color:var(--sub);min-width:90px;text-align:right}.member-ready.on{color:var(--hp)}.my-setup{background:var(--panel);border:2px solid var(--panel-border);border-radius:12px;padding:14px}.lobby-actions{display:flex;justify-content:center;gap:14px;padding:10px 0 20px}.battle-screen{padding:10px 14px;gap:8px;transition:transform .05s}.battle-screen.shake{animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px,3px)}40%{transform:translate(7px,-4px)}60%{transform:translate(-5px,2px)}80%{transform:translate(4px,-2px)}}.battle-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.stage-label{font-size:16px;text-shadow:0 2px 4px rgba(0,0,0,.6)}.wave-label{font-size:12px;color:var(--sub);margin-left:6px}.rage-wrap{display:flex;align-items:center;gap:6px;flex:1;min-width:120px;max-width:260px}.rage-bar{flex:1;height:10px}.rage-fill{background:linear-gradient(90deg,#f97316,#ef4444)}.unison-wrap{display:flex;align-items:center;gap:8px;margin-left:auto}.gauge-bar{width:140px;height:14px}.gauge-fill{background:linear-gradient(90deg,#22d3ee,#7c6cff,#f0abfc)}.unison-btn{font-size:14px;padding:6px 12px}.unison-btn.ready{animation:pulse .9s infinite;border-color:var(--gold);color:var(--gold)}@keyframes pulse{0%,to{box-shadow:0 0 6px #ffd54a66}50%{box-shadow:0 0 20px #ffd54ae6}}.banner-feed{min-height:30px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.banner{font-size:14px;padding:4px 14px;border-radius:999px;background:var(--panel);border:1px solid var(--panel-border);animation:popin .25s ease-out}.chain-banner{border-color:#22d3ee;color:#67e8f9}.buff-banner{border-color:var(--gold);color:var(--gold)}.info-banner{color:#fda4af;border-color:#b04a5e}@keyframes popin{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.enemy-area{position:relative;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:10px 0 4px;min-height:150px}.enemy-card{font-family:inherit;color:var(--text);background:var(--panel);border:2px solid var(--panel-border);border-radius:14px;padding:10px 14px;width:150px;cursor:pointer;position:relative;transition:transform .1s}.enemy-card.boss{width:190px;border-color:#b04a5e}.enemy-card.targeted{border-color:var(--gold);box-shadow:0 0 14px #ffd54a73}.enemy-card.hit .enemy-sprite{animation:enemyhit .18s}@keyframes enemyhit{0%{transform:translate(0) scale(1);filter:var(--tint, none) brightness(2.5)}50%{transform:translate(6px) scale(.95)}to{transform:translate(0) scale(1)}}.enemy-card.dead{opacity:.35;filter:grayscale(1);cursor:default}.enemy-sprite{width:64px;height:64px;image-rendering:pixelated;animation:bob 2.8s ease-in-out infinite;filter:var(--tint, none)}.enemy-card.boss .enemy-sprite{width:96px;height:96px;animation-duration:2s}.enemy-sprite.ko{transform:rotate(180deg);animation:none;opacity:.6}.deco-strip{display:flex;justify-content:space-evenly;align-items:flex-end;opacity:.55;pointer-events:none;margin:-4px 0}.deco-strip img{width:40px;height:40px;image-rendering:pixelated}.target-marker{position:absolute;top:-20px;left:50%;transform:translate(-50%);color:var(--gold);font-size:12px;animation:bob 1s infinite;white-space:nowrap}.enemy-name{font-size:13px;margin:4px 0}.weakness-chip{margin-top:6px;font-size:11px;background:#ffd54a1f;border:1px solid rgba(255,213,74,.5);color:var(--gold);border-radius:999px;padding:2px 8px;display:inline-block}.telegraph-warn{position:absolute;bottom:-12px;left:50%;transform:translate(-50%);background:#7f1d1d;border:1px solid #ef4444;color:#fecaca;font-size:12px;border-radius:999px;padding:2px 10px;white-space:nowrap;animation:pulse-red .6s infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 4px #ef444480}50%{box-shadow:0 0 16px #ef4444}}.party-area{position:relative;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.player-card{background:var(--panel);border:2px solid var(--panel-border);border-radius:12px;padding:8px 12px;width:150px}.player-card.me{border-color:#67e8f9}.player-card.downed{opacity:.6;border-color:#6b7280}.player-card.in-danger{animation:danger-blink .6s infinite}@keyframes danger-blink{0%,to{border-color:var(--panel-border)}50%{border-color:#ef4444}}.player-head{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:4px}.player-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-hp-num{font-size:11px;color:var(--sub);margin-top:3px}.float-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden}.float{animation:floatup 1.1s ease-out forwards;font-size:20px;text-shadow:0 2px 4px rgba(0,0,0,.8)}.float-dmg{color:#fff}.float-crit{color:var(--gold);font-size:26px}.float-heal{color:var(--hp)}.float-hurt{color:#f87171;font-size:24px}.float-guard{color:#93c5fd}.float-fury{color:#fb923c;font-size:24px}@keyframes floatup{0%{transform:translateY(10px) scale(.8);opacity:0}15%{transform:translateY(0) scale(1.15);opacity:1}to{transform:translateY(-46px) scale(1);opacity:0}}.typing-panel{margin-top:auto;background:var(--panel);border:2px solid var(--panel-border);border-radius:16px;padding:12px;transition:background .1s}.typing-panel.miss-flash{background:#7f1d1dcc}.mode-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.mode-btn{font-family:inherit;font-size:15px;padding:7px 16px;border-radius:999px;border:2px solid var(--panel-border);background:#171230;color:var(--sub);cursor:pointer}.mode-btn.attack.sel{border-color:var(--attack);color:var(--attack);background:#ff6b6b1f;box-shadow:0 0 10px #ff6b6b4d}.mode-btn.heal.sel{border-color:var(--heal);color:var(--heal);background:#4ade801a;box-shadow:0 0 10px #4ade804d}.mode-hint{margin-left:auto;font-size:11px;color:var(--sub)}.fury-meter{display:flex;align-items:center;gap:2px;padding:5px 12px;border-radius:999px;border:2px solid rgba(251,146,60,.45);background:#fb923c14;font-size:15px}.fury-pip{filter:grayscale(1) brightness(.45);transition:filter .15s,transform .15s}.fury-pip.on{filter:none;transform:scale(1.15)}.fury-mult{margin-left:6px;color:#fb923c;font-weight:700}.fury-meter.max{border-color:#fb923c;box-shadow:0 0 12px #fb923c80;animation:pulse .8s infinite}.player-fury{font-size:11px;color:#fb923c;white-space:nowrap}.card-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.word-card{font-family:inherit;color:var(--text);background:#171230;border:2px solid var(--panel-border);border-radius:12px;padding:10px 14px;min-width:200px;flex:1;max-width:300px;cursor:pointer;text-align:center}.word-card.active{border-color:#67e8f9;background:#1c1740;box-shadow:0 0 14px #67e8f959}.word-card.weak-match{border-color:var(--gold)}.word-card.weak-match.active{box-shadow:0 0 14px #ffd54a80}.word-card.defense{border-color:#ef4444;animation:pulse-red .7s infinite}.word-card.revive{border-color:var(--hp)}.card-label{font-size:11px;color:var(--sub);margin-bottom:4px}.card-label.defense{color:#fca5a5}.card-label.revive{color:var(--hp)}.card-jp{font-size:20px;margin-bottom:4px;min-height:1.3em}.card-romaji{font-family:"Press Start 2P",monospace;font-size:13px;letter-spacing:1px;word-break:break-all;min-height:1.4em}.card-romaji .typed{color:#67e8f9}.card-romaji .rest{color:var(--sub)}.word-progress{height:5px;margin-top:6px}.word-progress-fill{background:linear-gradient(90deg,#67e8f9,#7c6cff)}.stat-row{display:flex;gap:18px;justify-content:center;margin-top:10px;font-size:13px;color:var(--sub)}.combo.hot{color:var(--gold);animation:pulse .8s infinite}.downed-overlay{text-align:center;padding:18px}.downed-msg{font-size:22px;color:#f87171}.downed-sub{color:var(--sub);margin-top:6px}.unison-panel{text-align:center;padding:8px}.unison-title{font-size:16px;color:var(--gold);margin-bottom:8px;animation:pulse .8s infinite}.active-card.unison-card{background:linear-gradient(180deg,#2c2258,#171230);border:2px solid var(--gold);border-radius:14px;padding:14px;display:inline-block;min-width:min(560px,90vw)}.unison-card .card-jp{font-size:24px}.unison-card .card-romaji{font-size:15px}.spectate-bar{margin-top:auto;display:flex;align-items:center;justify-content:center;gap:14px;background:var(--panel);border:2px solid var(--panel-border);border-radius:12px;padding:10px}.ink-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30}.ink-blob{position:absolute;font-size:160px;filter:blur(6px) brightness(.3);animation:inkdrop .5s ease-out}.ink-blob.b1{left:15%;bottom:8%}.ink-blob.b2{left:45%;bottom:4%;font-size:220px}.ink-blob.b3{right:12%;bottom:10%}@keyframes inkdrop{0%{transform:translateY(-300px) scale(.4);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.tutorial-btn{border-color:var(--gold);color:var(--gold)}.tutorial-top{display:flex;align-items:center;gap:12px}.tutorial-steps{display:flex;gap:6px;flex-wrap:wrap;flex:1}.tut-step{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--panel-border);color:var(--sub);background:var(--panel)}.tut-step.cur{border-color:var(--gold);color:var(--gold);box-shadow:0 0 10px #ffd54a66}.tut-step.done{border-color:var(--hp);color:var(--hp)}.tut-step.done:before{content:"✓ "}.tut-skip{font-size:13px;padding:5px 12px}.tutorial-hint{text-align:center;background:var(--panel);border:2px solid var(--gold);border-radius:12px;padding:10px 16px;margin:8px auto 0;max-width:min(680px,94vw);animation:popin .3s ease-out}.tut-hint-main{font-size:18px;color:var(--gold)}.tut-hint-sub{font-size:12px;color:var(--sub);margin-top:4px}.mode-btn.want{animation:pulse .8s infinite;border-color:var(--heal);color:var(--heal)}.word-card.tut-want{animation:pulse .9s infinite}.tut-waiting,.tut-nudge{color:var(--gold);font-size:14px;text-align:center;padding:8px;animation:bob 1.2s ease-in-out infinite}.tut-ok{text-align:center;color:var(--hp);font-size:20px;margin-top:8px;animation:popin .3s ease-out}.tutorial-done-screen{gap:18px;background:radial-gradient(ellipse at 50% -10%,#2a2154 0%,transparent 55%),var(--bg)}.tutorial-done-screen .clear-title{font-family:DotGothic16,sans-serif;font-size:clamp(22px,5vw,34px)}.tutorial-summary{background:var(--panel);border:2px solid var(--panel-border);border-radius:14px;padding:16px 20px;max-width:min(560px,92vw);display:flex;flex-direction:column;gap:12px}.tut-sum-row{display:flex;gap:12px;align-items:flex-start;text-align:left;font-size:14px;line-height:1.5}.tut-sum-row>span:first-child{font-size:22px;flex-shrink:0}.stageclear-screen{gap:18px}.clear-title{font-family:"Press Start 2P",monospace;color:var(--gold);font-size:clamp(24px,6vw,44px);text-shadow:0 4px 0 #7a5a00;animation:popin .4s}.clear-stage-name{font-size:18px}.boss-win-line{display:flex;align-items:center;gap:10px;color:var(--sub);font-size:15px}.boss-win-sprite{width:44px;height:44px;image-rendering:pixelated;filter:grayscale(1) brightness(.7);transform:rotate(180deg)}.drop-panel{background:var(--panel);border:2px solid var(--gold);border-radius:14px;padding:16px 22px;min-width:min(480px,92vw)}.drop-panel h3{color:var(--gold);font-size:15px;margin-bottom:10px}.drop-row{display:flex;justify-content:space-between;gap:18px;padding:6px 0;font-size:15px}.drop-item{color:#9fdcff}.next-stage-note{color:var(--sub)}.result-screen{gap:16px}.result-title{font-family:"Press Start 2P",DotGothic16,monospace;font-size:clamp(20px,5vw,38px)}.result-screen.win .result-title{color:var(--gold);text-shadow:0 4px 0 #7a5a00}.result-screen.lose .result-title{color:#94a3b8}.result-screen.survival .result-title{color:#e9d5ff;text-shadow:0 4px 0 #4c1d95}.survival-score{text-align:center;line-height:1.8}.survival-kills{font-size:22px}.survival-kills b{font-size:34px;color:var(--gold)}.result-time{font-size:17px}.rank-note{font-size:12px;color:var(--sub);margin-left:8px}.result-table-wrap{overflow-x:auto;max-width:96vw}.result-table{border-collapse:collapse;background:var(--panel);border:2px solid var(--panel-border);border-radius:12px;overflow:hidden;font-size:14px}.result-table th,.result-table td{padding:8px 12px;border-bottom:1px solid #2a2350;text-align:center;white-space:nowrap}.result-table th{background:#1c1740;color:var(--sub);font-weight:400;font-size:12px}.result-table tr.me td{background:#7c6cff1a}.title-cell{color:var(--gold);font-size:12px;text-align:left}.result-actions{display:flex;gap:12px;align-items:center}.ranking-screen{gap:16px}.ranking-list{width:min(520px,94vw);display:flex;flex-direction:column;gap:8px}.ranking-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:2px solid var(--panel-border);border-radius:10px;padding:10px 14px}.ranking-row.rank-1{border-color:var(--gold)}.rank-no{min-width:44px;font-size:18px}.rank-names{flex:1;text-align:left;font-size:14px;overflow:hidden;text-overflow:ellipsis}.rank-time{font-family:"Press Start 2P",monospace;font-size:14px;color:#67e8f9}.touch-keyboard{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:var(--panel);border:2px solid var(--panel-border);border-radius:16px;user-select:none;-webkit-user-select:none;touch-action:none}.tk-row{display:flex;gap:5px}.tk-key{flex:1;min-width:0;height:46px;font-family:"Press Start 2P",monospace;font-size:14px;color:var(--text);background:#241d45;border:2px solid var(--panel-border);border-radius:8px;padding:0;touch-action:none}.tk-key:active{background:#453a7d;transform:translateY(1px)}.tk-key.next{border-color:#67e8f9;color:#67e8f9;background:#67e8f924;box-shadow:0 0 8px #67e8f959}@media (pointer: coarse){.mode-hint{display:none}}@media (max-width: 640px){.battle-screen{padding:6px 8px;gap:6px}.typing-panel{padding:8px}.deco-strip{display:none}.word-card{min-width:104px;max-width:none;padding:6px 8px}.card-jp{font-size:16px}.card-romaji{font-size:11px;letter-spacing:0}.mode-btn{font-size:13px;padding:5px 12px}.stat-row{gap:10px;margin-top:6px;font-size:12px}.touch-keyboard{gap:4px;margin-top:6px;padding:6px 3px calc(6px + env(safe-area-inset-bottom))}.tk-key{height:40px;font-size:12px}.enemy-card{width:106px;padding:6px}.enemy-name{font-size:12px}.weakness-chip{font-size:10px}.player-card{padding:6px}.player-hp-num{font-size:11px}.enemy-card.boss{width:150px}.enemy-sprite{width:48px;height:48px}.enemy-card.boss .enemy-sprite{width:72px;height:72px}.word-card{min-width:140px}.player-card{width:110px}.role-grid{grid-template-columns:repeat(3,1fr)}}.reel{display:flex;flex-direction:column;align-items:center;gap:8px}.reel-row{display:flex;align-items:stretch;justify-content:center;gap:10px;width:100%}.reel-window{flex:1;max-width:560px;overflow:hidden;border-radius:14px}.word-card.reel-card{width:100%;max-width:none;min-width:0;padding:12px 18px;border-color:#67e8f9;background:#1c1740;box-shadow:0 0 14px #67e8f959;animation:reel-in .22s cubic-bezier(.2,.9,.3,1.15)}.word-card.reel-card.weak-match{border-color:var(--gold);box-shadow:0 0 16px #ffd54a8c}.word-card.reel-card.defense{border-color:#ef4444;animation:reel-in .22s cubic-bezier(.2,.9,.3,1.15),pulse-red .7s .22s infinite}.word-card.reel-card.revive{border-color:var(--hp)}.reel-card .card-jp{font-size:24px}.reel-card .card-romaji{font-size:15px}@keyframes reel-in{0%{transform:translateY(-70%) scaleY(.6);opacity:0;filter:blur(2px)}60%{transform:translateY(6%) scaleY(1.05);opacity:1;filter:blur(0)}to{transform:translateY(0) scaleY(1)}}.reel-next{font-family:inherit;color:var(--sub);background:#171230;border:2px solid var(--panel-border);border-radius:12px;width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:background .15s,transform .08s}.reel-next:hover{background:#241d45;color:var(--text)}.reel-next:active{transform:translateY(2px)}.reel-next-icon{font-size:22px;line-height:1}.reel-next-label{font-size:11px}.reel-next.want{animation:pulse .9s infinite;border-color:var(--gold);color:var(--gold)}.reel-strip{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.reel-chip{font-family:inherit;font-size:15px;width:36px;height:30px;border-radius:8px;border:2px solid var(--panel-border);background:#171230;color:var(--text);cursor:pointer;opacity:.65;display:flex;align-items:center;justify-content:center;transition:opacity .15s,transform .15s}.reel-chip.cur{opacity:1;border-color:#67e8f9;transform:translateY(-2px);box-shadow:0 0 8px #67e8f980}.reel-chip.weak{border-color:var(--gold);opacity:.95}.reel-chip.weak:after{content:"⚡";font-size:10px;margin-left:1px}.reel-chip.defense{border-color:#ef4444;animation:pulse-red .7s infinite;opacity:1}.reel-chip.revive{border-color:var(--hp);opacity:1}.reel-chip.want{animation:pulse .9s infinite;border-color:var(--gold);opacity:1}.enemy-num{position:absolute;top:6px;left:8px;font-family:"Press Start 2P",monospace;font-size:11px;line-height:1;color:var(--text);background:#0000008c;border:1px solid var(--panel-border);border-radius:6px;padding:4px 5px}.enemy-card.targeted .enemy-num{border-color:var(--gold);color:var(--gold)}.giveup-btn{font-size:12px;padding:5px 10px;opacity:.7}.giveup-btn:hover{opacity:1}.equip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}.equip-card{position:relative;font-family:inherit;color:var(--text);background:#171230;border:2px solid var(--panel-border);border-radius:12px;padding:14px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:transform .08s,border-color .15s}.equip-card:hover{transform:translateY(-2px)}.equip-card.sel{border-color:var(--gold);background:#2c2258;box-shadow:0 0 14px #ffd54a80}.equip-card.sel:before{content:"✔";position:absolute;top:6px;left:8px;color:var(--gold);font-size:14px}.equip-rec{position:absolute;top:-10px;right:8px;font-size:10px;color:#1a1533;background:var(--gold);border-radius:999px;padding:2px 8px;white-space:nowrap}.equip-icon{font-size:28px}.equip-name{font-size:15px}.equip-desc{font-size:11px;color:#9fdcff}.drop-list{border-top:1px solid var(--panel-border);padding-top:6px}.drop-row.me span:first-child{color:#67e8f9}@media (max-width: 640px){.reel-card .card-jp{font-size:19px}.reel-card .card-romaji{font-size:12px}.reel-next{width:52px}.equip-grid{gap:6px}.equip-card{padding:12px 6px 8px}.giveup-btn{padding:4px 8px}}.title-footer{margin-top:auto;padding-top:20px}.link-btn{font-family:inherit;font-size:12px;color:var(--sub);background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.link-btn:hover{color:var(--text)}.legal-screen{gap:16px}.legal-body{background:var(--panel);border:2px solid var(--panel-border);border-radius:14px;padding:20px 22px;width:min(640px,94vw);max-height:65vh;overflow-y:auto;text-align:left;font-size:14px;line-height:1.8}.legal-body h2{font-size:20px;color:var(--gold);margin-bottom:2px}.legal-updated{color:var(--sub);font-size:12px;margin-bottom:14px}.legal-body h3{font-size:15px;color:var(--accent);margin:18px 0 6px;border-left:4px solid var(--accent);padding-left:8px}.legal-body p{margin-bottom:8px}.legal-body ul{padding-left:20px;margin-bottom:8px}.legal-body li{margin-bottom:4px}.legal-body a{color:var(--gold)}
