:root{--bg:#14121c;--panel:#1f1b2b;--line:#3a3350;--text:#ece6f5;--muted:#9a90b0;--accent:#f2c14e;--ok:#6fcf7a;--bad:#e0606a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,Apple SD Gothic Neo,Malgun Gothic,Hiragino Sans,Noto Sans JP,sans-serif}button{font:inherit;color:var(--text);background:var(--panel);border:2px solid var(--line);cursor:pointer;padding:10px 16px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{color:var(--muted);cursor:not-allowed}button small{color:var(--muted);margin-left:6px;font-size:.75em}.status.online{color:var(--ok)}.status.offline{color:var(--bad)}.modal-backdrop{z-index:8;background:#0009;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:2px solid var(--line);flex-direction:column;gap:12px;width:min(480px,100%);max-height:80vh;padding:16px;display:flex}.modal h2{margin:0}.modal-body{overflow-y:auto}.modal h3 small{color:var(--muted);font-size:.8em;font-weight:400}.modal ul{margin:0;padding-left:20px;line-height:1.6}.select-screen{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100%;padding:24px 16px;display:flex}.select-screen h2{margin:0}.select-list{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.character-card{text-align:center;flex-direction:column;align-items:center;gap:4px;width:min(220px,100%);padding:14px 12px 12px;display:flex}.character-item{flex-direction:column;gap:4px;width:min(220px,100%);display:flex}.character-item .character-card{flex:1;width:100%}.character-look{background:radial-gradient(circle,#ffffff14,#0000 70%);border-radius:50%;place-items:center;width:128px;height:128px;margin-bottom:4px;display:grid}.skin-switch{padding:6px;font-size:13px}.character-desc{color:var(--muted);font-size:13px}.character-card.locked{opacity:.55;filter:grayscale(.8)}.character-lock{color:var(--accent);font-size:12px}.random-char{padding:8px 18px}.skin-chooser{width:min(720px,100%)}.skin-chooser-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.skin-choice{flex-direction:column;align-items:center;gap:6px;padding:10px 6px;display:flex}.skin-choice.wearing{border-color:var(--accent);box-shadow:0 0 0 2px #f2c14e4d}.skin-choice small{color:var(--accent)}.hidden-found{z-index:50;background:radial-gradient(circle,#3c468ceb,#080614f5 70%);flex-direction:column;justify-content:center;align-items:center;gap:12px;animation:1.6s ease-out hidden-found;display:flex;position:fixed;inset:0}.hidden-found strong{color:#fff2a8;text-shadow:0 0 12px #9ab8ff,0 0 24px #fff2a8;font-size:28px}.hidden-found span{color:#e8f0ff;font-size:20px}@keyframes hidden-found{0%{opacity:0;transform:scale(1.3)}20%{opacity:1;transform:scale(1)}}.character-card.duck{color:#10202a;background:radial-gradient(circle at 82% 78%,#ffe08a 0 3px,#0000 4px),radial-gradient(circle at 70% 82%,#ffe08a 0 2px,#0000 3px),linear-gradient(#2a5a8a 0%,#3a8ac8 46%,#8ad8f0 58%,#f4f8ff 61%,#e8d49a 66%,#d8bc7a 100%);border-color:#6ac8e8}.character-card.duck .character-desc,.character-card.duck dl{color:#10202a;background:#ffffff8c;padding:2px 4px}.character-card.stargazer{background:radial-gradient(1px 1px at 12% 18%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 34% 8%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 58% 22%,#fff4c0 50%,#0000 51%),radial-gradient(1px 1px at 76% 12%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 88% 34%,#c8d8ff 50%,#0000 51%),radial-gradient(1px 1px at 22% 42%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 44% 56%,#fff 50%,#0000 51%),radial-gradient(1px 1px at 68% 64%,#fff4c0 50%,#0000 51%),radial-gradient(1px 1px at 10% 78%,#c8d8ff 50%,#0000 51%),radial-gradient(1px 1px at 90% 86%,#fff 50%,#0000 51%),radial-gradient(at 60% 40%,#966eff59,#0000 60%),linear-gradient(#0a0820 0%,#1a1440 60%,#2a1a58 100%);border-color:#b8a0ff}.character-card.stargazer .character-desc{color:#d8d0ff}.character-card.scribe{background:radial-gradient(circle at 18% 22%,#ffd8608c 0 1px,#0000 2px),radial-gradient(circle at 78% 14%,#c8aaffb3 0 1px,#0000 2px),radial-gradient(circle at 62% 38%,#ffd86073 0 1px,#0000 2px),radial-gradient(at 50% 30%,#b89aff47,#0000 60%),repeating-linear-gradient(90deg,#ffffff08 0 2px,#0000 2px 22px),linear-gradient(#120c22 0%,#1e1438 55%,#2a1e3a 80%,#d8c8a0 81%,#f2e6cc 100%);border-color:#c8a0ff;position:relative;overflow:hidden}.character-card.scribe:before,.character-card.scribe:after{pointer-events:none;opacity:.22;color:#ffd040;text-shadow:0 0 6px #b89aff;font-family:serif;font-weight:700;position:absolute}.character-card.scribe:before{content:"劍 爆 封 雷 氷 炎 再 星 滅";text-align:center;letter-spacing:2px;color:#3a1e6a;text-shadow:none;opacity:.75;font-size:15px;bottom:22px;left:0;right:0}.character-card.scribe:after{content:"源";opacity:.18;font-size:34px;animation:3s ease-in-out infinite alternate scribe-glow;bottom:30%;right:10px}@keyframes scribe-glow{to{opacity:.4;transform:translateY(-4px)}}.character-card.scribe>*{position:relative}.character-card.scribe .character-desc{color:#e8dcff}.character-card.scribe dl{color:#2a1e3a;background:#f2e6ccd9;padding:2px 4px}.character-card.miner{background:radial-gradient(circle at 20% 28%,#5ad8e8bf 0 2px,#0000 4px),radial-gradient(circle at 82% 18%,#c8fbffb3 0 1px,#0000 3px),radial-gradient(circle at 70% 46%,#5ad8e899 0 2px,#0000 4px),radial-gradient(at 50% 35%,#5ad8e82e,#0000 60%),linear-gradient(90deg,#6a4a2a 0 6px,#0000 6px calc(100% - 6px),#6a4a2a calc(100% - 6px)),linear-gradient(#6a4a2a 0 5px,#1a1418 5px,#241c20 70%,#3a2618 82%,#6a4a2a 100%);border-color:#5ad8e8;position:relative;overflow:hidden}.character-card.miner:after{content:"⛏";opacity:.2;pointer-events:none;font-size:30px;animation:.9s ease-in-out infinite alternate miner-dig;position:absolute;bottom:28%;right:12px}@keyframes miner-dig{to{opacity:.35;transform:rotate(-25deg)}}.character-card.miner>*{position:relative}.character-card.miner .character-desc{color:#c8fbff}.character-card.voyager{background:radial-gradient(circle at 16% 18%,#ffe08acc 0 1px,#0000 2px),radial-gradient(circle at 72% 12%,#ffe08ab3 0 1px,#0000 2px),radial-gradient(circle at 88% 30%,#c8e8ff99 0 1px,#0000 2px),repeating-radial-gradient(at 50% 120%,#6ab8ff2e 0 3px,#0000 3px 10px),linear-gradient(#0c1430 0%,#14244a 60%,#1e3a6a 78%,#2a5a8a 100%);border-color:#e8b040;position:relative;overflow:hidden}.character-card.voyager:after{content:"⚄⚂";color:#ffe08a;opacity:.25;pointer-events:none;font-size:26px;animation:2.4s ease-in-out infinite voyager-roll;position:absolute;bottom:30%;right:10px}@keyframes voyager-roll{50%{opacity:.4;transform:rotate(12deg)translateY(-4px)}}.character-card.voyager>*{position:relative}.character-card.voyager .character-desc{color:#fff0c8}.character-card.zeus{background:radial-gradient(at 25% 12%,#5a6278e6 0 18%,#0000 30%),radial-gradient(at 70% 10%,#5a6278e6 0 20%,#0000 32%),linear-gradient(100deg,#0000 45%,#ffd0401f 50%,#0000 55%),linear-gradient(#1a1e34 0%,#2a3456 55%,#e8dcc0 85%,#f2ecdc 100%);border-color:#8ac8ff;position:relative;overflow:hidden}.character-card.zeus:after{content:"⚡";color:#c8e8ff;opacity:.2;pointer-events:none;font-size:30px;animation:2.2s step-end infinite zeus-flash;position:absolute;top:24%;right:12px}@keyframes zeus-flash{80%{opacity:.2}85%{opacity:.8}90%{opacity:.2}}.character-card.zeus>*{position:relative}.character-card.zeus .character-desc{color:#e8f4ff}.character-card.zeus dl{color:#1a1e34}.character-card.pilgrim{background:radial-gradient(at 78% 30%,#0a0218f2 0 10%,#8a5aff8c 16%,#0000 26%),radial-gradient(circle at 18% 18%,#fff 0 1px,#0000 2px),radial-gradient(circle at 42% 9%,#ffe040 0 1px,#0000 2px),radial-gradient(circle at 60% 22%,#fff 0 1px,#0000 2px),linear-gradient(#1a1030 0%,#3a2a6a 55%,#7ad0f0 100%);border-color:#7ad0f0;position:relative;overflow:hidden}.character-card.pilgrim:after{content:"✦";color:#c8a8ff;opacity:.6;pointer-events:none;font-size:22px;animation:1.8s ease-in-out infinite pilgrim-twinkle;position:absolute;top:22%;right:18px}@keyframes pilgrim-twinkle{50%{opacity:.15;transform:rotate(45deg)}}.character-card.pilgrim>*{position:relative}.character-card.pilgrim .character-desc{color:#e8f4ff}.character-card.fallenKing{background:radial-gradient(at 50% 120%,#3ab8ff8c 0 25%,#0000 55%),linear-gradient(#05060c 0%,#101830 60%,#1a2a5a 100%);border-color:#3ab8ff;animation:2.4s ease-in-out infinite fk-flicker;position:relative;overflow:hidden}@keyframes fk-flicker{50%{box-shadow:inset 0 -12px 24px #3ab8ff59}}.character-card.fallenKing .character-desc{color:#c8f0ff}.cs-tabs{flex-wrap:wrap;justify-content:center;gap:6px;width:min(980px,100%);display:flex}.cs-tabs button{border-bottom-width:3px;margin:0;padding:6px 14px}.cs-tabs button.ascalon{border-bottom-color:#4a8aff}.cs-tabs button.terracore{border-bottom-color:#e8a040}.cs-tabs button.virdia{border-bottom-color:#4ac86a}.cs-tabs button.helios{border-bottom-color:#c83a4a}.cs-tabs button.akashic{border-bottom-color:#b89aff}.cs-tabs button.outsider{border-bottom-color:#5ae0d0}.cs-tabs button.archive{border-bottom-color:#ffb84a}.cs-tabs button.on{color:#1a1622;background:#ffd860}.cs-tabs button.on small{color:#4a3a60}.cs-tabs input{flex:1;min-width:140px;max-width:260px;padding:6px 10px}.cs-empty{color:var(--muted)}.cs-frame{border-radius:6px;flex:1;display:flex;position:relative}.cs-frame>.character-card{flex:1;width:100%;margin:0;position:relative}.character-card>strong{font-size:17px}.cs-skin{color:var(--muted);font-size:12px}.character-card .character-lock{position:absolute;top:10px;left:10px}.cs-lv-badge{color:#1a1622;background:#c8b8a0;border-radius:9px;padding:1px 7px;font-size:12px;font-weight:700;position:absolute;top:10px;left:10px;box-shadow:0 1px 3px #00000080}.lv-2{--lv:#a8b4c4}.lv-3{--lv:#d89050}.lv-4{--lv:#e8f0ff}.lv-5{--lv:#ffd860}.lv-6{--lv:#6ae8b0}.lv-7{--lv:#ff9ae8}.cs-lv-badge[class*=lv-]{background:var(--lv,#c8a070)}.cs-lv-badge.lv-7{background:linear-gradient(90deg,#ff8a8a,#ffd860,#8affb0,#8ab8ff,#e08aff)}.cs-pick{width:min(640px,100%)}.cs-pick-main{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.cs-pick-main>.cs-frame{flex:none}.cs-pick-look{border:2px solid var(--line);background:var(--panel);place-items:center;width:196px;height:196px;padding:0;display:grid}.cs-pick-info{flex-direction:column;flex:1;gap:6px;min-width:220px;display:flex}.cs-pick-info h2{margin:0}.cs-pick-info h3{color:var(--accent);margin:6px 0 0;font-size:14px}.cs-pick-desc{margin:4px 0 0;font-size:14px;line-height:1.5}.cs-pick-stats{grid-template-columns:repeat(2,1fr);gap:4px 18px;margin:0;font-size:14px;display:grid}.cs-pick-stats div{justify-content:space-between;display:flex}.cs-pick-stats dt{color:var(--muted)}.cs-pick-stats dd{margin:0;font-weight:700}.cs-pick-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.cs-pick-actions button{min-width:110px;margin:0}.cs-mastery-line{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;display:flex}.cs-mastery-line b{color:var(--lv,#c8a070)}.cs-bar{background:#ffffff1a;border-radius:4px;flex:1;min-width:80px;height:7px;overflow:hidden}.cs-bar i{background:linear-gradient(90deg, #c8a070, var(--lv,#ffd860));height:100%;display:block}.cs-mastery-line small{width:100%;color:var(--muted)}.cs-frame .card-medals{grid-template-columns:28px;top:10px;right:8px}.cs-frame .medal-slot{width:28px;height:30px}.skin-chooser .cs-tabs{justify-content:flex-start;margin-bottom:8px}.cs-frame .skin-preview{background:0 0;border:none}.cs-frame:before,.cs-frame:after{content:none;pointer-events:none;z-index:2;position:absolute}.frame-1>.character-card{border:3px solid #8a5a32;box-shadow:inset 0 0 0 2px #4a2e18}.frame-1:before{content:"";background:radial-gradient(circle at 4px 4px,#c89058 2px,#0000 3px),radial-gradient(circle at calc(100% - 4px) 4px,#c89058 2px,#0000 3px),radial-gradient(circle at 4px calc(100% - 4px),#c89058 2px,#0000 3px),radial-gradient(circle at calc(100% - 4px) calc(100% - 4px),#c89058 2px,#0000 3px);inset:4px}.frame-2>.character-card{border:3px solid #9aa4b0;box-shadow:inset 0 0 0 2px #3a4048,0 0 0 1px #2a2e34}.frame-2:before{content:"";border:2px dotted #dce4f08c;border-radius:3px;inset:3px}.frame-3>.character-card{border:4px double #d08840;box-shadow:inset 0 0 10px #d0884040,0 0 6px #d0884059}.frame-3:before{content:"";background-color:#0000;background-image:linear-gradient(135deg,#e8a860 10px,#0000 10px),linear-gradient(225deg,#e8a860 10px,#0000 10px),linear-gradient(45deg,#e8a860 10px,#0000 10px),linear-gradient(315deg,#e8a860 10px,#0000 10px);background-position:0 0,100% 0,0 100%,100% 100%;background-repeat:no-repeat;background-size:50% 50%;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;inset:-2px}.frame-4>.character-card{border:3px solid #e8f0ff;box-shadow:inset 0 0 0 2px #7888a8,0 0 10px #c8dcff73}.frame-4:before{content:"◆";color:#f4f8ff;text-shadow:0 0 6px #b8d0ff;font-size:16px;top:-10px;left:50%;transform:translate(-50%)}.frame-4:after{content:"◆";color:#f4f8ff;text-shadow:0 0 6px #b8d0ff;font-size:16px;bottom:-10px;left:50%;transform:translate(-50%)}.frame-5>.character-card{border:4px solid #ffd860;animation:2.4s ease-in-out infinite frame-gold;box-shadow:inset 0 0 0 2px #8a5a10,0 0 14px #ffd8608c}.frame-5:before{content:"♛";color:#ffd860;text-shadow:0 0 8px #ffb030,0 2px #8a5a10;font-size:22px;top:-16px;left:50%;transform:translate(-50%)}.frame-5:after{content:"";background:radial-gradient(circle at 0 0,#fff4c0 3px,#ffd860 5px,#0000 7px),radial-gradient(circle at 100% 0,#fff4c0 3px,#ffd860 5px,#0000 7px),radial-gradient(circle at 0 100%,#fff4c0 3px,#ffd860 5px,#0000 7px),radial-gradient(circle at 100% 100%,#fff4c0 3px,#ffd860 5px,#0000 7px);border-radius:6px;inset:-4px}@keyframes frame-gold{50%{box-shadow:inset 0 0 0 2px #8a5a10,0 0 22px #ffd860cc}}.frame-6>.character-card{border:4px solid #4ad9a0;animation:2s ease-in-out infinite frame-jade;box-shadow:inset 0 0 0 3px #6a3aa8,inset 0 0 18px #4ad9a04d,0 0 16px #4ad9a099}.frame-6:before{content:"❖";color:#6ae8b0;text-shadow:0 0 10px #4ad9a0,0 0 3px #fff;font-size:24px;top:-17px;left:50%;transform:translate(-50%)}.frame-6:after{content:"";border:2px solid #6ae8b073;border-color:#6ae8b073 #0000;border-radius:10px;inset:-8px}@keyframes frame-jade{50%{box-shadow:inset 0 0 0 3px #8a4ad8,inset 0 0 24px #4ad9a073,0 0 26px #6ae8b0d9}}.frame-7>.character-card{background-clip:padding-box;border:4px solid #0000;box-shadow:0 0 20px #ffa0e699}.frame-7:before{content:"";z-index:0;-webkit-mask-composite:xor;z-index:2;background:linear-gradient(90deg,#ff6a6a,#ffd860,#6aff9a,#6ac8ff,#c86aff,#ff6a6a) 0 0/300% 100%;border-radius:4px;padding:4px;animation:3s linear infinite frame-prism;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.frame-7:after{content:"✦ ✦ ✦";letter-spacing:2px;white-space:nowrap;color:#fff;text-shadow:0 0 6px #ff9ae8,0 0 12px #8ab8ff;font-size:16px;animation:1.6s ease-in-out infinite frame-twinkle;top:-15px;left:50%;transform:translate(-50%)}@keyframes frame-prism{to{background-position:300% 0}}@keyframes frame-twinkle{50%{opacity:.55}}.mastery-sample{flex:none;margin:12px 4px 4px;display:inline-flex}.mastery-sample>.character-card{background-color:var(--panel);place-items:center;width:84px;height:84px;padding:0;display:grid}.mastery-sample.big>.character-card{width:120px;height:120px}.chooser-section h3{color:var(--accent);margin:14px 0 8px;font-size:15px}.chooser-section>p{color:var(--muted);margin:0 0 8px;font-size:13px}.skin-choice.lockedChoice{opacity:.5}.cs-frame>.character-card[class*=card-skin-]:before,.cs-frame>.character-card[class*=card-skin-]:after{content:none}.cs-frame>.character-card[class*=card-skin-]{color:#fff;text-shadow:0 1px 2px #000c;overflow:hidden}.cs-frame>.character-card[class*=card-skin-] .cs-skin{color:#ffffffbf}.cs-frame>.character-card.card-skin-riftGate{background:linear-gradient(100deg,#0000 47%,#f0c8ffe6 49.5%,#fff 50%,#f0c8ffe6 50.5%,#0000 53%),radial-gradient(30% 60% at 50% 45%,#c878ff8c,#0000 70%),radial-gradient(circle at 20% 80%,#783cc866,#0000 40%),linear-gradient(#1a0a2e,#2e1048 60%,#120620);border-color:#b06aff;animation:2.6s ease-in-out infinite card-rift}@keyframes card-rift{50%{box-shadow:inset 0 0 26px #c878ff8c}}.cs-frame>.character-card.card-skin-dragonScale{background:linear-gradient(110deg,#0000 30%,#ffd87859 45%,#0000 60%) 0 0/300% 100%,radial-gradient(circle at 50% 0,#0000 8px,#c8402a 9px,#6a1a10 13px,#0000 14px) 0 0/18px 13px,linear-gradient(#3a0c08,#1e0604) 0 0/100% 100%;border-color:#e8a040;animation:3.5s linear infinite card-scale}@keyframes card-scale{0%{background-position:100% 0,0 0,0 0}to{background-position:-200% 0,0 0,0 0}}.cs-frame>.character-card.card-skin-frostCrown{background:radial-gradient(circle,#fff 1px,#0000 2px) 0 0/34px 34px,radial-gradient(circle,#dcf5ffcc 1.5px,#0000 2.5px) 0 0/52px 52px,linear-gradient(160deg,#0000 60%,#ffffff2e 61%,#0000 70%) 0 0/100% 100%,linear-gradient(#4a8ac8,#1a3a6a 55%,#0e2040) 0 0/100% 100%;border-color:#b8e8ff;animation:6s linear infinite card-snow}@keyframes card-snow{to{background-position:10px 34px,-12px 52px,0 0,0 0}}.cs-frame>.character-card.card-skin-emberKeep{background:radial-gradient(circle,#ffd060 1px,#0000 2px) 0 0/40px 40px,radial-gradient(80% 45% at 50% 105%,#ff6e1ebf,#0000 70%) 0 0/100% 100%,repeating-linear-gradient(0deg,#0000 0 15px,#0000008c 15px 17px) 0 0/100% 100%,repeating-linear-gradient(90deg,#0000 0 30px,#00000073 30px 32px) 0 0/100% 100%,linear-gradient(#2a2226,#3a2a24) 0 0/100% 100%;border-color:#ff7a30;animation:3s linear infinite card-ember}@keyframes card-ember{to{background-position:6px -40px,0 0,0 0,0 0,0 0}}.cs-frame>.character-card.card-skin-starAbyss{background:radial-gradient(circle,#fff 1px,#0000 1.5px) 0 0/26px 26px,radial-gradient(circle,#ffe8a8 1px,#0000 2px) 0 0/60px 60px,radial-gradient(circle at 50% 45%,#8ab8ff66,#0000 25%) 0 0/100% 100%,repeating-radial-gradient(circle at 50% 45%,#503cb440 0 6px,#0000 6px 14px) 0 0/100% 100%,linear-gradient(#0a0a24,#18104a 60%,#06061a) 0 0/100% 100%;border-color:#8ab8ff;animation:8s linear infinite card-stars}@keyframes card-stars{to{background-position:26px 0,-60px 0,0 0,0 0,0 0}}.game-screen{touch-action:none;flex-direction:column;height:100%;display:flex;overflow:hidden}.hud{z-index:2;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex;position:relative}.hud-btn{white-space:nowrap;padding:4px 10px;font-size:13px}.hud-btn.on{border-color:var(--accent);color:var(--accent)}.hp{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.hp-bar{border:2px solid var(--line);background:#000;flex:1;max-width:200px;height:10px}.hp-fill{background:var(--bad);width:100%;height:100%}.hp-text{white-space:nowrap;font-variant-numeric:tabular-nums}.hud-info{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.game-canvas-wrap{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.game-canvas-wrap canvas{image-rendering:pixelated;display:block}.game-hint{text-align:center;color:var(--muted);margin:0;padding:6px 10px 10px;font-size:12px}@media (orientation:portrait){.game-canvas-wrap{flex:0 auto;align-items:flex-start;height:45vh}.hud-info{display:none}}.input-zone{z-index:1;touch-action:none;position:fixed;inset:0}.stick-base,.stick-knob{z-index:1;pointer-events:none;border-radius:50%;display:none;position:fixed;top:0;left:0}.stick-base{--d:calc(88px * var(--stick-scale,1));width:var(--d);height:var(--d);margin:calc(var(--d) / -2) 0 0 calc(var(--d) / -2);background:#ffffff0f;border:2px solid #ffffff59}.stick-knob{--d:calc(40px * var(--stick-scale,1));width:var(--d);height:var(--d);margin:calc(var(--d) / -2) 0 0 calc(var(--d) / -2);background:#ffffff73}.stick-base.aim{border-color:#f2c14e80}.stick-knob.aim{background:#f2c14e99}.game-overlay{z-index:3;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.game-overlay .modal{text-align:center;width:min(320px,100%)}.modal-actions{gap:8px;display:flex}.modal-actions button{flex:1}button.danger{border-color:var(--bad)}.result-line{color:var(--muted);margin:0}.game-canvas-wrap{position:relative}.minimap{width:auto;height:80%;max-width:calc(var(--side,0px) - 24px);object-fit:contain;image-rendering:pixelated;pointer-events:none;background:#00000073;border:2px solid #ffffff1f;padding:4px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}@media (width<=899px){.minimap{width:clamp(54px,6vw,96px);max-width:none;height:auto}}.prompt{border:2px solid var(--accent);text-align:center;pointer-events:none;background:#000000b3;width:max-content;max-width:calc(100% - 20px);padding:4px 12px;font-size:14px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.loadout{z-index:2;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;padding:6px 10px 0;font-size:13px;display:flex;position:relative}.loadout-slots{gap:6px;display:flex}.loadout-slots .slot{color:var(--muted);padding:2px 8px;font-size:13px}.loadout-slots .slot.filled{border-color:var(--accent);color:var(--text)}.loadout-slots kbd{font:inherit;color:var(--accent)}.loadout-passives{color:var(--muted);max-width:100%}@media (orientation:portrait){.minimap{opacity:.9;width:48px;max-width:none;height:auto}}.novice-bar{flex-wrap:wrap;align-items:center;gap:6px;width:100%;display:flex;position:relative}.novice-lv{color:var(--accent);font-weight:700}.novice-exp{border:1px solid var(--line);background:#000;flex:1;min-width:80px;height:6px}.novice-exp span{background:#7ae07a;height:100%;display:block}.novice-pick{z-index:5;border:1px solid var(--accent);pointer-events:auto;background:#0a0a14e0;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;width:min(560px,96vw);padding:6px;display:flex;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.novice-pick small{color:#ffe080;text-align:center;width:100%}.novice-pick button{border-color:var(--accent);padding:3px 8px;font-size:12px}.novice-pick b{color:var(--ok)}.game-canvas-wrap,.game-screen .input-zone{cursor:url(/cursors/aim.svg) 16 16,crosshair}.minimap.route-mini{pointer-events:auto;cursor:pointer}.route-big{z-index:30;background:#0000008c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.route-big-box{background:#0e0a18eb;border:2px solid #3ab8ff;flex-direction:column;align-items:center;gap:6px;max-height:96%;padding:8px 12px;display:flex;box-shadow:0 0 14px #3ab8ff73}.route-big-box canvas{object-fit:contain;width:auto;max-width:90vw;height:min(70vh,520px);image-rendering:pixelated;cursor:pointer}.route-big-title{color:#9adcff;font-weight:700}.route-big-hint{color:#c8c0e0;text-align:center;max-width:340px;font-size:11px}.skill-buttons{pointer-events:auto;gap:6px;display:flex}.skill-btn{touch-action:none;flex-direction:column;align-items:center;min-width:54px;padding:3px 6px;font-size:11px;line-height:1.15;display:flex;position:relative;overflow:hidden}.skill-btn:after{content:"";height:calc(var(--cd) * 100%);pointer-events:none;background:#0009;position:absolute;inset:0}.skill-btn.ready{border-color:var(--accent)}.skill-btn kbd{font:inherit;color:var(--accent)}.skill-btn b{font-size:16px}@media (pointer:coarse){.skill-btn{min-width:64px;padding:6px 8px}.skill-btn b{font-size:20px}}.sell-window{z-index:4;pointer-events:auto;background:#100e16f0;border:1px solid #6a6478;border-radius:8px;flex-direction:column;gap:4px;max-width:min(560px,94vw);max-height:46vh;padding:8px 10px;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.sell-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px;display:grid;overflow-y:auto}.sell-item.weapon{border-color:#ffd860}.sell-item{text-align:left;touch-action:none;align-items:center;gap:4px;padding:3px 6px;font-size:11px;display:flex}.sell-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.sell-item small{color:#ffd76a}.sell-item.armed{background:#ff505040;border-color:#ff6a6a}.station-window{z-index:6;pointer-events:auto;background:linear-gradient(#141824f7,#0c0c14f7);border:2px solid #4a5a7a;border-radius:10px;flex-direction:column;gap:12px;width:min(1040px,96vw);max-height:92vh;padding:18px 22px;font-size:1.2rem;display:flex;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 0 24px #50a0ff40}.station-window.tune{border-color:#7a6a3a;box-shadow:0 0 24px #ffd56a33}.station-head{align-items:baseline;gap:12px;display:flex}.station-head b{letter-spacing:.04em;text-shadow:0 0 10px #6ab8ff99;color:#c8ecff;font-size:1.5em}.station-window.tune .station-head b{color:#ffe6a0}.station-head small{opacity:.6;margin-left:auto}.station-gold strong{color:#ffd040}.bench-tabs{gap:6px;display:flex}.bench-tabs button{color:#9ab;background:#182030;border:1px solid #3a4a6a;border-radius:6px;flex:1;padding:10px;font-size:1.05em;font-weight:700}.bench-tabs button.on{color:#fff;background:#1e3a5a;border-color:#6ab8ff;box-shadow:inset 0 0 8px #6ab8ff66}.bench-hint{opacity:.8;margin:0;font-size:.9em;line-height:1.4}.bench-cards{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.bench-card{color:#dde;text-align:left;background:#161a24;border:1px solid #333a48;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:44px 1fr;align-items:center;column-gap:10px;padding:9px 10px;font-size:.92em;display:grid}.bench-card>:first-child{grid-row:span 2}.bench-card small{color:#8ab}.bench-card.own{border-color:#2a5a8a}.bench-card.own small{color:#6ab8ff}.bench-card.hidden{background:linear-gradient(135deg,#241c0c,#161a24);border-color:#8a6a1a}.bench-card.hidden small{color:#ffd040}.bench-card.on{outline:2px solid #ffd56a;box-shadow:0 0 10px #ffd56a80}.bench-card:disabled{opacity:.35}.bench-go{color:#fff;background:linear-gradient(#2a5a8a,#1a3a5a);border:1px solid #6ab8ff;border-radius:8px;padding:14px;font-size:1.15em;font-weight:700}.station-window.tune .bench-go{background:linear-gradient(#7a5a1a,#4a3a10);border-color:#ffd56a}.bench-go:disabled{opacity:.4}.sniper-svg{background:repeating-linear-gradient(0deg,#1a1c22 0 19px,#22252e 19px 20px),#1a1c22;border-radius:8px;width:100%;height:auto}.sniper-hit{cursor:pointer}.sniper-hit:hover rect{fill:#ffd56a14}.sniper-lv{fill:#8a96a8;font-size:15px;font-weight:700}.sniper-lv.on{fill:#ffd56a}.tune-detail{flex-direction:column;gap:6px;display:flex}.tune-detail>b{color:#ffe6a0}.tune-parts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.tune-part{color:#eed;text-align:left;background:#1c1a14;border:1px solid #3a3a2a;border-radius:6px;flex-direction:column;gap:2px;padding:6px 8px;font-size:.92em;display:flex}.bench-stats{color:#9cc8ef;background:#6ab8ff14;border-radius:5px;grid-column:1/-1;margin:6px 0 0;padding:5px 7px;font-size:.85em;line-height:1.45;list-style:none}.bench-stats b{color:#ffd56a}.tune-part small{color:#ab9}.tune-part em{color:#ffd040;font-style:normal}.tune-part.on{border-color:#ffd56a;box-shadow:inset 0 0 8px #ffd56a59}.tune-part:disabled:not(.on){opacity:.45}.station-window.gym{border-color:#8a5ad8;width:min(760px,96vw)}.gym-panel{flex-direction:column;gap:10px;display:flex}.gym-how{color:#d8d0f0;margin:0;font-size:15px}.gym-start{color:#fff;cursor:pointer;background:#6a3ac8;border:2px solid #b08aff;border-radius:10px;align-self:center;padding:12px 40px;font-size:18px;font-weight:700}.gym-start:hover{background:#7d4ae0}.gym-game{flex-direction:column;align-items:center;gap:10px;display:flex}.gym-game canvas{aspect-ratio:auto;background:radial-gradient(circle at 50% 40%,#2a2440,#120e1c);border:2px solid #3a3450;border-radius:10px;width:min(640px,90vw)}.gym-pads{justify-content:center;gap:10px;display:flex}.gym-pads.arrows button{width:64px;height:64px;font-size:26px}.gym-pad{color:#ffd84a;width:96px;height:96px;font-size:40px;background:radial-gradient(circle,#4a3a20,#1a1420)!important;border:3px solid #ffd84a!important;border-radius:50%!important}.gym-pad:active,.gym-pads.arrows button:active{transform:scale(.92)}.gym-result{color:#ffd84a;margin:0;font-size:18px}.gym-pts{color:#9be89b;margin:0;font-weight:700}.gym-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.gym-row{background:#ffffff0a;border:1px solid #3a3450;border-radius:6px;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:6px 10px;display:grid}.gym-row small{color:var(--muted);grid-column:1;font-size:12px}.gym-row button{grid-area:1/2/span 2;width:40px;height:40px;font-size:22px}.gym-row.passive{border-color:#5a4a8a}.gym-name{align-items:center;gap:4px;font-size:15px;display:inline-flex}@media (width<=700px){.gym-list{grid-template-columns:1fr}}.gym-pinfo{flex-direction:column;gap:2px;display:flex}.gym-row.passive button{grid-row:1}.gym-pinfo .gym-note{color:#b8a8e0}.gym-row.off{opacity:.5}.station-window.trial{text-align:center;background:radial-gradient(circle at 50% 0,#780a14f2,#0e0408f7 70%);border-color:#ff2a3a;width:min(560px,94vw);box-shadow:0 0 40px #ff283c73,inset 0 0 30px #000c}.trial-ask{flex-direction:column;align-items:center;gap:14px;display:flex}.trial-ask-title{letter-spacing:.08em;color:#ffd0d0;text-shadow:0 0 12px #ff2a3a,0 0 2px #000;font-size:1.8rem;animation:2.4s ease-in-out infinite trial-breathe}.trial-ask p{color:#e8b8b8;margin:0}.trial-ask-buttons{gap:24px;display:flex}.trial-ask-buttons button{letter-spacing:.1em;border-radius:6px;min-width:130px;padding:12px 20px;font-size:1.5rem;font-weight:700}.trial-yes{color:#fff;background:linear-gradient(#c8102a,#6a0614);border:2px solid #ff6a6a;box-shadow:0 0 16px #ff283c99}.trial-no{color:#c8b8c0;background:#1a1018;border:2px solid #5a3a48}.trial-ask small{opacity:.7}@keyframes trial-breathe{50%{text-shadow:0 0 24px #ff2a3a,0 0 2px #000}}.station-window.trial-chest{background:#1e1408f5;border-color:#ffcc3a;width:min(720px,96vw);box-shadow:0 0 30px #ffcc3a59}.trial-options{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.trial-option{text-align:left;background:linear-gradient(#3a2a10,#22180a);border:2px solid #8a6a2a;border-radius:6px;align-items:center;gap:10px;padding:10px;display:flex}.trial-option:hover{border-color:#ffcc3a;box-shadow:0 0 12px #ffcc3a80}.trial-option span{flex-direction:column;gap:2px;display:flex}.trial-option small{opacity:.8;font-size:.85rem}.station-window.altar{border-color:var(--al-a);background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--al-a) 35%, #050a14), #050a14 75%);width:min(900px,96vw);box-shadow:0 0 40px color-mix(in srgb, var(--al-a) 50%, transparent);text-align:center}.altar-head{flex-direction:column;gap:4px;display:flex}.altar-head b{color:var(--al-b);text-shadow:0 0 14px var(--al-a);font-size:1.7rem}.altar-head small,.altar-close{opacity:.75}.altar-cards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.altar-card{border:2px solid var(--al-a);background:linear-gradient(180deg, color-mix(in srgb, var(--al-a) 30%, #0a0f1c), #070a12 70%);min-height:320px;box-shadow:inset 0 0 24px color-mix(in srgb, var(--al-a) 30%, transparent);border-radius:10px;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;transition:transform .15s,box-shadow .15s;display:flex}.altar-card:hover:not(:disabled){box-shadow:0 0 26px var(--al-a), inset 0 0 24px color-mix(in srgb, var(--al-a) 40%, transparent);transform:translateY(-6px)}.altar-card:disabled{opacity:.4}.altar-card.c2{background:linear-gradient(#1a1a24,#07080c 70%);border-style:dashed}.altar-card-sigil{color:var(--al-b);text-shadow:0 0 16px var(--al-a);font-size:3rem}.altar-card b{color:var(--al-b);font-size:1.4rem}.altar-card span{font-size:1rem;line-height:1.5}@media (width<=640px){.altar-cards{grid-template-columns:1fr}.altar-card{min-height:0}}.altar-result{z-index:7;color:#e8f0ff;background:#080e1ef0;border:1px solid #7adcff;border-radius:8px;width:min(440px,92vw);padding:10px 14px;font-size:13px;position:fixed;top:14%;left:50%;transform:translate(-50%)}.altar-result header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.altar-result header b{color:#bfe8ff}.altar-result p{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0 0;display:flex}.altar-result p small{color:#a8d8ff;flex-basis:100%}.altar-result .lost{color:#ffb0b0}.altar-result .gain{color:#ffe08a}.altar-res-chip{background:#ffffff14;border-radius:4px;align-items:center;gap:3px;padding:1px 6px 1px 2px;display:inline-flex}.station-window.vault-gamble,.station-window.vault-auction{text-align:center;border-color:#e8c25a;width:min(720px,96vw);max-height:52vh;top:auto;bottom:3vh;transform:translate(-50%)}.station-window.vault-gamble{background:radial-gradient(circle at 50% 0,#1e6a3a,#0a1a10 80%);box-shadow:0 0 30px #e8c25a59}.station-window.vault-auction{background:radial-gradient(circle at 50% 0,#5a1420,#12040a 80%);box-shadow:0 0 30px #c0182873}.vault-body{flex-direction:column;align-items:center;gap:10px;display:flex}.vault-body p{margin:0}.vault-go{color:#1a1008;background:linear-gradient(#ffe08a,#e8a83a);border:2px solid #fff2c0;border-radius:6px;padding:8px 26px;font-weight:700}.vault-go:disabled{opacity:.45}.vault-cups{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;display:grid}.vault-cup{color:#fff6c0;background:#6a3a18;border:2px solid #e8c25a;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px;font-weight:700;display:flex}.vault-cup span{color:#e8c25a;font-size:1.8rem}.vault-cup:hover{background:#8a5228}.vault-result{margin:6px 0;font-size:1.5rem;font-weight:700}.vault-result.win{color:#ffd040;text-shadow:0 0 12px #ffd040}.vault-result.lose{color:#b0a0c0}.auction-lots{justify-content:center;gap:8px;display:flex}.auction-lot{background:#1a0a10;border:1px solid #6a3a28;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-width:52px;min-height:44px;padding:4px;display:flex}.auction-lot i{color:#c8a8ff;font-size:1.4rem;font-style:normal}.auction-lot small{font-size:.75rem}.auction-lot.now{border-color:#ffd040;box-shadow:0 0 10px #ffd040}.auction-lot.won1{border-color:#7aff9a}.auction-lot.won2{opacity:.5}.auction-now{flex-direction:column;gap:2px;display:flex}.auction-now small{opacity:.8}.auction-price strong{color:#fff6c0;font-size:1.6rem}.auction-price.lead1 strong{color:#7aff9a}.auction-price.lead2 strong{color:#ff6a7a}.auction-price em{color:#ff8a5a;font-weight:700}.auction-buttons,.auction-graft{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.auction-graft button{flex-direction:column;align-items:center;max-width:110px;display:flex}.station-result{pointer-events:none;background:#00000073;flex-direction:column;justify-content:center;align-items:center;gap:6px;animation:1.6s forwards sr-fade;display:flex;position:absolute;inset:0}.station-result .sr-item{place-items:center;width:72px;height:72px;display:grid;position:relative}.sr-part{color:#ffd56a;font-size:44px}.sr-label{letter-spacing:.05em;font-size:1.6em}.sr-rays{opacity:0;border-radius:50%;width:220px;height:220px;position:absolute}.station-result.ok .sr-rays{opacity:1;background:repeating-conic-gradient(#ffd56a80 0 10deg, transparent 10deg 30deg);animation:1.6s linear sr-spin;-webkit-mask:radial-gradient(circle,#000 20%,#0000 70%);mask:radial-gradient(circle,#000 20%,#0000 70%)}.station-result.ok .sr-item{filter:drop-shadow(0 0 10px #ffd56a);animation:.7s cubic-bezier(.2,1.6,.4,1) sr-rise}.station-result.ok .sr-label{color:#ffd56a;text-shadow:0 0 10px #ff9a3a}.station-result.fail .sr-rays{opacity:1;background:radial-gradient(circle,#a0a0aa8c,#0000 60%);animation:1.6s ease-out sr-smoke}.station-result.fail .sr-item{filter:grayscale()brightness(.7);animation:.45s sr-shake}.station-result.fail .sr-label{color:#aab}.station-result.break .sr-item>:first-child{animation:.9s forwards sr-crack}.station-result.break .sr-rays{opacity:1;background:radial-gradient(circle,#ff503c99,#0000 55%);animation:.6s ease-out sr-flash}.sr-shards i{width:8px;height:4px;transform:rotate(var(--a)) translateX(0);opacity:0;background:#ff6a4a;animation:.9s ease-out .35s forwards sr-shard;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #ff3a2a}.station-result.break .sr-label{color:#ff5a48;text-shadow:0 0 12px #ff2a1a}.station-result.drop .sr-item{animation:.8s ease-in sr-drop}.station-result.drop .sr-rays{opacity:1;background:radial-gradient(circle,#ff5a4873,#0000 60%);animation:.6s ease-out sr-flash}.station-result.drop .sr-label{color:#ff8a6a}@keyframes sr-fade{0%,80%{opacity:1}to{opacity:0}}@keyframes sr-spin{0%{transform:rotate(0)scale(.6)}to{transform:rotate(120deg)scale(1.1)}}@keyframes sr-rise{0%{opacity:0;transform:translateY(20px)scale(.3)}to{opacity:1;transform:none}}@keyframes sr-smoke{0%{transform:translateY(10px)scale(.5)}to{opacity:0;transform:translateY(-30px)scale(1.4)}}@keyframes sr-shake{0%,to{transform:none}20%,60%{transform:translate(-6px)rotate(-4deg)}40%,80%{transform:translate(6px)rotate(4deg)}}@keyframes sr-crack{0%{filter:none;transform:none}30%{filter:brightness(1.6)sepia()hue-rotate(-30deg);transform:scale(1.1)rotate(-3deg)}45%{transform:scale(1.05)rotate(3deg)}60%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(.2)}}@keyframes sr-shard{0%{opacity:1;transform:rotate(var(--a)) translateX(0)}to{opacity:0;transform:rotate(var(--a)) translateX(70px) rotate(200deg)}}@keyframes sr-flash{0%{transform:scale(.4)}to{opacity:0;transform:scale(1.3)}}@keyframes sr-drop{0%{transform:none}30%{filter:brightness(1.5)sepia()hue-rotate(-40deg);transform:translateY(-8px)}to{opacity:.4;transform:translateY(24px)}}.hd-picker{z-index:6;pointer-events:auto;text-align:center;background:linear-gradient(#1a1030f7,#0c0816f7);border:2px solid #7a4ad8;border-radius:10px;flex-direction:column;gap:10px;width:min(520px,92vw);max-height:70vh;padding:12px 14px;display:flex;position:fixed;top:40%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 0 24px #a064ff4d}.hd-picker b{color:#e0ccff}.hd-picker.curse{border-color:#8a3aa8;box-shadow:0 0 24px #ff3a5a4d}.hd-picker-list{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.hd-picker-list button{color:#f0e8ff;cursor:pointer;background:#22183a;border:1px solid #5a4a8a;border-radius:6px;padding:6px 10px}.hd-picker-list button:hover{background:#32245a;border-color:#c8a8ff}.hd-picker-list .hd-die{color:#ff5a7a;background:#2a1a30;border-color:#8a3aa8;width:44px;height:44px;font-size:1.3em;font-weight:700}.touch-buttons{--small:calc(58px * var(--button-scale,1));--big:calc(84px * var(--button-scale,1));--bar:calc(34px * var(--button-scale,1));--act:calc(44px * var(--button-scale,1));--gap:calc(10px * var(--button-scale,1));right:max(14px, env(safe-area-inset-right));bottom:max(18px, calc(env(safe-area-inset-bottom) + 8px));z-index:2;grid-template-columns:var(--small) var(--big);grid-template-rows:auto var(--bar) var(--small) var(--big);gap:var(--gap);pointer-events:none;grid-template-areas:"act act""hit hit"".i2""i1 dash";place-items:center;display:grid;position:fixed}.touch-btn{pointer-events:auto;width:var(--small);height:var(--small);font-size:calc(12px * var(--button-scale,1));touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#14121cbf;border-radius:50%;padding:0;line-height:1.1;transition:transform 60ms;position:relative}.touch-btn.pressed,.touch-btn:active:not(:disabled){background:#f2c14e40;transform:scale(.9)}.touch-btn.item{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.touch-btn.item1{grid-area:i1}.touch-btn.item2{grid-area:i2}.touch-btn.item.filled{border-color:var(--accent);color:var(--text)}.touch-btn.item small{max-width:calc(var(--small) - 6px);text-overflow:ellipsis;white-space:nowrap;font-size:calc(9px * var(--button-scale,1));overflow:hidden}.touch-empty{opacity:.5;font-size:16px}.touch-btn.hitbox{width:auto;height:var(--bar);border-radius:calc(var(--bar) / 2);color:var(--muted);grid-area:hit;justify-self:stretch}.touch-btn.dash{width:var(--big);height:var(--big);font-size:calc(15px * var(--button-scale,1));border-color:#f2c14eb3;grid-area:dash;font-weight:700}.touch-btn.dash:after{content:"";background:conic-gradient(#0009 calc(var(--cd,0) * 360deg), transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:-2px}.touch-btn.dash.cooling{color:var(--muted)}.touch-btn.interact{width:max-content;max-width:min(100vw - 28px,360px);height:auto;min-height:var(--act);border-radius:calc(var(--act) / 2);border-color:var(--accent);white-space:normal;overflow-wrap:anywhere;text-align:left;background:#14121ce6;grid-area:act;justify-self:end;padding:6px 16px;font-size:14px;line-height:1.3}@media (height<=500px){.touch-buttons{--small:calc(50px * var(--button-scale,1));--big:calc(72px * var(--button-scale,1));--bar:calc(30px * var(--button-scale,1));--act:calc(38px * var(--button-scale,1));--gap:calc(8px * var(--button-scale,1))}.touch-btn.interact{font-size:13px}.game-hint.touch{padding-right:calc(170px * var(--button-scale,1));text-align:left}}@media (orientation:portrait){.hud{flex-wrap:wrap;gap:6px}.hp{flex:calc(100% - 60px)}.hud-btn{padding:4px 6px;font-size:12px}}button.small{margin-left:8px;padding:2px 10px;font-size:13px}button.primary{border-color:var(--accent)}button.wide{width:100%}.seed-line{color:var(--muted);margin:0;font-size:14px}.seed-line code{color:var(--text);letter-spacing:1px}.score-total{margin:0;font-size:18px}.score-total strong{color:var(--accent)}.new-best{color:var(--ok);font-size:14px}.score-parts{color:var(--muted);margin:0;font-size:12px}.result-achievements{text-align:left;color:var(--accent);font-size:14px;list-style:none;padding:0!important}.result-achievements small{color:var(--muted)}.seed-input{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.seed-input input{font:inherit;color:var(--text);background:var(--panel);border:2px solid var(--line);letter-spacing:1px;-webkit-user-select:text;user-select:text;width:200px;padding:6px 10px}.achievements-modal{width:min(560px,100%)}.ach-head{z-index:1;background:var(--panel);flex-direction:column;gap:8px;padding-bottom:8px;display:flex;position:sticky;top:0}.ach-summary{color:var(--muted);align-items:center;gap:10px;font-size:14px;display:flex}.ach-summary strong{color:var(--accent);font-size:16px}.ach-summary .ach-bar{flex:1}.ach-bar{background:var(--bg);border:1px solid var(--line);height:8px;display:block}.ach-bar>span{background:var(--accent);height:100%;display:block}.ach-tabs{flex-wrap:wrap;gap:6px;display:flex}.ach-tabs button.small{gap:4px;padding:3px 8px;font-size:12px}.ach-tabs button small{color:var(--muted)}.ach-tabs button.complete small{color:var(--ok)}.ach-tabs button.active{border-color:var(--accent);color:var(--accent)}.achievement-list{flex-direction:column;gap:6px;list-style:none;display:flex;padding:0!important;line-height:1.4!important}.achievement-list li{border:2px solid var(--line);color:var(--muted);background:#00000026;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.achievement-list li.done{color:var(--text);background:#f2c14e14;border-color:#6b5626}.achievement-list li.done strong{color:var(--accent)}.ach-icon{border:2px solid var(--line);background:var(--bg);width:30px;height:30px;color:var(--line);flex:none;justify-content:center;align-items:center;font-size:18px;display:flex}.done .ach-icon{border-color:var(--accent);color:var(--accent)}.ach-body{flex:1;min-width:0}.ach-progress{align-items:center;gap:8px;margin-top:4px;display:flex}.ach-progress .ach-bar{flex:1;height:6px}.ach-progress .ach-bar>span{background:var(--muted)}.ach-progress small{white-space:nowrap;font-size:12px}.achievement-desc,.achievement-unlock{font-size:13px}.achievement-unlock{color:var(--ok)}.toasts{z-index:4;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:fixed;top:44px;left:50%;transform:translate(-50%)}.toast{border:2px solid var(--accent);background:#14121ceb;flex-direction:column;align-items:center;padding:6px 16px;font-size:14px;animation:.25s ease-out toast-in;display:flex}.toast small{color:var(--ok);font-size:12px}@keyframes toast-in{0%{opacity:0;transform:translateY(-10px)}}.last-boss-choice{text-align:center;background:#f2c14e14;border:1px solid #f2c14e;margin:12px 0 4px;padding:10px}.last-boss-choice h3{color:#ffd84a;margin:0 0 4px}.last-boss-choice p{opacity:.85;margin:0 0 8px;font-size:.85em}.last-boss-buttons{flex-direction:column;gap:6px;display:flex}.game-overlay .modal{width:min(420px,100%);overflow-y:auto}.clear-time{color:var(--muted);margin:0;font-size:18px}.clear-time strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:26px}.run-summary{text-align:left;border:2px solid var(--line);background:#0003;margin:8px 0;padding:8px;font-size:13px}.run-summary summary{cursor:pointer;color:var(--accent);font-weight:700}.sum-build,.sum-passives{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.sum-weapon{align-items:center;gap:6px;margin-right:8px;display:flex}.sum-passive{position:relative}.sum-passive small{color:#fff;text-shadow:0 0 2px #000;font-size:10px;position:absolute;bottom:-4px;right:-2px}.sum-stats{grid-template-columns:auto auto;gap:2px 12px;margin:8px 0 0;display:grid}.sum-stats dd{text-align:right;margin:0}.sum-row{display:contents}.sum-crit{color:#ffd060}.sum-floors div{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.sum-floor{background:var(--panel);padding:1px 5px;font-size:12px}.sum-death{color:#ff8a8a;margin:6px 0 0}.codex-modal{width:min(720px,100%)}.codex-tabs{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.codex-count{color:var(--accent);margin-left:auto;font-size:13px}.codex select{margin-top:6px}.codex-hint{color:var(--muted);margin:6px 0;font-size:12px}.codex-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px;display:grid}.codex-card{flex-direction:column;align-items:center;gap:2px;min-height:74px;padding:6px 2px;display:flex}.codex-card small{text-align:center;word-break:keep-all;font-size:11px;line-height:1.2}.codex-card.unknown{opacity:.6}.codex-card.active{border-color:var(--accent)}.codex-q{width:32px;height:32px;color:var(--muted);border:2px dashed var(--line);justify-content:center;align-items:center;font-size:20px;display:flex}.codex-portrait,.codex-detail .item-icon{image-rendering:pixelated}.codex-detail{border:2px solid var(--line);text-align:left;background:#00000040;align-items:flex-start;gap:12px;margin-top:8px;padding:8px;display:flex}.codex-detail p{margin:4px 0;font-size:13px}.codex-owner{color:var(--accent)}.account-screen,.daily-screen{justify-content:flex-start;padding-top:40px}.account-note{max-width:420px;color:var(--muted);text-align:center;margin:0;font-size:13px}.tabs{gap:6px;display:flex}.tabs button{padding:6px 12px;font-size:14px}.tabs .active{border-color:var(--accent);color:var(--accent)}.account-form{flex-direction:column;gap:10px;width:min(320px,100%);display:flex}.form-row{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.form-row input{min-width:0;font:inherit;color:var(--text);background:var(--panel);border:2px solid var(--line);-webkit-user-select:text;user-select:text;flex:1;padding:6px 10px}.form-error{color:var(--bad);margin:0;font-size:14px}.recovery-code{letter-spacing:2px;border:2px dashed var(--accent);-webkit-user-select:all;user-select:all;padding:10px 16px;font-size:22px}.board-wrap{width:min(420px,100%);max-height:50vh;overflow-y:auto}.board-wrap.small{max-height:28vh}.leaderboard{text-align:left;margin:0;font-size:14px;list-style:none;padding:0!important}.leaderboard li{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:4px 6px;display:flex}.lb-rank{text-align:right;width:22px;color:var(--muted);font-variant-numeric:tabular-nums}.lb-char{border:1px solid #000;width:10px;height:10px}.lb-char.warden{background:#f2c14e}.lb-char.drifter{background:#6ec6e8}.lb-char.mage{background:#b58cf2}.lb-char.mystic{background:#f0e2b0}.lb-char.doctor{background:#f4f6fa}.lb-char.gunner{background:#d8b060}.lb-char.beast{background:#f0a050}.lb-char.ninja{background:#4a3a6a}.lb-char.chronomancer{background:#7ae0ff}.lb-char.engineer{background:#f08a3c}.lb-char.elementalist{background:#4ae0a8}.lb-char.brawler{background:#f07aa0}.lb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lb-floor{color:var(--muted);white-space:nowrap;font-size:12px}.lb-score{color:var(--accent);font-variant-numeric:tabular-nums}.daily-result{flex-direction:column;gap:6px;display:flex}.lb-char.summoner{background:#3a8a5a}.lb-char.bedouin{background:#e8b860}.lb-char.general{background:#c84a3a}.lb-char.imugi{background:#ffd040}.lb-char.apostle{background:#8a1a3a}.lb-char.abandoned{background:#7aa070}.lb-char.titan{background:#c87a3a}.lb-char.novice{background:#d8c8a8}.lb-char.duck{background:#ffd84a}.join-form{gap:6px;display:flex}.join-form input,.chat input{min-width:0;font:inherit;color:var(--text);background:var(--panel);border:2px solid var(--line);letter-spacing:1px;-webkit-user-select:text;user-select:text;flex:1;padding:6px 10px}.spectator{z-index:5}.spectator-modal{max-height:94vh;width:min(640px,100%)!important}.spectator-body{flex-wrap:wrap;justify-content:center;gap:12px;display:flex;overflow-y:auto}.spectator-map canvas{max-width:100%;height:320px;image-rendering:pixelated;background:#0006}.floor-tabs{gap:4px;margin-bottom:6px;display:flex}.floor-tabs button{padding:2px 8px;font-size:12px}.floor-tabs .active{border-color:var(--accent)}.battle-ranking{flex:1;min-width:240px}.battle-ranking li.me .lb-name{color:var(--accent)}.lb-dot{border:1px solid #000;width:8px;height:8px}.chat{text-align:left;flex-direction:column;gap:4px;display:flex}.chat-log{background:#0000004d;height:90px;padding:4px 8px;font-size:13px;overflow-y:auto}.chat form{display:flex}.settings{text-align:left;flex-direction:column;gap:10px;min-height:0;margin:8px 0 12px;padding-right:4px;display:flex;overflow-y:auto}.setting-row{align-items:center;gap:10px;display:flex}.setting-row>span{flex:1}.setting-row input[type=range]{width:140px}.setting-row small{text-align:right;opacity:.7;width:2.5em}.controls-editor{z-index:60;touch-action:none;background:#0c0a12f5;position:fixed;inset:0}.controls-editor-panel{top:max(10px, env(safe-area-inset-top));border:2px solid var(--line);background:var(--panel);text-align:left;flex-direction:column;gap:8px;width:min(92vw,380px);padding:10px 14px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.controls-editor-panel p{color:var(--muted);margin:0;font-size:13px}.controls-editor-actions{justify-content:flex-end;gap:8px;display:flex}.controls-editor-stick{display:block;top:72vh;left:max(80px,18vw)}.account-screen h3{margin:12px 0 0}.link-done{color:var(--accent);margin:0}.link-code-input{font:inherit;letter-spacing:6px;text-align:center;color:var(--text);background:var(--panel);border:2px solid var(--line);padding:8px;font-size:24px}.skill-key-set{gap:4px;display:flex;flex:none!important}.skill-key-set button{white-space:nowrap}.setting-row:has(.skill-key-set){flex-wrap:wrap}.skill-key-set button.on{border-color:var(--accent);color:var(--accent)}.item-tip{z-index:20;border:1px solid var(--accent);pointer-events:none;background:#0a0810eb;width:max-content;max-width:256px;padding:6px 9px;font-size:12px;line-height:1.45;position:fixed;transform:translate(-50%,-100%)}.item-tip.below{transform:translate(-50%)}.item-tip-name{color:var(--accent);font-weight:700}.item-tip-aug{color:#7adcff;margin-top:3px}.item-tip-hint{color:var(--muted);margin-top:3px}.item-tip-compare{border-top:1px solid #ffffff26;margin-top:4px;padding-top:4px}.item-tip-row{justify-content:space-between;gap:12px;display:flex}.item-tip-row b.up{color:#7ed67e}.item-tip-row b.down{color:#e05a5a}.stats-panel{z-index:2;box-sizing:border-box;width:max(150px, calc(var(--side,170px) - 12px));pointer-events:none;background:#0c0a14d1;border:1px solid #3a3450;border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px;font-size:12px;line-height:1.5;display:flex;position:absolute;top:6px;left:6px}.stats-row{justify-content:space-between;gap:10px;display:flex}.stats-row span:last-child{font-variant-numeric:tabular-nums;color:var(--accent)}.stats-guide-btn{pointer-events:auto;padding:5px 6px;font-size:12px}.buff-panel{border-top:1px solid #3a3450;flex-direction:column;gap:3px;padding-top:6px;display:flex}.buff-panel b{color:#c8b8ff}.buff-panel small{color:var(--muted)}.buff-row{background:#ffffff0d;border-radius:3px;justify-content:space-between;padding:1px 4px 3px;font-size:11px;display:flex;position:relative}.buff-row em{font-variant-numeric:tabular-nums;font-style:normal}.buff-row i{background:#7aff8a;height:2px;position:absolute;bottom:0;left:0}.buff-row.buff span{color:#b8ffc0}.buff-row.cd span{color:#c8c0d8}.buff-row.cd i{background:#8a84a0}@media (orientation:portrait){.stats-panel{width:130px;font-size:11px}}.char-info{z-index:30;background:#100c1afa;border:2px solid #6a5aa0;border-radius:12px;flex-direction:column;gap:10px;padding:14px 18px;display:flex;position:fixed;inset:3vh 3vw;box-shadow:0 0 40px #000000b3}.char-info header{align-items:center;gap:14px;font-size:20px;display:flex}.char-info header small{color:var(--muted);font-size:13px}.char-info header button{margin-left:auto;padding:6px 12px;font-size:14px}.ci-body{flex:1;gap:16px;min-height:0;display:flex}.ci-left{flex:0 0 min(420px,38%);padding-right:6px;overflow-y:auto}.ci-left h4{color:#c8b8ff;margin:12px 0 6px}.ci-guide{color:#e8e4f0;margin:0;padding-left:18px;line-height:1.6}.ci-list{flex-direction:column;gap:4px;display:flex}.ci-item{text-align:left;background:#ffffff0a;border:1px solid #3a3450;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.ci-item.on{border-color:#f2d040}.ci-item span{flex-direction:column;display:flex}.ci-item small{color:#c8c0d8;font-size:12px}.ci-right{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ci-right>small{color:var(--muted)}.ci-practice{border:2px solid #4a4658;border-radius:10px;flex:1;position:relative;overflow:hidden;transform:translateZ(0)}.ci-practice .stats-panel,.ci-practice .game-hint{display:none}.buff-row.debuff span{color:#ff9a9a}.buff-row.debuff i{background:#ff5a5a}.buff-row.evo{pointer-events:auto;cursor:help;background:#b06eff24}.buff-row.evo span{color:#d8b8ff}.buff-row.evo:hover:after{content:attr(data-tip);z-index:5;color:#f0e8ff;white-space:normal;background:#100c1af7;border:1px solid #6a5aa0;border-radius:6px;width:240px;padding:6px 8px;font-size:12px;line-height:1.45;position:absolute;top:-4px;left:calc(100% + 8px)}.rg-rooms{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.rg-room{background:#ffffff0a;border:1px solid #3a3450;align-items:center;gap:5px;padding:4px 8px;font-size:13px;display:flex}.rg-room i{border:2px solid;border-radius:2px;width:10px;height:10px}.rg-room.on{color:#fff3b0;border-color:#f2d040}.rg-table{border-collapse:collapse;color:#e8e4f0;margin-top:10px;font-size:12px}.rg-table caption{text-align:left;color:#c8b8ff;margin-bottom:4px}.rg-table th,.rg-table td{text-align:center;border:1px solid #3a3450;padding:2px 5px}.rg-table th{color:#c8c0d8;font-weight:400}.rg-retry{margin-top:10px}.buff-row.evo.room{background:#ffd25a1f}.buff-row.evo.room span{color:#ffe08a}.buff-row.evo.room.bad{background:#ff5a5a1f}.buff-row.evo.room.bad span{color:#ffb0b0}.practice-panel,.practice-toggle{z-index:6;position:fixed;top:52px;right:8px}.practice-panel{border:1px solid var(--accent);background:#0a0810eb;flex-direction:column;gap:6px;width:min(380px,100vw - 16px);padding:8px;font-size:12px;display:flex;top:52px;bottom:8px;overflow:hidden}.practice-head{justify-content:space-between;align-items:center;display:flex}.practice-row{gap:4px;display:flex}.practice-row button{flex:1;padding:4px 2px;font-size:12px}.practice-row button.on{border-color:var(--accent);background:#3c325acc}.practice-chars summary{cursor:pointer;border:1px solid var(--line,#3a3450);padding:4px 6px}.practice-char-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:4px;margin-top:4px;display:grid}.practice-char-grid button{white-space:nowrap;text-overflow:ellipsis;padding:4px 2px;font-size:12px;overflow:hidden}.practice-char-grid button.on{border-color:var(--accent);background:#3c325acc}.practice-row button{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.practice-search{box-sizing:border-box;width:100%;padding:5px 6px;font-size:12px}.practice-list{flex-direction:column;flex:1;gap:4px;min-height:90px;display:flex;overflow-y:auto}.practice-group summary{cursor:pointer;color:var(--accent);border-bottom:1px solid #ffffff1f;align-items:center;gap:6px;padding:3px 4px;font-weight:700;list-style-position:inside;display:flex}.practice-group summary small{color:var(--muted);font-weight:400}.practice-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:4px;padding:4px 0;display:grid}.practice-cell{position:relative}.practice-item{justify-content:center;width:100%;padding:3px;line-height:0;display:flex;position:relative}.practice-cell.owned .practice-item{border-color:var(--accent);background:#463c6ecc}.practice-item b,.practice-item i{color:#fff;text-shadow:0 0 2px #000;font-size:11px;font-style:normal;line-height:1.2;position:absolute}.practice-item b{bottom:0;right:2px}.practice-item i{color:#8fe08a;top:0;right:2px}.practice-minus{background:#6a2a3a;border-radius:50%;width:16px;height:16px;padding:0;font-size:12px;line-height:14px;position:absolute;top:-2px;left:-2px}.practice-empty{color:var(--muted);text-align:center}.practice-tip-stack{color:#8fe08a;margin-top:3px;display:block}.practice-floor{align-items:center;gap:3px;display:flex}.practice-floor span{white-space:nowrap;margin-right:2px}.practice-floor button{flex:1;min-width:0;padding:3px 0;font-size:12px}.practice-floor button.on{border-color:var(--accent);background:#3c325acc}.practice-floor-note{color:var(--muted)}.practice-fit{margin-left:auto;padding:1px 6px;font-size:11px;font-weight:400}.practice-enemies{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px;padding:4px 0;display:grid}.practice-enemy{text-align:left;align-items:center;gap:4px;padding:2px 4px;font-size:12px;line-height:1.2;display:flex}.practice-enemy canvas{image-rendering:pixelated;flex:none}.practice-info{min-height:52px;color:var(--muted);line-height:1.45}.practice-info strong{color:var(--text,#fff)}.item-icon{image-rendering:pixelated;display:block}.loadout-weapon,.loadout-slots .slot,.loadout-passives{align-items:center;gap:4px;display:inline-flex}.loadout-passive{cursor:help;outline:1px solid #0000;align-items:center;line-height:0;display:inline-flex;position:relative}.loadout-weapon-icon{cursor:help;outline:1px solid #0000;line-height:0;display:inline-flex}.loadout-passive .loadout-aug{color:#7adcff;text-shadow:0 0 3px #000;font-size:11px;font-style:normal;position:absolute;top:-4px;left:-3px}.loadout-weapon-icon:hover,.loadout-weapon-icon.on,.loadout-passive:hover,.loadout-passive.on{outline-color:var(--accent)}.loadout-passive b{margin-left:1px;font-size:10px;line-height:1}.item-tip-name{align-items:center;gap:6px;display:flex}.practice-rooms{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:4px;padding:4px 0;display:grid}.practice-room{text-align:left;align-items:center;gap:6px;padding:4px 6px;font-size:12px;display:flex}.practice-room i{border:2px solid;flex:none;width:12px;height:12px}.practice-room.off{grid-column:1/-1;justify-content:center}.practice-shapes{opacity:.8;grid-column:1/-1;margin-top:4px}.records-summary{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 12px;display:grid}.records-summary dt{color:var(--muted)}.records-summary dd{margin:0}.records-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.records-list li{border-bottom:1px solid #ffffff14;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:4px 0;font-size:13px;display:flex}.records-list li em{color:var(--accent);font-style:normal}.tutorial-banner{z-index:3;border:1px solid var(--accent);background:#0a0810f0;flex:none;align-self:center;width:min(720px,100vw - 24px);margin-bottom:4px;padding:6px 12px;font-size:14px;line-height:1.5;position:relative}.tutorial-banner small{color:var(--accent)}.tutorial-banner p{margin:2px 0 6px}.tutorial-banner .tutorial-sub{color:var(--muted);font-size:12px}.tutorial-actions{justify-content:flex-end;gap:6px;display:flex}.tutorial-actions button{padding:4px 10px;font-size:12px}.icon{flex:none;width:1em;height:1em}.field-label{color:var(--muted);letter-spacing:1px;font-size:12px}.hint{color:var(--muted);margin:0;font-size:13px;line-height:1.5}:is(.title-screen,.entry-screen,.lobby-screen,.chooser,.modal) button{justify-content:center;align-items:center;gap:8px;display:inline-flex}:is(.title-screen,.entry-screen,.lobby-screen,.chooser,.topbar,.modal) button.small{margin-left:0;padding:4px 12px;font-size:13px}:is(.title-screen,.entry-screen,.lobby-screen,.chooser,.modal) button.primary{background:var(--accent);border-color:var(--accent);color:#1a1422;font-weight:700;box-shadow:0 3px #9c7a24}:is(.title-screen,.entry-screen,.lobby-screen,.chooser,.modal) button.primary:disabled{opacity:.45;color:#1a1422}:is(.title-screen,.entry-screen,.lobby-screen) button.secondary{border-color:var(--accent);color:var(--accent)}button.outline{background:0 0}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){color:var(--text);border-color:#0000}button.big{width:100%;min-height:52px;font-size:17px;font-weight:700}button.selected{border-color:var(--accent);color:var(--accent)}.topbar{z-index:3;padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 0 0;position:fixed;top:0;right:0}.topbar-left{z-index:3;padding:max(10px, env(safe-area-inset-top)) 0 0 max(12px, env(safe-area-inset-left));position:fixed;top:0;left:0}@media (width<=600px){.topbar-left .icon-button-label{display:inline}}.install-note{color:var(--muted);font-size:14px}.icon-button{align-items:center;gap:6px;padding:8px 10px;font-size:14px;display:inline-flex}.icon-button .icon{width:16px;height:16px}@media (width<=600px){.icon-button-label{display:none}}.lang-options{flex-wrap:wrap;gap:4px;display:flex}.nickname-bar{background:var(--panel);border:2px solid var(--line);align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.nickname-bar .nickname{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;font-size:18px;overflow:hidden}.nickname-bar input{min-width:0;font:inherit;color:var(--text);background:var(--bg);border:2px solid var(--line);-webkit-user-select:text;user-select:text;flex:1;padding:6px 10px}.title-screen{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100%;padding:56px 16px 24px;display:flex}.menu-card{flex-direction:column;align-items:center;gap:10px;width:min(340px,100%);display:flex}.title-logo{letter-spacing:2px;color:var(--accent);text-shadow:3px 3px #000;margin:0;font-size:clamp(36px,10vw,56px)}.title-subtitle{color:var(--muted);text-align:center;margin:0;font-size:14px}.title-best{color:var(--muted);margin:0;font-size:13px}.menu-buttons{flex-direction:column;gap:12px;width:100%;margin-top:14px;display:flex}.menu-buttons .big .icon{width:18px;height:18px}.menu-badge{color:var(--accent);background:#1a1422;padding:2px 6px;font-size:11px;font-weight:700}.menu-links{flex-wrap:wrap;justify-content:center;gap:4px 14px;display:flex}.link-button{color:var(--muted);background:0 0;border-color:#0000;align-items:center;gap:6px;padding:6px 4px;font-size:14px;display:inline-flex}.link-button:hover:not(:disabled){color:var(--text);border-color:#0000}.link-button small{margin-left:0}.title-footer{color:var(--muted);font-size:12px}.chooser{text-align:center;width:min(380px,100%);max-height:92vh}.choices{flex-direction:column;gap:8px;min-height:0;display:flex;overflow-y:auto}.choice-row{text-align:left;width:100%;padding:12px;justify-content:flex-start!important;gap:12px!important}.choice-row>.icon{color:var(--muted);margin-left:auto}.choice-icon{background:var(--bg);border:2px solid var(--line);width:36px;height:36px;color:var(--accent);flex:none;place-items:center;display:grid}.choice-icon .icon{width:20px;height:20px}.choice-text{flex-direction:column;gap:2px;min-width:0;display:flex}.choice-text small{margin-left:0;font-size:12px}@media (height<=760px){.choice-row{padding:7px 10px}}.entry-screen{flex-direction:column;align-items:stretch;gap:14px;width:min(720px,100%);min-height:100%;margin:0 auto;padding:60px 16px 24px;display:flex}.entry-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (width<=640px){.entry-columns{grid-template-columns:1fr}}.entry-panel{background:var(--panel);border:2px solid var(--line);flex-direction:column;gap:10px;padding:16px;display:flex}.entry-panel.quick{border-color:var(--accent)}.entry-panel h2{margin:0;font-size:18px}.entry-panel .big{margin-top:auto}.entry-divider{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.entry-divider:before,.entry-divider:after{content:"";border-top:1px solid var(--line);flex:1}.entry-panel .join-form input{text-align:center;letter-spacing:3px;width:auto}.entry-panel .join-form.name-ask input{text-align:left;letter-spacing:0}.entry-note{text-align:center}.status-line{text-align:center;min-height:1.4em;margin:0;font-size:14px}.lobby-screen{grid-template-columns:1fr 1.2fr 1fr;align-items:start;gap:24px;width:min(1100px,100%);min-height:100%;margin:0 auto;padding:60px 16px 24px;display:grid}@media (width<=900px){.lobby-screen{grid-template-columns:1fr;gap:16px;width:min(480px,100%)}}.lobby-code{background:var(--panel);border:2px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px;display:flex}.room-code-value{letter-spacing:6px;color:var(--accent);text-shadow:2px 2px #000;-webkit-user-select:text;user-select:text;font-size:40px}.room-code-actions{gap:6px;display:flex}.lobby-status{font-size:18px}.lobby-main{flex-direction:column;gap:14px;display:flex}.lobby-characters,.lobby-countdown{flex-direction:column;gap:6px;display:flex}.lobby-countdown{align-items:center}.countdown{letter-spacing:3px;color:var(--accent);margin:0;font-size:48px}.mode-options{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:6px;display:grid}.mode-option{justify-content:center;align-items:center;gap:6px;display:inline-flex}.mode-option.selected{border-color:var(--accent);color:var(--accent);background:#2a2338}.player-list h3{color:var(--muted);align-items:center;gap:10px;margin:0 0 6px;font-size:14px;display:flex}.seats{gap:3px;margin-left:auto;display:inline-flex}.seats span{border:1px dashed var(--line);width:8px;height:8px}.seats span.on{background:var(--accent);border:1px solid var(--accent)}.player-list ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.player-list li{background:var(--panel);border:2px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.player-list li.mine{border-color:var(--accent)}.player-list .nickname{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.badge{flex:none;padding:1px 5px;font-size:11px;font-weight:700}.badge.host{background:var(--accent);color:#1a1422}.badge.me{background:var(--ok);color:#1a1422}.badge.away{background:var(--bad);color:#1a1422}.lobby-chat{flex-direction:column;gap:6px;display:flex}.lobby-chat-log{background:var(--panel);border:2px solid var(--line);flex-direction:column;gap:6px;height:260px;padding:8px;display:flex;overflow-y:auto}@media (width<=900px){.lobby-chat-log{height:160px}}.chat-line{-webkit-user-select:text;user-select:text;flex-direction:column;align-items:flex-start;gap:2px;font-size:14px;display:flex}.chat-line small{color:var(--muted);font-size:11px}.chat-line span{background:var(--bg);border:1px solid var(--line);overflow-wrap:anywhere;max-width:90%;padding:4px 8px}.chat-line.mine{align-items:flex-end}.chat-line.mine span{background:var(--accent);border-color:var(--accent);color:#1a1422}.lobby-chat .join-form input{letter-spacing:0;width:auto}.daily-screen .nickname-bar{max-width:420px}.lobby-picked{border:1px solid var(--line);background:#1c1828;align-items:center;gap:10px;padding:6px 8px;display:flex}.lobby-picked .hint{margin:2px 0 0;font-size:12px}.lobby-find{width:100%}.lobby-char-grid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:4px;max-height:260px;padding:2px;display:grid;overflow-y:auto}.lobby-char{flex-direction:column;align-items:center;gap:2px;padding:4px 2px;font-size:11px;line-height:1.2;display:flex}.lobby-char span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.lobby-char.selected{border-color:var(--accent);color:var(--accent);background:#2a2338}.lobby-char-name{color:var(--muted)}.hall-screen{--gold:#ffd76a;--gold-deep:#c8902a;background:radial-gradient(at 50% -10%,#ffc85a59,#0000 55%),radial-gradient(at 50% 120%,#783cc859,#0000 60%),linear-gradient(#0c0918,#191230 55%,#0c0918);flex-direction:column;align-items:center;gap:16px;min-height:100%;padding:24px 16px 32px;display:flex;position:relative;overflow:hidden auto}.hall-screen>:not(.hall-rays):not(.hall-sparks){z-index:1;position:relative}.hall-rays{pointer-events:none;background:repeating-conic-gradient(#ffd76a29 0deg 6deg,#0000 6deg 18deg);width:140vmax;height:140vmax;margin-left:-70vmax;animation:60s linear infinite hall-spin;position:absolute;top:-60vmax;left:50%;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 60%);mask-image:radial-gradient(circle,#000 0%,#0000 60%)}@keyframes hall-spin{to{transform:rotate(360deg)}}.hall-sparks{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hall-sparks span{background:var(--gold);opacity:0;border-radius:50%;animation:9s linear infinite hall-rise;position:absolute;bottom:-10px;box-shadow:0 0 6px 2px #ffd76ab3}@keyframes hall-rise{0%{opacity:0;transform:translateY(0)translate(0)}15%{opacity:1}to{opacity:0;transform:translateY(-110vh)translate(30px)}}.hall-head{text-align:center}.hall-laurel{color:var(--gold);letter-spacing:.5em;text-shadow:0 0 10px #ffd76acc;font-size:1.1rem}.hall-title{letter-spacing:.08em;background:linear-gradient(100deg,#b8862a 0%,#fff4c4 25%,#ffd76a 45%,#fffbe8 55%,#c8902a 75%,#ffe9a0 100%) 0 0/250% 100%;color:#0000;filter:drop-shadow(0 0 12px #ffc85a8c);-webkit-background-clip:text;background-clip:text;margin:6px 0 4px;font-size:clamp(1.8rem,6vw,3rem);font-weight:900;animation:4s linear infinite hall-shine}@keyframes hall-shine{to{background-position:-250% 0}}.hall-sub{color:#e8dcff;opacity:.85;margin:0;font-style:italic}.hall-bosses{grid-template-columns:1fr;gap:16px;width:100%;max-width:1100px;display:grid}@media (width>=900px){.hall-bosses{grid-template-columns:repeat(3,1fr)}}.hall-boss{--accent:#ffd76a;--accent2:#8a5ad8;border:2px solid var(--accent);background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 18%, transparent), transparent 45%), #0e0a1cd1;box-shadow:0 0 18px color-mix(in srgb, var(--accent) 45%, transparent), inset 0 0 24px color-mix(in srgb, var(--accent2) 30%, transparent);border-radius:10px;padding:14px}.hall-dragon{--accent:#ff8a3a;--accent2:#c02a10}.hall-godeater{--accent:#ff5a7a;--accent2:#6a2ac0}.hall-plight{--accent:#fff0c0;--accent2:#7a4ad8}.hall-boss-name{color:var(--accent);text-shadow:0 0 8px var(--accent);letter-spacing:.05em;justify-content:center;align-items:center;gap:8px;margin:0 0 26px;display:flex}.hall-gem{background:linear-gradient(135deg, #fff, var(--accent) 50%, var(--accent2));width:12px;height:12px;box-shadow:0 0 8px var(--accent);transform:rotate(45deg)}.hall-list{flex-direction:column;gap:4px;margin:12px 0 0;padding:0;list-style:none;display:flex}.hall-list li{background:#ffffff0d;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.hall-rank{text-align:right;width:22px;color:var(--muted);font-weight:800}.hall-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hall-time{font-variant-numeric:tabular-nums}.hall-r2{background:linear-gradient(90deg,#dce6f540,#ffffff0a)}.hall-r2 .hall-rank{color:#e8eef8}.hall-r3{background:linear-gradient(90deg,#d28c5047,#ffffff0a)}.hall-r3 .hall-rank{color:#e8a060}.hall-note{text-align:center;max-width:640px}.hall-buttons{gap:8px;display:flex}.tabs .hall-button{border-color:var(--gold-deep,#c8902a);color:#ffe9a0;background:linear-gradient(#3a2a10,#1f1b2b)}.raid-submit-time strong{color:#ffd76a;font-size:1.3rem}.raid-submit-rank{color:#ffd76a;text-shadow:0 0 8px #ffd76acc;font-weight:800}@media (prefers-reduced-motion:reduce){.hall-rays,.hall-sparks span,.hall-title,.hall-champ,.hall-crown,.hall-champ-name{animation:none}}.hall-champ{text-align:center;border:2px solid var(--gold);background:radial-gradient(at 50% 0,#ffd76a47,#1e1432e6 70%);border-radius:8px;padding:26px 12px 14px;animation:2.4s ease-in-out infinite alternate hall-glow;position:relative}@keyframes hall-glow{0%{box-shadow:0 0 10px #ffd76a73}to{box-shadow:0 0 28px #ffd76af2, 0 0 60px color-mix(in srgb, var(--accent) 60%, transparent)}}.hall-crown{border-bottom:6px solid var(--gold);filter:drop-shadow(0 0 6px #ffd76ae6);justify-content:space-between;align-items:flex-end;width:42px;height:22px;margin-left:-21px;animation:2s ease-in-out infinite hall-bob;display:flex;position:absolute;top:-16px;left:50%}.hall-crown span{border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:16px solid var(--gold);width:0;height:0}.hall-crown span:nth-child(2){border-bottom-width:22px}@keyframes hall-bob{50%{transform:translateY(-3px)}}.hall-champ-label{color:var(--gold);letter-spacing:.4em;text-transform:uppercase;font-size:.8rem}.hall-champ-name{overflow-wrap:anywhere;background:linear-gradient(100deg,#ffc94a,#fff6d0 35%,#ffb43a 55%,#ffe58a 80%,#ffc94a) 0 0/200% 100%;color:#0000;filter:drop-shadow(0 0 6px #ffbe3c99);-webkit-background-clip:text;background-clip:text;margin:4px 0;font-size:clamp(1.4rem,5vw,1.9rem);font-weight:900;animation:3s linear infinite hall-shine}.hall-champ-time{font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 10px var(--accent);font-size:1.6rem;font-weight:800}.hall-champ-meta{color:#d8ccf0;justify-content:center;align-items:center;gap:6px;margin-top:6px;font-size:.85rem;display:flex}.hall-empty{text-align:center;color:#cfc3ea;margin:8px 0}.td-game{background:#0e0c14;flex-direction:column;height:100%;display:flex}.td-hud{padding:max(6px, env(safe-area-inset-top)) 12px 6px;background:var(--panel);border-bottom:2px solid var(--line);white-space:nowrap;align-items:center;gap:14px;font-size:15px;display:flex;overflow:hidden}.td-hud b{color:var(--accent)}.td-hud em{color:#ff7a7a;font-style:normal}.td-lives{color:#ff8a9a}.td-gold{color:#ffd76a}.td-speed{gap:4px;margin-left:auto;display:flex}.td-speed button{padding:3px 8px;font-size:13px}.td-body{flex:1;min-height:0;display:flex}.td-field{flex:1;place-items:center;min-width:0;padding:8px;display:grid;position:relative;overflow:hidden}.td-field canvas{image-rendering:pixelated;box-shadow:0 0 0 2px var(--line);touch-action:none;cursor:pointer;border:2px solid #000}.td-banner{border:2px solid var(--accent);color:var(--accent);letter-spacing:1px;pointer-events:none;background:#14101cd9;padding:8px 22px;font-size:22px;font-weight:800;animation:.35s ease-out td-pop;position:absolute;top:18%;left:50%;transform:translate(-50%)}@keyframes td-pop{0%{opacity:0;transform:translate(-50%)scale(1.4)}}.td-side{background:var(--panel);border-left:2px solid var(--line);flex-direction:column;flex:none;gap:8px;width:320px;padding:8px;display:flex;overflow-y:auto}.td-start{background:var(--accent);border-color:var(--accent);color:#1a1422;width:100%;padding:10px;font-weight:700;box-shadow:0 3px #9c7a24}.td-chars{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px;display:grid}.td-char{flex-direction:column;align-items:center;gap:2px;padding:6px 4px;font-size:13px;display:flex}.td-char small{margin-left:0}.td-portrait{image-rendering:pixelated;background:#2a2438;border:1px solid #000}.td-cost{color:#ffd76a;margin-left:6px}.td-cost.short{color:var(--bad)}.td-tower header{align-items:center;gap:8px;display:flex}.td-tower header div{flex-direction:column;display:flex}.td-tower header button{margin-left:auto;padding:2px 8px}.td-lv{color:var(--accent);font-size:13px}.td-stats{grid-template-columns:auto 1fr;gap:2px 10px;margin:8px 0;font-size:13px;display:grid}.td-stats dt{color:var(--muted)}.td-stats dd{text-align:right;margin:0}.td-gear{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.td-gear-weapon{border:1px solid var(--accent)}.td-tower h4{justify-content:space-between;margin:10px 0 6px;font-size:14px;display:flex}.td-options{flex-direction:column;gap:4px;display:flex}.td-option{text-align:left;align-items:center;gap:8px;padding:6px;display:flex}.td-option.current{border-color:var(--muted)}.td-option-text{flex-direction:column;min-width:0;display:flex}.td-option-text strong{font-size:13px}.td-option-text small{margin-left:0;font-size:11px;line-height:1.35}.td-sell{width:100%;margin-top:10px;padding:6px;font-size:13px}@media (width<=760px){.td-body{flex-direction:column}.td-field{aspect-ratio:20/12;flex:none;width:100%;padding:4px}.td-side{border-left:0;border-top:2px solid var(--line);flex:1;width:auto}.td-hud{gap:8px;padding-left:8px;padding-right:8px;font-size:13px}.td-speed button{padding:2px 6px;font-size:12px}.td-chars{grid-template-columns:repeat(5,1fr)}.td-char span{font-size:11px}}.td-hp{background:#2a1a20;border-radius:6px;height:12px;margin:6px 0;position:relative;overflow:hidden}.td-hp span{background:linear-gradient(90deg,#e04a5a,#7aff8a);position:absolute;inset:0 auto 0 0}.td-hp b{text-align:center;text-shadow:0 0 2px #000;font-size:10px;line-height:12px;display:block;position:relative}.td-repair{width:100%;margin-bottom:6px}.td-char.rebuild{filter:grayscale(.8)}.td-stats{z-index:30;color:#e8ecf4;-webkit-user-select:none;user-select:none;background:#0e0c18db;border:1px solid #9ab8ff73;border-radius:8px;width:210px;font-size:11px;position:fixed;box-shadow:0 4px 14px #0006}.td-stats-head{cursor:move;touch-action:none;border-bottom:1px solid #9ab8ff40;justify-content:space-between;align-items:center;padding:4px 8px;font-weight:700;display:flex}.td-stats-head button{min-height:0;padding:0 6px;font-size:11px}.td-stats-body{max-height:40vh;padding:4px 8px 6px;overflow-y:auto}.td-stats-empty{opacity:.6;margin:4px 0}.td-stats-row{grid-template-columns:1fr auto;gap:1px 6px;margin:4px 0;display:grid}.td-stats-row.broken{opacity:.45}.td-stats-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.td-stats-dmg{color:#ffd860;text-align:right}.td-stats-bar{background:#ffffff1f;border-radius:2px;grid-column:1/-1;height:4px;position:relative;overflow:hidden}.td-stats-bar i{background:#ffb040;height:100%;display:block}.td-stats-bar.hp{height:8px}.td-stats-bar.hp i{background:#5ad07a}.td-stats-bar.hp b{text-align:center;font-size:7px;font-weight:400;line-height:8px;position:absolute;inset:0}.td-maps{max-width:980px;padding:max(16px, env(safe-area-inset-top)) 16px 24px;flex-direction:column;gap:12px;margin:0 auto;display:flex}.td-maps h2{color:var(--accent);margin:8px 0 0}.td-maps h3{color:var(--muted);margin:4px 0 0;font-size:15px}.td-map-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.td-map-card{text-align:left;flex-direction:column;align-items:stretch;gap:8px;padding:8px;display:flex}.td-preview{aspect-ratio:20/12;width:100%;image-rendering:pixelated;border:2px solid #000}.td-map-text{flex-direction:column;gap:2px;display:flex}.td-map-text small{margin-left:0}.td-stars{color:var(--accent);margin-left:4px;font-size:12px}.td-best.won{color:var(--ok)}.td-overlay{z-index:10;background:#0009;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.td-result{text-align:center;flex-direction:column;gap:10px;width:min(380px,100%);display:flex}.td-result.won h2{color:var(--ok)}.td-result.lost h2{color:var(--bad)}.td-result h4{color:var(--muted);margin:4px 0 0}.td-mvp{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.td-mvp li{align-items:center;gap:8px;display:flex}.td-mvp b{color:var(--accent);margin-left:auto}.shop-screen{max-width:980px;padding:max(16px, env(safe-area-inset-top)) 16px 24px;flex-direction:column;gap:12px;margin:0 auto;display:flex}.shop-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.shop-head h2{color:var(--accent);margin:8px 0 0}.shop-coupons{border:2px solid var(--accent);background:var(--panel);padding:6px 12px;font-size:14px}.shop-coupons b{color:var(--accent);margin-left:4px;font-size:18px}.shop-tabs,.shop-chars{flex-wrap:wrap;gap:6px;display:flex}.shop-tabs button.active,.shop-chars button.active{border-color:var(--accent);color:var(--accent)}.shop-chars button{padding:4px 10px;font-size:13px}.shop-skins{flex-direction:column;gap:12px;display:flex}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.skin-card{background:var(--panel);border:2px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;font-size:13px;display:flex}.skin-card.wearing{border-color:var(--accent);box-shadow:0 0 0 2px #f2c14e40}.skin-card button{width:100%;padding:6px;font-size:13px}.skin-preview{image-rendering:pixelated;background:radial-gradient(circle at 50% 65%,#2c2640,#17141f 70%);border:2px solid #000}.skin-tag{color:var(--accent);font-size:12px}.shop-note{color:var(--muted);margin:0;font-size:13px}.gacha-buttons{flex-wrap:wrap;gap:10px;display:flex}.shop-missions{flex-direction:column;gap:10px;display:flex}.mission{background:var(--panel);border:2px solid var(--line);grid-template-columns:1fr 120px auto;align-items:center;gap:10px;padding:10px;display:grid}.mission.claimed{opacity:.6}.mission-bar{border:1px solid var(--line);background:#0c0a12;height:8px}.mission-bar span{background:var(--ok);height:100%;display:block}@media (width<=520px){.mission{grid-template-columns:1fr auto}.mission-bar{grid-area:2/1/auto/-1}}.limited-badge{color:#2a1a00;background:linear-gradient(90deg,#ffd860,#fff4c0,#ffd860);align-self:flex-start;padding:1px 6px;font-size:11px;font-weight:700}.skin-card.limited{border-color:#e8b030;box-shadow:0 0 10px #ffc83c73}.gacha-banner{background:radial-gradient(circle at 50% 30%,#2a3a8a,#12162e 70%);border:3px solid #e8b030;flex-direction:column;align-items:center;gap:6px;padding:12px;animation:2.4s ease-in-out infinite alternate banner-glow;display:flex;box-shadow:0 0 18px #ffc83c59}.gacha-banner.summer{background:radial-gradient(circle at 50% 25%,#ffe8a0,#3ab8e8 45%,#0a3a6a 85%);border-color:#4ad8ff;box-shadow:0 0 18px #4ad8ff73}.gacha-banner.summer strong{color:#fff;text-shadow:0 2px #0a3a6a}.gacha-banner strong{color:#ffe08a;text-shadow:0 2px #6a3a00;font-size:22px}.gacha-banner p{text-align:center;color:#e8e4f4;max-width:520px;margin:0;font-size:13px}.banner-row{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}@keyframes banner-glow{to{box-shadow:0 0 30px #ffd250b3}}.gacha-coupon{font-size:40px;line-height:72px}.skin-card.my-skin{text-align:left;flex-direction:row;align-items:flex-start;gap:12px}.my-skin-text p{color:var(--muted);margin:4px 0;font-size:12px}.my-skin-text .my-skin-note{color:var(--accent)}.my-skin-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.my-skin-buttons button{width:auto}.fx-slot{color:var(--accent);margin:4px 0 6px;font-size:15px}.fx-preview{width:128px;height:96px;image-rendering:pixelated;background:radial-gradient(circle at 50% 60%,#2c2640,#17141f 70%);border:2px solid #000}.fx-edit{color:#8ad8ff;font-size:12px}.shop-wallets{flex-wrap:wrap;gap:8px;display:flex}.shop-coupons.ecoin{border-color:#8ae88a}.shop-coupons.ecoin b{color:#8ae88a}.ecoin-icon{vertical-align:-.15em;background:radial-gradient(circle at 35% 30%,#d8ffd0 0 12%,#6ae86a 30%,#2a9a3a 70%,#1a5a24 100%);border-radius:50%;width:1em;height:1em;display:inline-block;position:relative;box-shadow:inset 0 0 0 .09em #1a5a24,0 0 4px #6ae86a99}.ecoin-icon:after{content:"";border:.07em solid #dcffd2cc;border-radius:50%;position:absolute;inset:.28em}.ecoin-icon.big{width:48px;height:48px}.gacha-stage{z-index:60;background:radial-gradient(circle at 50% 40%,#281e5afa,#060410fc 70%);justify-content:center;align-items:center;padding:16px;animation:.25s both gacha-fade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes gacha-fade{0%{opacity:0}}.gacha-hint{color:#e8e4f4;text-align:center;min-height:1.2em;margin:8px 0 0;font-size:13px}.gacha-pack-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.gacha-pack{touch-action:none;-webkit-user-select:none;user-select:none;cursor:ew-resize;width:180px;height:250px;animation:.45s cubic-bezier(.2,1.4,.4,1) both pack-in;position:relative}.gacha-pack.fancy{width:210px;height:290px}@keyframes pack-in{0%{opacity:0;transform:translateY(40px)scale(.7)rotate(-6deg)}}.pack-top,.pack-body{background:linear-gradient(160deg,#4a5a9a,#2a3060);border:3px solid #b8c0e0;position:absolute;left:0;right:0}.pack-top{border-bottom:none;height:18%;transition:transform .55s cubic-bezier(.3,0,.6,1),opacity .55s;top:0}.pack-body{color:#fff;border-top:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;top:18%;bottom:0;overflow:hidden}.pack-notch{border-bottom:2px solid #fff9;border-right:2px solid #fff9;width:8px;height:8px;position:absolute;bottom:4px;right:6px}.pack-star{color:#ffe08a;text-shadow:0 0 12px #ffdc78cc;font-size:44px;line-height:1}.pack-body strong{letter-spacing:2px;font-size:20px}.pack-count{color:#ffe08a;font-size:15px}.pack-cut{border-top:2px dashed #ffffff8c;height:0;position:absolute;top:18%;left:0;right:0}.pack-cut span{background:#fff;height:4px;position:absolute;top:-3px;box-shadow:0 0 6px #fff,0 0 14px #ffd860}.gacha-pack.torn .pack-top{opacity:0;transform:translate(70px,-130px)rotate(28deg)}.gacha-pack.torn .pack-cut{border-top-color:#0000}.gacha-pack.torn .pack-body{animation:.55s both pack-burst}@keyframes pack-burst{60%{box-shadow:0 -20px 40px #fff0b4e6}to{transform:scale(1.05);box-shadow:0 -30px 60px #fff0b400}}.gacha-pack.fancy .pack-top,.gacha-pack.fancy .pack-body{background:linear-gradient(115deg,#6a3a00,#e8b030 30%,#fff4c0 45%,#e8b030 60%,#7a1a5a) 0 0/260% 100%;border-color:#ffd860;animation:2.4s linear infinite foil}.gacha-pack.fancy{filter:drop-shadow(0 0 16px #ffd250b3)}.gacha-pack.fancy .pack-body strong{color:#3a1a00;text-shadow:0 1px #fff4c0}.gacha-pack.fancy .pack-count{color:#5a0a3a;font-weight:700}@keyframes foil{to{background-position:-260% 0}}.pack-sparkles{background:radial-gradient(circle at 20% 30%,#fff 0 1.5px,#0000 2.5px),radial-gradient(circle at 75% 20%,#fff 0 1.5px,#0000 2.5px),radial-gradient(circle at 60% 75%,#fff 0 1.5px,#0000 2.5px),radial-gradient(circle at 30% 80%,#fff 0 1.5px,#0000 2.5px);animation:1.1s ease-in-out infinite alternate twinkle;position:absolute;inset:0}@keyframes twinkle{0%{opacity:.2}}.gacha-skip{opacity:.8;width:auto;font-size:12px}.gacha-table{flex-direction:column;align-items:center;gap:10px;max-width:100%;display:flex}.gacha-cards{grid-template-columns:repeat(5,minmax(0,92px));gap:8px;display:grid}.gacha-cards.single{grid-template-columns:minmax(0,200px)}.gacha-bonus{color:#ffe08a;align-items:center;gap:8px;font-size:13px;display:flex}.gacha-bonus .gacha-card{width:92px}.gacha-card{aspect-ratio:3/4;perspective:600px;background:0 0;border:none;width:100%;padding:0;animation:.4s cubic-bezier(.2,1.3,.4,1) both card-deal;position:relative}.gacha-card:disabled{opacity:1;cursor:default}.gacha-card.big{aspect-ratio:5/7}@keyframes card-deal{0%{opacity:0;transform:translateY(-60px)rotate(-10deg)scale(.6)}}.card-inner{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.3,1.2,.5,1);position:absolute;inset:0}.gacha-card.front .card-inner{transform:rotateY(180deg)}.card-back,.card-front{backface-visibility:hidden;text-align:center;color:#fff;border:3px solid #b8c0e0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px;font-size:11px;display:flex;position:absolute;inset:0}.card-back{background:repeating-linear-gradient(45deg,#ffffff0f 0 6px,#0000 6px 12px),linear-gradient(160deg,#4a5a9a,#22284e)}.gacha-card:not(:disabled):hover .card-back{border-color:#fff;transform:translateY(-3px)}.card-back .pack-star{font-size:28px}.gacha-card.big .card-back .pack-star{font-size:56px}.card-front{background:linear-gradient(#2a2440,#14101e);transform:rotateY(180deg)}.card-front strong{font-size:11px}.gacha-card.big .card-front strong{font-size:15px}.card-front .gacha-coupon{line-height:1.4}.card-light{mix-blend-mode:screen;opacity:0;pointer-events:none;background:radial-gradient(circle, var(--glow) 0, transparent 65%);border-radius:50%;position:absolute;inset:-55%}.gacha-card.glow .card-light{animation:.42s ease-out both card-flash}.gacha-card.glow .card-inner{animation:.42s both card-shake}@keyframes card-flash{50%{opacity:1;transform:scale(1.3)}to{opacity:.6}}@keyframes card-shake{25%{transform:rotate(-3deg)scale(1.05)}75%{transform:rotate(3deg)scale(1.05)}}.gacha-card.gold{--glow:#ffd250f2}.gacha-card.purple{--glow:#b46efff2}.gacha-card.green{--glow:#6ae86af2}.gacha-card.rainbow{--glow:#fffffff2}.gacha-card.rainbow .card-light{filter:blur(14px);background:conic-gradient(#ff5a5a,#ffd860,#6ad86a,#5ac8ff,#a05aff,#ff5ad8,#ff5a5a)}.gacha-card.front .card-front{box-shadow:0 0 14px var(--glow);border-color:var(--glow)}.gacha-card.rainbow.front .card-front{border-image:linear-gradient(90deg,#ff5a5a,#ffd860,#6ad86a,#5ac8ff,#a05aff) 1;animation:1.2s linear infinite rainbow-glow}@keyframes rainbow-glow{0%{box-shadow:0 0 18px #ff5a5a}33%{box-shadow:0 0 18px #6ad86a}66%{box-shadow:0 0 18px #5ac8ff}to{box-shadow:0 0 18px #ff5ad8}}.gacha-card.rainbow.front .card-light{opacity:.45;animation:3s linear infinite rainbow-spin}@keyframes rainbow-spin{to{transform:rotate(360deg)}}.gacha-stage-buttons{gap:10px;display:flex}.gacha-stage-buttons button{width:auto}@media (width<=520px){.gacha-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%}.card-front strong{font-size:9px}}.lobby-canvas{z-index:0;width:100vw;height:100vh;image-rendering:pixelated;filter:brightness(.55)saturate(.9);position:fixed;inset:0}.lobby-canvas.play{filter:none;touch-action:none}.title-screen{z-index:1;position:relative}.lobby-button{left:max(12px, env(safe-area-inset-left));bottom:max(12px, env(safe-area-inset-bottom));z-index:2;border-color:var(--accent);color:var(--accent);background:#14121cd9;align-items:center;gap:6px;padding:10px 16px;display:flex;position:fixed}.lobby-mode .lobby-exit{top:max(12px, env(safe-area-inset-top));z-index:2;background:#14121cd9;position:fixed;left:12px}.lobby-help{top:max(14px, env(safe-area-inset-top));z-index:2;color:var(--muted);background:#14121cb3;margin:0;padding:4px 8px;font-size:12px;position:fixed;right:12px}.lobby-enter{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:2;padding:12px 24px;font-size:16px;animation:.9s ease-in-out infinite alternate lobby-bob;position:fixed;transform:translate(-50%)}@keyframes lobby-bob{to{transform:translate(-50%,-4px)}}.lobby-preview{aspect-ratio:336/208;width:100%;image-rendering:pixelated;border:2px solid #000}.lobby-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.mini-backdrop{z-index:10}.mini-game{width:auto;max-width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:8px;overflow:auto}.mini-body{width:540px}.mini-head{justify-content:space-between;align-items:center;display:flex}.mini-head h2{color:var(--accent);margin:0}.lobby-hall-title{color:#ffe8a0;pointer-events:none;background:#140e24bf;border:1px solid #e0b040;border-radius:8px;margin:0;padding:4px 14px;font-weight:700;position:absolute;top:10px;left:50%;transform:translate(-50%)}.lobby-exhibit{color:#e8f4ff;pointer-events:none;background:#140e24d9;border:1px solid #8ad070;border-radius:8px;max-width:min(360px,100vw - 32px);padding:8px 12px;font-size:13px;position:absolute;bottom:56px;left:50%;transform:translate(-50%)}.lobby-exhibit p{opacity:.85;margin:4px 0 0}.record-book{color:#f4ead0;background:linear-gradient(#2a1a12,#160e0a);border:2px solid #e0b040;width:min(560px,100vw - 32px)}.record-book h3{color:#ffe8a0;text-align:center;text-shadow:0 0 10px #ffd04080;margin:0;font-size:1.4em}.record-sub{text-align:center;opacity:.75;margin:4px 0 10px;font-size:.85em}.record-row{background:#00000040;border:1px solid #6a4a20;border-radius:8px;margin-bottom:10px;padding:10px 12px}.record-row.locked{opacity:.7}.record-row.done{border-color:#8ad070;box-shadow:0 0 10px #8ad07059}.record-row header{justify-content:space-between;gap:8px;display:flex}.record-row header b{color:#ffd56a;font-size:1.1em}.record-row p{opacity:.85;margin:4px 0;font-size:.9em}.record-goal{justify-content:space-between;margin-top:6px;font-size:.9em;display:flex}.record-goal strong{color:#8ad070}.record-bar{background:#2a1a10;border-radius:4px;height:8px;margin:4px 0;overflow:hidden}.record-bar i{background:linear-gradient(90deg,#5ab05a,#c8f080);height:100%;display:block}.record-reward{opacity:.8;line-height:1.4}.mg{flex-direction:column;align-items:center;gap:10px;display:flex}.mg-rule,.mg-note{color:var(--muted);text-align:center;margin:0;font-size:13px}.mg-sum{margin:0}.mg-sum b{color:var(--accent);font-size:18px}.mg-sum b.bad{color:var(--bad)}.mg-sum b.good{color:var(--ok)}.mg-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.mg-row.pad button{min-width:48px;font-size:18px}.mg-result{font-size:18px}.mg-result.win{color:var(--ok)}.mg-result.lose{color:var(--bad)}.mg-hand{align-items:center;gap:6px;min-height:52px;display:flex}.mg-hand>span:first-child{width:64px;color:var(--muted);font-size:13px}.card{color:#2a2030;background:#fbf8f0;border:2px solid #000;border-radius:4px;justify-content:center;align-items:center;width:34px;height:48px;font-size:18px;font-weight:700;display:inline-flex;box-shadow:2px 2px #0006}.card.red{color:#d0283a}.card small{margin-left:1px;font-size:12px}.card.back{color:#fff;background:repeating-linear-gradient(45deg,#6a3aa0 0 4px,#4a2a80 4px 8px)}.card.small{width:14px;height:20px;box-shadow:none;border-width:1px}.card.pick{cursor:pointer;padding:0}.card.pick:hover{transform:translateY(-4px)}.card.joker{background:#ffe8f0}.card.big{width:64px;height:90px;font-size:34px}.tile-table{background:#1a3a2a;border:2px solid #000;flex-wrap:wrap;gap:6px;width:100%;min-height:40px;padding:6px;display:flex}.meld{background:0 0;border:1px dashed #0000;gap:1px;padding:2px;display:flex}.meld.can{border-color:var(--accent)}.tile-hand{flex-wrap:wrap;justify-content:center;gap:3px;display:flex}.tile{background:#f4ecd8;border:1px solid #8a7a5a;border-radius:3px;justify-content:center;align-items:center;width:24px;height:32px;padding:0;font-size:15px;font-weight:700;display:inline-flex}button.tile.sel{outline:2px solid var(--accent);transform:translateY(-6px)}.apple-canvas,.blocks-canvas{touch-action:none;border:2px solid #000;max-width:100%}.apple-canvas{width:100%}.blocks-canvas{height:340px;image-rendering:pixelated}.joker-seats{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.seat{border:2px solid var(--line);background:var(--panel);flex-direction:column;gap:4px;padding:6px;font-size:13px;display:flex}.seat.turn{border-color:var(--accent)}.seat-cards{flex-wrap:wrap;gap:2px;max-width:220px;display:flex}.seat.mine .seat-cards{max-width:100%}.mg-bet{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.mg-bet button.active{border-color:var(--accent);color:var(--accent)}.mg-chips b{color:var(--accent)}.slot-reels{background:#2a1a10;border:3px solid #d8a040;gap:8px;padding:10px;display:flex}.reel{color:#c8283a;background:#fbf8f0;border:2px solid #000;justify-content:center;align-items:center;width:64px;height:72px;font-size:38px;font-weight:700;display:inline-flex}.reel.spin{filter:blur(1px)}.dice-row{align-items:center;gap:8px;display:flex}.die{font-size:52px;line-height:1}@keyframes die-shake{to{transform:rotate(12deg)translateY(-3px)}}.mp-tabs{justify-content:center;gap:6px;margin-bottom:8px;display:flex}.mp-tabs button.active{border-color:var(--accent);color:var(--accent)}.mp-code{text-align:center;letter-spacing:3px;text-transform:uppercase;width:120px}.mp-room b{color:var(--accent);letter-spacing:2px}.mp-timer{color:var(--accent)}.mp-seats{margin:0;padding-left:18px}.mp-others{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px;font-size:13px;display:flex}.mp-others .turn,.bj-seat.turn{color:var(--accent)}.bj-seat{align-items:center;gap:8px;display:flex}.bj-seat.mine .mg-hand>span:first-child{color:var(--accent)}.meld .tile{cursor:pointer}.meld-add{min-width:20px;color:var(--accent);padding:0 4px;font-weight:700}.card.got{outline:3px solid var(--accent);transform:translateY(-6px)}.card.pairable{cursor:pointer;padding:0}.pet-shop{min-width:300px}.pet-chips{margin:0 0 6px;font-size:13px}.pet-chips small{opacity:.75}.pet-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.pet-row{background:#14101e99;border:1px solid #3a3450;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.pet-row.on{border-color:#ff9ac8;box-shadow:inset 0 0 0 1px #ff9ac8}.pet-portrait{width:48px;height:42px;image-rendering:pixelated;flex:none}.pet-text{flex:1;font-size:12px;display:grid}.pet-text small{opacity:.8}.pet-row button{min-width:96px;font-size:12px}.mg.blackjack,.mg.hilo,.mg.dice,.mg.joker,.mg.slots{background:radial-gradient(at 50% 30%,#2f7a4a 0%,#1d5634 60%,#143e26 100%);border:3px solid #5a3a1a;border-radius:14px;padding:12px 14px;box-shadow:inset 0 0 0 2px #c8a050,inset 0 0 24px #0008}.mg.slots{background:radial-gradient(at 50% 30%,#6a2a4a 0%,#3e1830 70%,#26101e 100%)}.mg.blackjack .mg-note,.mg.hilo .mg-note,.mg.dice .mg-note,.mg.joker .mg-note,.mg.slots .mg-note{color:#d8e8d8}.mg-result{background:#0008;border-radius:999px;padding:2px 14px;animation:.35s ease-out mg-pop}@keyframes mg-pop{0%{opacity:0;transform:scale(1.8)}}.pcard{color:#22202a;background:linear-gradient(160deg,#fffdf6 0%,#f1ead8 100%);border:1px solid #2a2030;border-radius:6px;width:44px;height:62px;animation:.3s ease-out pcard-in;display:inline-block;position:relative;box-shadow:0 2px #0006,0 4px 8px #0004}.pcard.red{color:#d0283a}.pcard.big{width:76px;height:106px}.pc-top,.pc-bot{flex-direction:column;align-items:center;font-size:12px;line-height:1;display:flex;position:absolute}.pc-top{top:3px;left:4px}.pc-bot{bottom:3px;right:4px;transform:rotate(180deg)}.pc-top i,.pc-bot i{font-size:10px;font-style:normal}.pc-mid{justify-content:center;align-items:center;font-size:24px;font-style:normal;display:flex;position:absolute;inset:0}.pcard.face .pc-mid{background:repeating-linear-gradient(135deg,#0000 0 4px,#0000000d 4px 6px);border:1px solid;border-radius:3px;margin:12px 9px;font-size:18px;font-weight:800}.pcard.big .pc-top,.pcard.big .pc-bot{font-size:18px}.pcard.big .pc-mid{font-size:44px}.pcard.big.face .pc-mid{margin:20px 14px;font-size:30px}.pcard.back{background:radial-gradient(circle,#ffd860 0 5px,#0000 6px),repeating-linear-gradient(45deg,#7a3ab0 0 4px,#5a2a90 4px 8px);box-shadow:inset 0 0 0 3px #fff,0 2px #0006}@keyframes pcard-in{0%{opacity:0;transform:translateY(-14px)rotateY(90deg)}}.mg-hand{color:#fff;gap:4px}.hilo-card{align-items:center;gap:10px;display:flex}.hilo-trail{opacity:.8;gap:3px;display:flex}.hilo-trail b{color:#222;background:#fff;border-radius:3px;padding:2px 5px;font-size:12px}.die{background:linear-gradient(145deg,#fff,#e2dccc);border-radius:10px;grid-template-columns:repeat(3,1fr);width:48px;height:48px;padding:6px;font-size:0;display:inline-grid;box-shadow:inset -3px -3px #0002,0 3px #0005}.die i{border-radius:50%;width:9px;height:9px;margin:auto;display:block}.die i.pip{background:#222}.die.one i.pip{background:#d0283a;width:13px;height:13px}.dice-sum{color:#ffd860;text-align:center;background:#0008;border-radius:8px;min-width:44px;padding:4px 8px;font-size:22px;font-weight:800}.dice-row.rolling .die{animation:.16s infinite alternate die-roll}@keyframes die-roll{to{transform:rotate(18deg)translateY(-6px)}}.slot-reels{background:linear-gradient(#1a0a14,#3a1a28);border-radius:10px;box-shadow:inset 0 0 12px #000}.reel{background:linear-gradient(#d8d2c4,#fffdf6 30% 70%,#d8d2c4);border-radius:6px;overflow:hidden}.reel i{font-style:normal}.reel.spin i{filter:blur(2px);animation:70ms linear infinite reel-roll}.reel.seven{color:#e8283a;text-shadow:2px 2px #ffd860}@keyframes reel-roll{0%{transform:translateY(-40%)}to{transform:translateY(40%)}}.slot-reels.won{animation:.4s ease-in-out 4 alternate slot-win}@keyframes slot-win{to{box-shadow:inset 0 0 12px #000,0 0 24px #ffd860}}.candy-time{background:linear-gradient(90deg,#ff8ab0,#ffe45a);border-radius:2px;align-self:stretch;height:4px;transition:width 1s linear;display:block}.apple-canvas{border:3px solid #3a1e0e;border-radius:8px;box-shadow:0 4px #0006}.mg.tiles{background:radial-gradient(at 50% 30%,#2a5a7a 0%,#1a3e58 70%,#10283c 100%);border:3px solid #5a3a1a;border-radius:14px;padding:12px 14px;box-shadow:inset 0 0 0 2px #c8a050,inset 0 0 24px #0008}.mg.tiles .mg-rule,.mg.tiles .mg-note{color:#d8e4f0}.tile-table{background:#0f2a3c88;border-color:#c8a05088;border-radius:8px}.tile{background:linear-gradient(160deg,#fffaf0,#eadfc4);border:1px solid #b8a880;border-radius:5px;width:28px;height:38px;font-size:16px;box-shadow:0 3px #8a7a5a,0 4px 6px #0005}button.tile.sel{transform:translateY(-8px);box-shadow:0 3px #8a7a5a,0 0 10px #ffd860}.card{background:linear-gradient(160deg,#fffdf6 0%,#f1ead8 100%);border:1px solid #2a2030;border-radius:6px;box-shadow:0 2px #0006,0 3px 6px #0004}.card.back{background:radial-gradient(circle,#ffd860 0 3px,#0000 4px),repeating-linear-gradient(45deg,#7a3ab0 0 4px,#5a2a90 4px 8px);box-shadow:inset 0 0 0 2px #fff,0 2px #0006}.card.pairable{outline:2px solid #ffd860;animation:.8s ease-in-out infinite alternate card-glow}@keyframes card-glow{to{transform:translateY(-3px)}}.seat{color:#e8e8f0;background:#0006;border-radius:8px}.badge.linked{background:var(--ok);color:#1a1422}.badge.linking{background:var(--line);color:var(--muted)}.coop-wait{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:16px;display:flex}.coop-banner{z-index:30;background:var(--panel);border:2px solid var(--bad);max-width:calc(100vw - 32px);color:var(--text);align-items:center;gap:12px;padding:10px 14px;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%)}.coop-party{z-index:20;pointer-events:none;flex-direction:column;gap:6px;max-width:min(240px,100vw - 16px);font-size:12px;display:flex;position:fixed;top:52px;left:8px}.coop-party ul{background:#100c18b3;border-radius:6px;margin:0;padding:6px 8px;list-style:none}.coop-party li{grid-template-columns:8px minmax(0,1fr) 60px 44px;align-items:center;gap:6px;line-height:18px;display:grid}.coop-party li.me .name{font-weight:700}.coop-party li.down{opacity:.6}.coop-party .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.coop-party .bar{background:#3a2a3a;border-radius:3px;height:6px;overflow:hidden}.coop-party .bar span{background:#e05a5a;height:100%;display:block}.coop-party .tag{text-align:right;color:var(--muted,#aaa);font-size:11px}.coop-party .tag.slow{color:#ffb050}.coop-party .dot,.coop-stats .dot{border-radius:50%;width:8px;height:8px;display:inline-block}.coop-signals{pointer-events:auto;flex-wrap:nowrap;gap:4px;display:flex}.coop-signals button{white-space:nowrap;opacity:.75;padding:2px 5px;font-size:11px}.coop-signals kbd{opacity:.6;font-size:10px}.coop-stats{border-collapse:collapse;width:100%;margin:8px 0;font-size:13px}.coop-stats th,.coop-stats td{text-align:right;padding:3px 6px}.coop-stats th:first-child,.coop-stats td:first-child{text-align:left}.coop-back{z-index:30;color:#fff;background:#14121ed9;border-radius:8px;padding:6px 12px;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.character-item{position:relative}.card-medals{grid-template-columns:repeat(2,30px);gap:3px;display:grid;position:absolute;top:12px;right:12px}.medal-slot{background:#14101e59;border:1px dashed #a8a0c040;place-items:center;width:30px;height:32px;padding:0;display:grid}.medal-slot.filled{background:radial-gradient(circle at 50% 45%,#e8b0304d,#14101eb3 70%);border:1px solid #e8b030cc;box-shadow:0 0 6px #e8b03066}.medal-slot.filled:hover{transform:translateY(-1px)scale(1.08)}.medal-art{filter:drop-shadow(0 2px 2px #00000080);overflow:visible}.medal-shine{animation:3.2s ease-in-out infinite medal-shine}@keyframes medal-shine{0%,70%{opacity:0}80%{opacity:.35}to{opacity:0}}.medal-head{align-items:center;gap:16px;margin-bottom:8px;display:flex}.medal-head dl{grid-template-columns:auto auto;gap:4px 12px;margin:0;display:grid}.medal-head dt{color:var(--muted,#a8a0c0)}.medal-head dd{margin:0;font-weight:700}.medal-change,.medal-remove{width:100%;margin-top:10px}.medal-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.medal-choice{flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.medal-choice.worn{outline:2px solid #e8b030}.medal-choice em{color:#e8b030;font-size:11px;font-style:normal}.select-top{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.taboo-open{padding:8px 18px}.taboo-book{width:min(760px,100%)}.taboo-total{z-index:1;background:#1a1524;border:1px solid #f2c14e66;border-radius:6px;align-items:baseline;gap:8px;margin:6px 0 10px;padding:8px 10px;display:flex;position:sticky;top:-1px}.taboo-total b{font-size:28px}.taboo-total small{color:var(--muted)}.taboo-total button{margin-left:auto}.taboo-group h3{color:var(--muted);margin:12px 0 6px;font-size:14px}.taboo-group ul{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.taboo-row{border:1px solid #a8a0c033;border-radius:6px;align-items:center;gap:6px;padding:4px 6px;display:flex}.taboo-row.on{background:#78142840;border-color:#c83c50cc}.taboo-main{text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;padding:4px 6px;display:flex}.taboo-main strong,.taboo-main small{width:100%}.taboo-main small{color:var(--muted);margin-left:0;font-size:12px}.taboo-pts{color:#ff7a8a;font-size:13px;font-weight:700}.taboo-count{align-items:center;gap:2px;display:flex}.taboo-count button{width:28px;padding:2px 0}.taboo-count b{text-align:center;min-width:30px;font-size:13px}.taboo-tier-1{color:#f0b080}.taboo-tier-2{color:#dfe4f0}.taboo-tier-3{color:#ffd040}.taboo-tier-4{color:#c890ff}.taboo-tier-5{color:#ff7030;text-shadow:0 0 6px #ff602099}.taboo-tier-6{color:#fff;text-shadow:0 0 6px #ff40c0,0 0 10px #40c0ff}.medal-rays{transform-origin:50px 62px;animation:12s linear infinite medal-rays}@keyframes medal-rays{to{transform:rotate(360deg)}}.medal-flames{transform-origin:50px 108px;animation:.9s ease-in-out infinite alternate medal-flames}@keyframes medal-flames{to{transform:scale(1.04,1.08)}}@media (prefers-reduced-motion:reduce){.medal-rays,.medal-flames{animation:none}}.swarm-hud{z-index:2;pointer-events:none;text-shadow:0 1px #000;flex-direction:column;align-items:center;gap:3px;display:flex;position:fixed;top:52px;left:50%;transform:translate(-50%)}.swarm-top{color:#fff;gap:12px;font-size:14px;font-weight:700;display:flex}.swarm-time{color:#ffe08a}.swarm-xp{background:#0000008c;border:1px solid #000;width:min(320px,70vw);height:5px}.swarm-xp span{background:linear-gradient(90deg,#3ac8ff,#6ae88a);height:100%;transition:width .2s;display:block}.swarm-slots{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;display:flex}.swarm-gap{width:8px}.swarm-slot{background:#0a0814b3;border:1px solid #5a5470;padding:1px;display:inline-flex;position:relative}.swarm-slot.evo{border-color:#ffd84a;box-shadow:0 0 6px #ffd84a}.swarm-slot small{color:#fff;font-size:10px;font-weight:700;position:absolute;bottom:-2px;right:1px}.swarm-note{color:#ffe08a;background:#0000008c;margin:4px 0 0;padding:2px 10px;font-size:14px;font-weight:700;animation:.6s ease-in-out infinite alternate swarm-note}@keyframes swarm-note{to{color:#fff}}.swarm-levelup .modal{width:min(720px,100%);max-width:720px}.swarm-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.swarm-card{text-align:left;white-space:normal;flex-direction:column;align-items:stretch;gap:6px;min-width:0;padding:10px;display:flex;position:relative}.swarm-card.weapon{border-color:#e8b030}.swarm-card.passive{border-color:#8a6aff}.swarm-card-head{align-items:center;gap:6px;min-width:0;display:flex}.swarm-card-head .item-icon{flex:none}.swarm-card-head strong{flex:1;min-width:0}.swarm-lv{letter-spacing:1px;color:#ffd84a;background:#00000059;align-self:flex-start;padding:0 6px;font-size:12px}.swarm-lv.new{color:#2a1a00;background:#8ae88a;font-weight:700}.swarm-kind{color:#2a1a00;background:#e8b030;padding:0 6px;font-size:11px;font-weight:700;position:absolute;top:-9px;left:8px}.swarm-kind.passive{color:#fff;background:#8a6aff}.swarm-card .swarm-skill{color:#8ad8ff}.swarm-lvup-title{color:#ffe08a;text-shadow:0 0 8px #ffd84a99}.swarm-lvup-title span{color:#fff;font-size:.7em}.swarm-allmax{color:#8ae88a}.swarm-card.heal,.swarm-card.gold,.swarm-card.might{text-align:center;border-color:#8ae88a;align-items:center}.swarm-bonus-icon{font-size:32px;line-height:1.1}.swarm-card{transition:transform .12s,box-shadow .12s}.swarm-card:hover,.swarm-card:focus-visible{transform:translateY(-3px);box-shadow:0 4px 14px #ffd84a59}.swarm-card small{color:var(--muted);font-size:12px}.swarm-card .swarm-combo{color:#ffd84a}.swarm-card kbd{opacity:.5;font-size:10px;position:absolute;top:2px;right:4px}.swarm-result .swarm-slots{margin:8px 0}@media (width<=600px){.swarm-cards{grid-template-columns:1fr}.swarm-hud{top:44px}}.swarm-endless{color:#ff8aff}.swarm-event{color:#ffe08a;background:#28140acc;border:1px solid #ffd84a;margin:2px 0 0;padding:2px 10px;font-size:13px;font-weight:700}.swarm-event.ring{border-color:#ff6a6a}.swarm-event.rescue{color:#c8f0ff;border-color:#6ad8ff}.swarm-ask p,.swarm-coins{color:#ffe08a}.swarm-preview{width:192px;height:120px;image-rendering:pixelated;border:1px solid #000}.td-map-card.picked{outline:2px solid #ffd84a}.swarm-cleared{color:#8ae88a;letter-spacing:2px}.swarm-levels{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:12px;display:flex}.swarm-level{flex-direction:column;gap:2px;min-width:110px;display:flex}.swarm-level.lv1{border-color:#ff9a3a}.swarm-level.lv2{color:#ffb0b0;border-color:#e03a3a}.swarm-levelup .swarm-cards{margin-top:10px}.swarm-levelup .swarm-card{padding-top:14px}.swarm-hud .swarm-slot{pointer-events:auto;cursor:help}.swarm-tip-pips{color:#ffd84a;letter-spacing:1px}.item-tip .swarm-combo{color:#ffd84a}.item-tip .swarm-skill{color:#8ad8ff}.pw-preview{object-fit:contain;width:100%;height:auto;max-height:150px;image-rendering:pixelated;background:#1a1820;border-radius:4px}.pw-diff{color:#101014;background:#8ad06a;border-radius:8px;margin-left:6px;padding:1px 6px;font-size:11px;font-style:normal}.pw-diff.pwNormal{background:#e0c860}.pw-diff.pwHard{background:#f08a40}.pw-diff.pwBrutal{color:#fff;background:#c02a3a}.pw-reward{color:#ffd860}.pw-prep{max-width:760px;height:100dvh;padding:max(12px, env(safe-area-inset-top)) 16px 16px;flex-direction:column;gap:8px;margin:0 auto;display:flex}.pw-prep h2{color:var(--accent);margin:4px 0 0}.pw-prep .hint{color:var(--muted);margin:0;font-size:13px}.pw-chosen{flex-wrap:wrap;gap:4px;min-height:30px;display:flex}.pw-chosen-slot{background:#00000059;border:1px solid #4a4658;border-radius:4px;place-items:center;width:30px;height:30px;display:grid}.pw-chosen-slot.weapon{border-color:#ffd860}.pw-chosen-slot.use{border-color:#5ab0ff}.pw-note{color:#ff8a8a;margin:0;font-size:13px}.pw-hud{z-index:2;pointer-events:none;text-shadow:0 1px #000;white-space:nowrap;flex-direction:column;align-items:center;gap:3px;display:flex;position:fixed;top:52px;left:50%;transform:translate(-50%)}.pw-watch{color:#fff;background:#1e3c6ebf;border-radius:8px;padding:2px 10px;font-size:13px}.pw-chips{color:#ffd860;font-size:18px;font-weight:700}@media (width<=600px){.pw-hud{top:44px}}.pw-board-btn{pointer-events:auto;opacity:.85;padding:2px 8px;font-size:11px}.pw-board{z-index:5;background:#0e0c14eb;border-radius:8px;flex-wrap:wrap;justify-content:center;gap:8px;max-width:min(960px,96vw);max-height:80vh;padding:10px;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal.pw-result{width:min(1100px,96vw)}.pw-result .pw-board{background:0 0;max-width:none;max-height:40vh;margin:8px 0;position:static;transform:none}.pw-board table{border-collapse:collapse;color:#e8e4f0;font-size:12px}.pw-board caption{color:#ffd860;padding:2px;font-weight:700}.pw-board table.ours caption{color:#5ab0ff}.pw-board table.theirs caption{color:#ff7a7a}.pw-board th,.pw-board td{text-align:left;white-space:nowrap;border-bottom:1px solid #2c2838;padding:2px 6px}.pw-board tr.me td{background:#ffd8601f}.pw-board tr.out td{opacity:.45}.pw-gear{white-space:normal;flex-wrap:wrap;gap:1px;max-width:300px;display:flex}.pw-gear span{display:inline-flex;position:relative}.pw-gear span.use{outline:1px solid #5ab0ff}.pw-gear i{color:#ffd860;font-size:9px;font-style:normal;position:absolute;bottom:-3px;right:-2px}.pw-room{background:#0000004d;border:1px solid #4a4658;border-radius:8px;max-width:760px;margin:8px auto 0;padding:8px 12px}.pw-room h3{color:var(--accent);margin:0 0 6px}.pw-room-modes{flex-wrap:wrap;gap:4px;display:flex}.pw-room-modes button.on{color:#ffd860;border-color:#ffd860}.pw-room-prep{z-index:20;background:var(--bg,#121018);position:fixed;inset:0;overflow-y:auto}.pw-watch-click{z-index:2;cursor:pointer;justify-content:center;align-items:flex-end;padding-bottom:18px;display:flex;position:fixed;inset:56px 0 0}.pw-watch-click span{color:#fff;pointer-events:none;background:#1e3c6ecc;border-radius:8px;padding:4px 12px;font-size:13px}.pw-bo3{color:#1a1622;background:#ffd860;border-radius:4px;margin-left:4px;padding:0 5px;font-size:10px;font-style:normal}.pw-maps{max-width:900px;margin:0 auto}.pw-map-list{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0;display:flex}.pw-map-card{flex-direction:column;align-items:center;gap:4px;width:150px;padding:6px;display:flex}.pw-map-card .pw-preview{max-width:136px;max-height:86px}.pw-map-card.on{color:#ffd860;border-color:#ffd860}.pw-map-card.random{justify-content:center}.pw-map-dice{font-size:34px}.pw-score{background:#0a0810c7;border:1px solid #ffffff2e;border-radius:10px;align-items:stretch;gap:4px;padding:2px 5px;display:flex;box-shadow:0 2px 8px #00000080}.pw-score.ffa{color:#fff;align-items:center;gap:8px;font-size:12px}.pw-score strong{color:#ffd860}.pw-side{border-radius:5px;flex-direction:column;align-items:center;min-width:56px;padding:0 5px;display:flex}.pw-side.ours{color:#8cc8ff;background:linear-gradient(#4aa8ff59,#4aa8ff14)}.pw-side.theirs{color:#ff8a8a;background:linear-gradient(#ff3c3c59,#ff3c3c14)}.pw-side small{font-size:9px;font-weight:700}.pw-side b{color:#fff;font-size:17px;line-height:1}.pw-dots{gap:3px;margin:3px 0 2px;display:flex}.pw-dots i{border:1px solid;border-radius:50%;width:6px;height:6px}.pw-side.ours .pw-dots i.on{background:#4aa8ff}.pw-side.theirs .pw-dots i.on{background:#ff3c3c}.pw-dots i.wait{opacity:.7}.pw-dots i.out{opacity:.3;border-style:dashed}.pw-sub{color:#f0ecf8;background:#0a081099;border-radius:5px;padding:0 6px;font-size:11px}.pw-kd{color:#ffd860;font-weight:700}.pw-target{color:#fff;background:#780a10bf;border:1px solid #ff3c3c;border-radius:6px;padding:1px 8px;font-size:11px;font-weight:700;animation:1s ease-in-out infinite alternate pw-pulse}@keyframes pw-pulse{to{box-shadow:0 0 10px #ff3c3ccc}}.pw-hud{flex-direction:row;align-items:center;gap:4px}.pw-hud .pw-score{align-items:center;padding:1px 4px}.pw-hud .pw-side{flex-direction:row;align-items:center;gap:4px;min-width:0;padding:0 5px}.pw-hud .pw-side.theirs{flex-direction:row-reverse}.pw-hud .pw-side b{font-size:14px}.pw-hud .pw-dots{margin:0}.pw-vs{color:#fff;font-size:11px;font-style:normal;font-weight:700}.pw-hud .pw-sub,.pw-hud .pw-target,.pw-hud .pw-board-btn{line-height:18px}.pw-hud .pw-watch{margin-top:4px;position:absolute;top:100%}.pw-cap{z-index:2;pointer-events:none;justify-content:center;align-items:center;gap:6px;margin:2px 0;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%)}.pw-cap-bar{background:#0a0810bf;border:1px solid #3a3444;width:110px;height:10px;position:relative}.pw-cap-bar i{background:#5ab0ff;position:absolute;inset:0 auto 0 0}.pw-cap-bar.theirs i{background:#ff5a5a;inset:0 0 0 auto}.pw-cap-bar b{text-align:center;color:#fff;text-shadow:0 1px 1px #000;font-size:8px;line-height:10px;display:block;position:relative}.pw-cap small{text-align:center;color:#d8d0e8;min-width:64px;font-size:10px}.pw-cap .pwCapOurs{color:#8ac8ff}.pw-cap .pwCapTheirs{color:#ff8a8a}.pw-cap .pwCapContest{color:#f2d040}.pw-minimap{z-index:3;image-rendering:pixelated;pointer-events:none;border:2px solid #3a3444;border-radius:4px;position:fixed;bottom:64px;right:8px}.pw-bigmap{z-index:8;color:#fff;background:#100c1af5;border:2px solid #6af0a0;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.pw-bigmap-canvas{cursor:pointer;max-width:calc(100vw - 48px);max-height:70vh;image-rendering:pixelated}.pw-recall{color:#8ac8ff}.pw-war-news{z-index:6;white-space:nowrap;pointer-events:none;background:#0e0a16d9;border-radius:6px;padding:8px 16px;font-size:16px;font-weight:700;position:fixed;top:18%;left:50%;transform:translate(-50%)}.pw-war-news.ours{color:#ffe07a;border:2px solid #f2d040}.pw-war-news.theirs{color:#ff9a8a;border:2px solid #c04040}.pw-war-buffs{color:#ffd98a}.pw-bar{vertical-align:middle;background:#ffffff14;border-radius:3px;min-width:78px;height:14px;display:inline-block;position:relative}.pw-bar i{opacity:.45;background:currentColor;border-radius:3px;position:absolute;inset:0 auto 0 0}.pw-bar b{padding:0 4px;font-size:11px;line-height:14px;position:relative}.pw-stats-side{z-index:6;position:fixed;top:110px;left:8px}.pw-stats-side .stats-panel{font-size:13px;position:static}.pw-gearbar{z-index:3;background:#0a0810bf;border:1px solid #6a5aa0;border-radius:6px;gap:3px;padding:4px;display:flex;position:fixed;bottom:64px;left:8px}.pw-gearbar span{background:#ffffff0a;border:1px solid #3a3444;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pw-gearbar.hide{display:none}.pw-ping-feed{flex-direction:column;gap:2px;width:100%;font-size:13px;display:flex}.pw-ping-line{background:#0a081099;border-radius:4px;padding:1px 8px;animation:.25s ease-out pw-ping-in}.pw-ping-line.go,.pw-ping-line.attack{color:#9ad0ff}.pw-ping-line.danger{color:#ffb070}.pw-ping-line.boss{color:#ffe07a;font-weight:700}.pw-ping-hint{color:#8a84a0}@keyframes pw-ping-in{0%{opacity:0;transform:translateY(-4px)}}.pw-shop{z-index:7;color:#eee;background:#100c1af7;border:2px solid #6a5aa0;border-radius:12px;width:min(1040px,100vw - 24px);max-height:88vh;padding:14px 18px;font-size:15px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.pw-shop header,.pw-shop-detail header{align-items:center;gap:14px;font-size:22px;display:flex}.pw-shop header small{color:#a8a0c0;font-size:13px}.pw-shop header .ghost,.pw-shop-detail header .ghost{margin-left:auto;font-size:20px}.pw-shop h4,.pw-shop-detail h4{color:#c8b8ff;margin:14px 0 6px;font-size:17px}.pw-shop-gold{color:#f2d040;font-weight:700}.pw-shop-away{color:#ff9a8a;margin:6px 0;font-size:15px}.pw-shop-list,.pw-shop-rec,.pw-shop-parts{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px;display:grid}.pw-shop-item{text-align:left;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.pw-shop-item.dim{opacity:.55}.pw-shop-item.legend{border-color:#b48a30}.pw-shop-item.rec{background:linear-gradient(90deg,#3a2a10 0%,#1e1630 100%);border-color:#f2d040}.pw-shop-item.own{border-color:#5ad86a}.pw-shop-item span{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pw-shop-item b{font-size:16px}.pw-shop-item small{color:#c8c0d8;font-size:13px;line-height:1.3}.pw-shop-item small.why{color:#ffe07a}.pw-shop-item em{color:#f2d040;white-space:nowrap;font-size:15px;font-style:normal;font-weight:700}.pw-shop-item.part-fee{border:1px dashed #6a5aa0}.pw-shop-mine{flex-wrap:wrap;gap:6px;min-height:46px;display:flex}.pw-shop-mine button{padding:4px}.pw-shop-detail{z-index:8;background:#161024fc;border:2px solid #f2d040;border-radius:12px;width:min(720px,100vw - 32px);padding:16px 18px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #0009}.pw-shop-detail header{align-items:center;gap:12px;display:flex}.pw-shop-detail header span{flex-direction:column;flex:1;gap:4px;display:flex}.pw-shop-detail header b{color:#ffe07a;font-size:20px}.pw-shop-detail header small{color:#e0d8f0;font-size:14px}.pw-shop-make{width:100%;margin-top:12px;padding:10px;font-size:17px}.pw-gw{z-index:7;color:#eee;background:#100c1af7;border:2px solid #b48a30;border-radius:12px;width:min(760px,100vw - 24px);max-height:86vh;padding:14px 16px;font-size:15px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.pw-gw header{align-items:center;gap:12px;font-size:20px;display:flex}.pw-gw header small{color:#a8a0c0;font-size:13px}.pw-gw header .ghost{margin-left:auto}.pw-gw-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;margin:10px 0;display:grid}.pw-gw-cell,.pw-gw-empty{box-sizing:border-box;background:#ffffff0a;border:1px solid #3a3444;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:92px;margin:0;padding:6px 4px;display:flex}.pw-gw-cell small{text-align:center;color:#ddd;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;margin:0;font-size:11px;line-height:1.2;display:-webkit-box;overflow:hidden}.pw-gw-cell.on{border-color:#f2d040;box-shadow:0 0 8px #f2d04066}.pw-gw-cell.legend{border-color:#b48a30}.pw-gw-grid.bag-grid{grid-template-columns:repeat(5,1fr);gap:10px 6px;margin-top:16px}.pw-gw-slot{min-width:0;position:relative}.pw-gw-slot.vault>.pw-gw-cell,.pw-gw-slot.vault>.pw-gw-empty{background:radial-gradient(circle at 50% 40%,#f2d04029,#ffffff08 70%);border:2px solid #f2d040}.pw-gw-tag{z-index:1;white-space:nowrap;color:#1a1622;background:#f2d040;border-radius:6px;padding:0 6px;font-size:11px;font-style:normal;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.pw-gw-note{color:#a8a0c0;margin:0 0 8px;font-size:12px}.pw-gw-goods{font-size:28px}.pw-gw-info{background:#ffffff0f;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.pw-gw-info b{color:#ffe07a;font-size:17px}.pw-gw-act{gap:8px;margin-top:8px;display:flex}.pw-gw-craft{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:6px;display:grid}.pw-gw h4{color:#c8b8ff;margin:14px 0 6px}.pw-giga-bag{cursor:pointer}.pw-giga-bag span{border:1px solid #3a3444;border-radius:3px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.pw-league{width:min(1240px,100%)}.pw-league-champ{color:#f2d040;background:#28203ccc;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px;font-weight:700;display:flex}.pw-league-pick{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.pw-league-pick button{margin:0;padding:6px 12px}.pw-league-next{background:linear-gradient(90deg,#28468c73,#141022e6 30% 70%,#8c283273);border:2px solid #5ab0ff;border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:min(760px,100%);padding:14px 18px;display:grid;box-shadow:0 0 18px #5ab0ff40}.pln-team{flex-direction:column;align-items:center;gap:6px;font-size:15px;display:flex}.pln-mid{flex-direction:column;align-items:center;gap:6px;max-width:340px;display:flex}.pln-mid small{color:#f2d040;letter-spacing:.1em}.pln-mid em{color:#fff;text-shadow:0 0 10px #ff5a5a,0 0 18px #5ab0ff;font-size:30px;font-style:italic;font-weight:900}.lb-wrap{width:100%;padding:8px 0 14px;overflow-x:auto}.lb{background:radial-gradient(at 50% 45%,#f2d0401f,#0000 45%),linear-gradient(#1c162cf2,#0c0a14f2);border:1px solid #3a3050;border-radius:16px;grid-template-columns:repeat(3,minmax(138px,1fr)) minmax(170px,1.2fr) repeat(3,minmax(138px,1fr));gap:0 22px;min-width:1080px;padding:10px 16px;display:grid}.lb-col{flex-direction:column;display:flex}.lb-col h4{text-align:center;letter-spacing:.08em;color:#c8b8ff;margin:0 0 8px;font-size:13px}.lb-col-body{flex-direction:column;flex:1;justify-content:space-around;gap:10px;display:flex}.lb-pair{flex-direction:column;flex:1;justify-content:space-around;gap:10px;display:flex;position:relative}.lb-pair.two:after{content:"";pointer-events:none;border:2px solid #4a4064;width:11px;position:absolute;top:25%;bottom:25%}.lb-col.left .lb-pair.two:after{border-left:none;right:-13px}.lb-col.right .lb-pair.two:after{border-right:none;left:-13px}.lb-match{background:#ffffff0a;border:1px solid #3a3450;border-radius:8px;flex-direction:column;gap:2px;padding:5px;display:flex;position:relative}.lb-col.left .lb-match:after,.lb-col.right .lb-match:after{content:"";border-top:2px solid #4a4064;width:11px;position:absolute;top:50%}.lb-col.left .lb-match:after{right:-13px}.lb-col.right .lb-match:after{left:-13px}.lb-pair.two .lb-match:after{display:none}.lb-match.mine{border-color:#5ab0ff;box-shadow:0 0 10px #5ab0ff59}.lb-team{border-radius:5px;align-items:center;gap:6px;min-height:28px;padding:0 4px;font-size:12px;line-height:1.15;display:flex}.lb-team span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lb-team.mine span{color:#8ad0ff;font-weight:700}.lb-team.won{background:linear-gradient(90deg,#f2d04047,#0000)}.lb-team.won span{color:#ffe07a;font-weight:700}.lb-team b{color:#ffe07a}.lb-team.lost{opacity:.4;filter:grayscale(.8)}.lb-team.lost span{text-decoration:line-through}.lb-team.tbd{color:#6a6084}.lb-tbd{border:1px dashed #4a4064;border-radius:6px;place-items:center;height:26px;display:grid;flex:0 0 26px!important}.lb-mode{text-align:center;color:#9a90b0;font-size:10px}.lb-act{gap:4px;display:flex}.lb-act button{flex:1;margin:0;padding:3px 4px;font-size:11px}.lb-col.center{justify-content:center;align-items:stretch}.lb-col.center .lb-col-body{flex:0}.lb-col.center h4{color:#ffd860;text-shadow:0 0 8px #ffd86099;font-size:18px}.lb-trophy{text-align:center;filter:drop-shadow(0 0 12px #ffd860b3);font-size:54px;animation:2.4s ease-in-out infinite lb-trophy}@keyframes lb-trophy{50%{transform:translateY(-5px)scale(1.05)}}.lb-match.final{background:linear-gradient(#f2d0401f,#141022e6);border:2px solid #b48a30;padding:8px;box-shadow:0 0 16px #f2d0404d}.lb-match.final .lb-team{min-height:34px;font-size:14px}.team-emblem{filter:drop-shadow(0 1px 2px #0009);flex:none}.lc{z-index:60;cursor:pointer;background:radial-gradient(circle at 50% 45%,#5a3c0aeb,#0a0614f7 70%);place-items:center;animation:.5s ease-out lc-in;display:grid;position:fixed;inset:0;overflow:hidden}@keyframes lc-in{0%{opacity:0}}.lc-rays{background:repeating-conic-gradient(#ffd86021 0 8deg, transparent 8deg 20deg);pointer-events:none;width:180vmax;height:180vmax;animation:18s linear infinite lc-spin;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}@keyframes lc-spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.lc-firework{pointer-events:none;border-radius:50%;width:6px;height:6px;animation:2.4s ease-out infinite lc-boom;position:absolute;box-shadow:0 -60px,42px -42px,60px 0,42px 42px,0 60px,-42px 42px,-60px 0,-42px -42px,0 -30px #fff,30px 0 #fff,0 30px #fff,-30px 0 #fff}@keyframes lc-boom{0%{opacity:1;transform:scale(.1)}60%{opacity:1}to{opacity:0;transform:scale(1.4)}}.lc-confetti{pointer-events:none;width:8px;height:14px;animation:linear infinite lc-fall;position:absolute;top:-20px}@keyframes lc-fall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(110vh)rotate(720deg)}}.lc-body{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:16px;display:flex;position:relative}.lc-crest{animation:.9s cubic-bezier(.2,1.6,.4,1) both lc-pop;position:relative}.lc-crest .team-emblem{filter:drop-shadow(0 0 24px #ffd860e6)}.lc-cup{filter:drop-shadow(0 0 14px #ffd860e6);font-size:64px;animation:2s ease-in-out infinite lb-trophy;position:absolute;bottom:-10px;right:-34px}@keyframes lc-pop{0%{transform:scale(0)rotate(-20deg)}}.lc-title{background:linear-gradient(#fffbe0 0%,#ffd860 45%,#e08a10 100%);color:#0000;filter:drop-shadow(0 4px #6a3a00)drop-shadow(0 0 22px #ffc850cc);-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(36px,7vw,84px);font-weight:900;line-height:1.1;animation:.8s cubic-bezier(.2,1.4,.4,1) .3s both lc-title,1.6s ease-in-out 1.1s infinite lc-glow}@keyframes lc-title{0%{opacity:0;transform:scale(2.4)}}@keyframes lc-glow{50%{filter:drop-shadow(0 4px #6a3a00)drop-shadow(0 0 36px #ffe68c)}}.lc-sub{color:#fff2c8;max-width:640px;margin:0;font-size:17px;animation:.6s 1s both lc-in}.lc-close{color:#ffffff8c;animation:.6s 1.6s both lc-in}.shop-archive{flex-direction:column;align-items:center;gap:12px;display:flex}.archive-banner{background:radial-gradient(circle at 22% 50%, #ffb43c59, transparent 40%), repeating-conic-gradient(from 0deg at 22% 50%, #ffdc7814 0 6deg, transparent 6deg 18deg), linear-gradient(135deg, #14101c, #241a2c 60%, #120c16);border:2px solid #ffb84a;border-radius:14px;align-items:center;gap:18px;width:min(720px,100%);padding:16px 20px;display:flex;position:relative;overflow:hidden;box-shadow:0 0 22px #ffa0284d}.archive-banner .limited-badge{position:absolute;top:10px;right:12px}.archive-art{filter:drop-shadow(0 0 14px #ffbe50b3);flex:none}.archive-art .skin-preview,.archive-hit .skin-preview{background:0 0;border:none}.archive-text{flex-direction:column;gap:6px;display:flex}.archive-text small{color:#ffb84a;letter-spacing:.1em}.archive-text strong{color:#fff4d8;text-shadow:0 0 10px #ffbe50cc;font-size:26px}.archive-text p{color:#e8dcc8;margin:0;font-size:13px;line-height:1.5}.archive-owned{color:#8aff9a}.archive-result{z-index:60;cursor:pointer;background:#08060ee6;align-content:center;place-items:center;gap:12px;display:grid;position:fixed;inset:0}.archive-result small{color:#ffffff80}.archive-hit{flex-direction:column;align-items:center;gap:8px;animation:.9s cubic-bezier(.2,1.6,.4,1) both lc-pop;display:flex;position:relative}.archive-hit strong{color:#ffe8a0;text-shadow:0 0 16px #ffb43ce6;font-size:34px}.archive-hit p,.archive-miss p{color:#fff2d8;margin:0}.archive-rays{z-index:-1;background:repeating-conic-gradient(#ffc85a2e 0 8deg, transparent 8deg 20deg);border-radius:50%;width:520px;height:520px;animation:14s linear infinite lc-spin;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.character-card.lux{background:radial-gradient(circle at 50% 38%,#ffbe5059,#0000 45%),radial-gradient(circle at 18% 22%,#ffe060 0 1px,#0000 2px),radial-gradient(circle at 82% 30%,#fff8d8 0 1px,#0000 2px),radial-gradient(circle at 70% 76%,#ff8a1a 0 1px,#0000 2px),linear-gradient(#1a1420,#2a1e24 70%,#14101a);border-color:#ffb84a;position:relative;overflow:hidden;box-shadow:inset 0 0 18px #ffa02840}.character-card.lux>strong{color:#fff0c8;text-shadow:0 0 8px #ffb43ccc}.pw-grow{z-index:3;color:#fff;text-shadow:0 1px #000;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:96vw;font-size:12px;display:flex;position:fixed;top:80px;left:50%;transform:translate(-50%)}.pw-grow-xp{background:#0a0810cc;border:1px solid #3a3444;width:80px;height:6px;position:relative}.pw-grow-xp i{background:#b48aff;position:absolute;inset:0 auto 0 0}.pw-grow-gold{color:#f2d040}.pw-grow button{padding:2px 8px;font-size:11px}.pw-grow small{text-align:center;color:#d8d0e8;flex-basis:100%}.pw-aug{z-index:6;background:#0e0a18eb;border:2px solid #f2d040;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;display:flex;position:fixed;top:22%;left:50%;transform:translate(-50%);box-shadow:0 0 24px #f2d04059}.pw-aug>b{color:#f2d040;letter-spacing:1px;font-size:20px}.pw-aug-cards{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.pw-aug-card{color:#fff;background:linear-gradient(#2a2048 0%,#161028 100%);border:2px solid #6a5aa0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;width:168px;min-height:210px;padding:12px 10px;transition:transform .12s,border-color .12s;display:flex}.pw-aug-card:hover,.pw-aug-card:focus-visible{border-color:#f2d040;transform:translateY(-6px);box-shadow:0 6px 18px #f2d0404d}.pw-aug-icon{width:96px;height:96px;image-rendering:pixelated;background:radial-gradient(circle,#3a2e60 0%,#1a1430 75%);border-radius:10px;padding:6px}.pw-aug-card strong{color:#ffe07a;font-size:18px}.pw-aug-card small{color:#e0d8f0;font-size:13px;line-height:1.35}.pw-giga{z-index:3;color:#fff;text-shadow:0 1px #000;align-items:flex-end;gap:6px;max-width:calc(100vw - 16px);font-size:12px;display:flex;position:fixed;bottom:64px;right:8px}.pw-giga-map{image-rendering:pixelated;border:1px solid #3a3444}.pw-giga-side{flex-direction:column;gap:4px;max-width:300px;display:flex}.pw-giga-bag,.pw-giga-craft{flex-wrap:wrap;gap:2px;display:flex}.pw-giga-bag button{width:26px;height:26px;padding:0}.pw-giga-bag .vault{border-color:#f2d040}.pw-giga-craft button{align-items:center;gap:2px;padding:1px 4px;font-size:11px;display:flex}.pw-board .pw-gold{color:#f2d040}.pw-board .pw-lv{color:#c8b8ff;font-weight:700}.pw-board .pw-gear .grow{border-radius:3px;outline:1px solid #f2d040}.pan-hint{z-index:3;color:#d8d0e8;pointer-events:none;background:#100c18b8;border-radius:4px;max-width:min(46vw,360px);margin:0;padding:4px 8px;font-size:11px;position:fixed;bottom:64px;left:8px}.pan-hint.pan-back{color:#f2d040;cursor:pointer;pointer-events:auto;border:1px solid #f2d040;font-size:13px}.pw-feed{z-index:2;pointer-events:none;flex-direction:column;align-items:flex-end;gap:2px;margin:0;padding:0;list-style:none;display:flex;position:fixed;top:52px;right:8px}.pw-feed li{background:#0a0810b8;border-radius:6px;gap:5px;padding:2px 8px;font-size:12px;animation:.25s ease-out pw-in;display:flex}.pw-feed .ours{color:#8cc8ff}.pw-feed .theirs{color:#ff8a8a}.pw-feed .me{color:#ffd860}.pw-x{color:#ddd}@keyframes pw-in{0%{opacity:0;transform:translate(20px)}}.pw-banner{z-index:3;letter-spacing:2px;white-space:nowrap;pointer-events:none;text-shadow:0 0 6px #000,0 2px #000;flex-direction:column;align-items:center;font-size:34px;font-weight:900;animation:.35s ease-out pw-pop;display:flex;position:fixed;top:32%;left:50%;transform:translate(-50%)}.pw-banner.kill{color:#ffd860}.pw-banner.kill.s2{color:#ffa040;font-size:40px}.pw-banner.kill.s3,.pw-banner.kill.s4{color:#ff5a5a;font-size:46px}.pw-banner.down{color:#ff8a8a;font-size:28px}.pw-banner small{color:#fff;font-size:15px}@keyframes pw-pop{0%{opacity:0;transform:translate(-50%)scale(1.8)}}@media (width<=600px){.pw-feed{top:auto;bottom:140px}.pw-banner{font-size:26px}}.pw-dealt{color:#ffb070}.pw-taken{color:#ff8a8a}.pw-healed{color:#7ae08a}.pw-count{z-index:4;color:#fff;pointer-events:none;text-shadow:0 0 12px #000,0 4px #000;font-size:96px;font-weight:900;animation:1s ease-out pw-count;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)}.pw-count.go{color:#ffd860;font-size:72px;animation:.4s ease-out pw-pop}@keyframes pw-count{0%{opacity:.2;transform:translate(-50%,-50%)scale(1.8)}30%{opacity:1;transform:translate(-50%,-50%)scale(1)}}.pw-guide-btn{margin:0 auto 6px;padding:3px 12px;font-size:13px}.pw-guide{text-align:left;width:min(560px,100%);max-height:86vh;overflow-y:auto}.pw-guide h3{color:#ffd860;margin:10px 0 4px;font-size:15px}.pw-guide ul{margin:0;padding-left:18px;font-size:13px;line-height:1.5}.pw-goal{z-index:4;color:#fff;white-space:nowrap;pointer-events:none;background:#0a0810b3;border-radius:6px;padding:2px 10px;font-size:14px;position:fixed;top:calc(38% + 64px);left:50%;transform:translate(-50%)}@media (width<=900px),(height<=500px){.pw-hud{top:34px}.pw-hud .pw-sub,.pw-hud .pw-target,.pw-hud .pw-board-btn{font-size:10px;line-height:15px}.pw-hud .pw-side small{display:none}.pw-count{font-size:60px}.pw-goal{white-space:normal;max-width:90vw;font-size:11px;top:calc(38% + 44px)}}.pw-round{z-index:4;color:#ffd860;white-space:nowrap;pointer-events:none;text-shadow:0 2px #000;background:#0a0810b3;border-radius:8px;padding:2px 14px;font-size:22px;font-weight:900;position:fixed;top:calc(38% - 78px);left:50%;transform:translate(-50%)}.pw-clock{color:#e8f4ff;text-shadow:0 1px 2px #000000b3;font-size:14px;font-weight:700}.pw-clock small{color:#a8d8ff;font-size:10px;font-weight:400;display:block}.pw-clock.low{color:#ff8a8a;animation:1s step-end infinite pw-clock-blink}@keyframes pw-clock-blink{50%{opacity:.55}}.pw-skill-bar{gap:4px;margin-right:8px;display:inline-flex}.pw-skill{border:2px solid var(--tint);background:#0e0c14d9;border-radius:8px;width:40px;height:40px;padding:0;position:relative;overflow:hidden}.pw-skill.ult{box-shadow:0 0 6px var(--tint);border-width:3px}.pw-skill.cooling:after{content:"";background:conic-gradient(#000000b8 calc(var(--cd) * 360deg), transparent 0);position:absolute;inset:0}.pw-skill.armed{box-shadow:0 0 12px var(--tint);outline:2px solid #fff;transform:translateY(-3px)}.pw-skill.silenced{filter:grayscale()brightness(.6)}.pw-skill kbd{z-index:1;color:#fff;text-shadow:0 1px #000;font-size:10px;position:absolute;top:0;left:1px}.pw-skill-left{z-index:1;color:#fff;text-shadow:0 0 3px #000;justify-content:center;align-items:center;font-size:15px;display:flex;position:absolute;inset:0}.pw-skills .pw-skill-row{border:1px solid #3a3648;border-left:4px solid var(--tint,#8a86a0);text-align:left;background:#00000040;border-radius:8px;align-items:flex-start;gap:10px;margin:6px 0;padding:6px 8px;display:flex}.pw-skills .pw-skill-row.ult{box-shadow:inset 0 0 12px #ffd86026}.pw-skills .pw-skill-row>span:last-child{flex-direction:column;gap:1px;display:flex}.pw-skills small{color:#c8c4d8}.pw-skills em{color:#ffd860;font-style:normal}.pw-skill-icon{position:relative}.pw-skill-icon kbd{background:#1a1622;border-radius:3px;padding:0 3px;font-size:10px;position:absolute;top:-4px;left:-4px}.pw-skill-badge{color:#1a1622;background:#ffd860;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:inline-flex}.pw-prep-actions{justify-content:center;gap:8px;display:flex}.pw-ult-calls{z-index:2;pointer-events:none;flex-direction:column;align-items:center;gap:3px;margin:0;padding:0;list-style:none;display:flex;position:fixed;top:92px;left:50%;transform:translate(-50%)}.pw-ult-calls li{letter-spacing:.04em;white-space:nowrap;text-shadow:0 0 6px;background:#0a0810cc;border:1px solid;border-radius:8px;padding:3px 12px;font-size:14px;font-weight:800;animation:.35s ease-out pw-ult-in}.pw-ult-calls b{color:#fff;text-shadow:none;font-weight:600}.pw-ult-calls .ours{color:#8cc8ff}.pw-ult-calls .theirs{color:#ff8a8a}.pw-ult-calls .me{color:#ffd860}@keyframes pw-ult-in{0%{opacity:0;transform:scale(1.6)}}.pw-skill-passive{box-sizing:border-box;color:#1a1622;cursor:help;background:#ffd860;border-color:#ffd860;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.pw-prep-wait{color:#ffd860;align-self:center}.pw-recap{z-index:2;pointer-events:none;background:#0a0810db;border:1px solid #ff8a8a66;border-radius:10px;width:min(360px,100vw - 32px);padding:8px 12px;font-size:12px;animation:.25s ease-out pw-in;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.pw-recap h4{align-items:center;margin:0 0 6px;font-size:13px;display:flex}.pw-recap h4 button{pointer-events:auto;margin-left:auto;padding:2px 8px;font-size:11px}.pw-recap-sum{border-bottom:1px solid #fff2;margin-bottom:8px!important;padding-bottom:6px!important}.pw-recap .taken .pw-recap-bar{background:#ff6a6a}.pw-recap .dealt .pw-recap-bar{background:#ffc860}.pw-recap .healed .pw-recap-bar{background:#6ae08a}.pw-recap .env{color:#d8b070}.pw-recap.mini{font-size:11px}.pw-recap.mini ul{gap:2px}.pw-recap h4 b{color:#ff8a8a}.pw-recap ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pw-recap-head{align-items:baseline;gap:6px;display:flex}.pw-recap-head span{margin-left:auto;font-weight:700}.pw-recap-head small,.pw-recap-src{color:#b8b0c8}.pw-recap-bar{background:linear-gradient(90deg,#ff5a5a,#ffb070);border-radius:2px;height:4px;margin:2px 0;display:block}.pw-recap .ours{color:#8cc8ff}.pw-recap .theirs{color:#ff8a8a}.pw-recap-big{margin:6px 0 0}.pw-draft{box-sizing:border-box;text-align:left;flex-direction:column;justify-content:center;width:100%;min-height:100vh;padding:12px 16px;display:flex}.pw-draft-top{justify-content:center;align-items:center;gap:16px;margin-bottom:10px;display:flex}.pw-draft-top h2{margin:0;font-size:22px}.pw-draft-top p{margin:0;font-size:18px}.pw-draft-top p.mine{color:#ffd860;font-weight:700}.pw-draft-sec{text-align:center;color:#1a1622;background:#ffd860;border-radius:10px;min-width:48px;padding:2px 12px;font-size:24px}.pw-draft-main{grid-template-columns:minmax(180px,260px) 1fr minmax(180px,260px);align-items:center;gap:12px;display:grid}.pw-draft-team{background:#00000040;border:2px solid #3a3648;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.pw-draft-team.ours{border-color:#4a90e2}.pw-draft-team.theirs{border-color:#e24a4a}.pw-draft-team.turn{box-shadow:0 0 14px #ffd86059}.pw-draft-team h4{margin:0;font-size:16px}.pw-draft-team.theirs h4{text-align:right}.pw-draft-seat{box-sizing:border-box;text-align:left;background:#0003;border:1px solid #3a3648;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:76px;padding:4px 8px;display:flex}.pw-draft-team.theirs .pw-draft-seat{text-align:right;flex-direction:row-reverse}.pw-draft-seat>span{flex-direction:column;min-width:0;display:flex}.pw-draft-seat b{font-size:15px}.pw-draft-seat.now{outline:3px solid #ffd860;animation:1s ease-in-out infinite alternate pw-draft-blink}.pw-draft-seat.me b{color:#ffd860}@keyframes pw-draft-blink{to{outline-color:#ffd8604d}}.pw-draft-empty{color:#8a86a0;justify-content:center;align-items:center;width:64px;height:64px;font-size:24px;display:inline-flex}.pw-draft-bans{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pw-draft-team.theirs .pw-draft-bans{justify-content:flex-end}.pw-draft-bans canvas{filter:grayscale();opacity:.6}.pw-draft-center{min-width:0}.pw-draft-tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.pw-draft-tabs button{margin:0;padding:6px 14px}.pw-draft-tabs button.on{color:#1a1622;background:#ffd860}.pw-draft-tabs input{flex:1;min-width:120px;padding:6px 10px}.pw-draft-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;max-height:58vh;display:grid;overflow-y:auto}.pw-draft-grid button{flex-direction:column;align-items:center;gap:2px;margin:0;padding:6px 2px;display:flex}.pw-draft-grid small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:12px;overflow:hidden}.pw-draft-grid button.on{outline:3px solid #ffd860}.pw-draft-grid button.taken{filter:grayscale();opacity:.3}.pw-draft-act{justify-content:center;gap:10px;min-height:52px;margin-top:10px;display:flex}.pw-draft-act button.ghost{border:1px solid #8a86a0}.pw-draft-act button{width:220px;height:48px;margin:0;font-size:16px}.pw-draft-center .hint{text-align:center}.pw-role{color:#ffd860;font-size:11px;font-style:normal}.pw-draft-bottom{flex-direction:column;align-items:center;gap:6px;width:100%;max-width:560px;margin:10px auto 0;display:flex}.pw-draft-bottom .lobby-chat{width:100%}.pw-draft-say{color:#a8e0a0;margin:2px 0;font-size:14px}@media (width<=760px){.pw-draft-main{grid-template-columns:1fr}.pw-draft-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}}.pw-prep-split{box-sizing:border-box;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:12px 16px;display:flex}.pw-prep-split>.pw-prep{flex:380px;max-width:520px;margin:0}.pw-mini{border:2px solid #4a4658;border-radius:10px;flex:520px;max-width:900px;height:min(560px,80vh);position:relative;overflow:hidden;transform:translateZ(0)}.pw-mini .pw-practice{width:140px;position:absolute;top:84px;left:8px}.pw-practice{z-index:30;background:#0009;border-radius:8px;flex-flow:column wrap;align-items:center;gap:6px;width:170px;max-width:calc(100vw - 24px);padding:6px 10px;font-size:13px;display:flex;position:fixed;top:92px;left:12px}.pw-practice button{padding:4px 8px}.pw-practice button.on{color:#1a1622;background:#ffd860}.pw-browse{max-width:1000px;margin:0 auto;padding:16px}.pw-browse-grid{max-height:none;margin-bottom:12px}.pw-browse-card{text-align:left;max-width:560px;max-height:88vh;overflow-y:auto}.game-overlay .modal.pw-result{width:min(1400px,98vw);max-height:96vh;padding:20px 26px;font-size:18px}.pw-result h2{margin:4px 0 8px;font-size:40px}.pw-result .pw-chips,.pw-result .result-line{font-size:20px}.pw-result .pw-board{gap:14px;max-height:62vh}.pw-result .pw-board table{font-size:16px}.pw-result .pw-board caption{padding:4px;font-size:18px}.pw-result .pw-board th,.pw-result .pw-board td{padding:5px 10px}.pw-result .pw-bar{min-width:110px;height:20px}.pw-result .pw-bar b{font-size:14px;line-height:20px}.pw-result .pw-gear{gap:3px;max-width:420px}.pw-result .pw-gear canvas,.pw-result .pw-gear img{width:28px!important;height:28px!important}.pw-result .pw-gear i{font-size:12px}.pw-result .modal-actions button{padding:10px 14px;font-size:18px}@media (width<=700px){.game-overlay .modal.pw-result{padding:12px;font-size:14px}.pw-result h2{font-size:26px}.pw-result .pw-board table{font-size:12px}}.tier-admin{flex-direction:column;gap:8px;padding:12px;display:flex}.tier-admin-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tier-play-btn{color:#f2c14e;border:2px solid #f2c14e;border-radius:6px;padding:8px 14px;font-weight:700;text-decoration:none}.tier-msg{color:#9be89b}.tier-admin-row{background:#ffffff08;border:1px solid #3a3450;border-radius:6px;min-height:64px;display:flex}.tier-admin-row>b{color:#140f1c;text-align:center;border-radius:6px 0 0 6px;flex:none;place-items:center;width:110px;padding:4px;display:grid}.tier-admin-row.pool>b{color:#e8e4f0;background:#3a3450;font-size:12px}.tier-admin-faces{flex-wrap:wrap;flex:1;gap:4px;padding:6px;display:flex}.tier-face{cursor:grab;border-radius:4px;flex-direction:column;align-items:center;width:58px;display:flex}.tier-face:hover{background:#ffffff14}.tier-face small{white-space:nowrap;max-width:58px;font-size:10px;overflow:hidden}.tier-records td.note{white-space:pre-wrap;max-width:260px;font-size:12px}.tier-records tr.empty td{opacity:.45}.tier-stars{gap:1px;display:inline-flex}.tier-stars button{color:#4a4458;cursor:pointer;background:0 0;border:none;padding:0 1px;font-size:18px;line-height:1}.tier-stars button.on{color:#ffd040}.tier-stars button:disabled{cursor:default;font-size:13px}.tier-play{flex-direction:column;gap:12px;max-width:900px;margin:0 auto;padding:24px 16px;display:flex}.tier-next{align-self:flex-start;padding:10px 18px;font-size:18px}.tier-play-list{flex-wrap:wrap;gap:6px;display:flex}.tier-play-list button.done{color:#9be89b;border-color:#5ac85a}.tier-play-list button.next{border-color:#f2c14e}.tier-warn{color:#ff9a6a}.tier-back{color:var(--accent)}.game-overlay .modal.tier-rate{text-align:left;gap:8px;width:min(460px,96vw)}.tier-auto{grid-template-columns:auto 1fr;gap:2px 12px;margin:0;display:grid}.tier-auto dt{color:var(--muted)}.tier-auto dd{margin:0;font-weight:700}.tier-star-row{justify-content:space-between;align-items:center;display:flex}.tier-note{flex-direction:column;gap:4px;font-size:13px;display:flex}.tier-note textarea{resize:vertical;min-height:56px}.tier-records th,.tier-records td{text-align:left;white-space:nowrap;border-bottom:1px solid #2c2838;padding:4px 10px}.rank-panel{border:1px solid var(--line);background:linear-gradient(#221c34,#16121f);flex-direction:column;gap:6px;margin:4px 0 12px;padding:10px 12px;display:flex}.rank-panel h3{margin:0}.rank-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.rank-card{text-align:left;border:2px solid var(--line);align-items:center;gap:10px;padding:8px 10px;display:flex}.rank-card-text{flex-direction:column;gap:2px;display:flex}.rank-card-text b{font-size:18px}.rank-card.gold,.rank-card.crystal,.rank-card.star,.rank-card.overlord{box-shadow:0 0 12px #ffdc7840}.rank-card.clay b{color:#c89a6a}.rank-card.stone b{color:#c4c4cc}.rank-card.bronze b{color:#f0b070}.rank-card.silver b{color:#e2e8f4}.rank-card.gold b{color:#ffd860}.rank-card.crystal b{color:#8ae8f4}.rank-card.star b{color:#b8acff}.rank-card.overlord b{color:#ff7a6a}.rank-emblem{filter:drop-shadow(0 2px 2px #00000080);flex:none}.rank-emblem.overlord{animation:1.6s ease-in-out infinite alternate rank-glow}@keyframes rank-glow{0%{filter:drop-shadow(0 0 2px #ff8a3a)}to{filter:drop-shadow(0 0 10px #ffd860)}}.rank-board{width:min(560px,94vw);max-height:86vh;overflow-y:auto}.rank-tabs{gap:6px;margin-bottom:8px;display:flex}.rank-tabs .on{border-color:var(--accent);color:var(--accent)}.rank-rows{margin:0;padding:0;list-style:none}.rank-rows li{border-bottom:1px solid var(--line);grid-template-columns:28px 34px 1fr auto;grid-template-areas:"no emb name pts""no emb name rec";align-items:center;gap:0 8px;padding:4px 0;display:grid}.rank-no{text-align:right;color:var(--muted);grid-area:no}.rank-rows .rank-emblem{grid-area:emb}.rank-name{flex-direction:column;grid-area:name;min-width:0;display:flex}.rank-name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rank-pts{text-align:right;grid-area:pts}.rank-rec{text-align:right;color:var(--muted);grid-area:rec}.rank-outcome{justify-content:center;align-items:center;gap:10px;margin:6px 0;display:flex}.rank-outcome span{flex-direction:column;display:flex}.rank-outcome .up{color:#6ae86a;font-style:normal}.rank-outcome .down{color:#ff6a6a;font-style:normal}.rank-finding{text-align:center;align-items:center}.wait-games{text-align:center;width:min(520px,100%);margin:12px auto 0}.wait-games h3{color:#ffd860;margin:0 0 8px;font-size:14px}.wait-games-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.wait-games-grid button{flex-direction:column;align-items:center;gap:2px;padding:8px 4px;font-size:12px;display:flex}.wait-game-icon{font-size:22px}@media (width<=480px){.wait-games-grid{grid-template-columns:repeat(2,1fr)}}.story-screen{max-width:860px;padding:max(16px, env(safe-area-inset-top)) 16px 24px;flex-direction:column;gap:12px;margin:0 auto;display:flex}.story-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.story-head h2{color:var(--accent);margin:8px 0 0}.story-head span{opacity:.75}.story-cards{flex-direction:column;gap:10px;display:flex}.story-card{background:#14101cd9;border:2px solid #3a3446;border-left-width:6px;border-radius:6px;padding:10px 12px}.story-card h3{margin:0 0 6px}.story-card h3 small{opacity:.7;font-size:.75em}.story-card p{margin:0 0 8px;line-height:1.5}.story-members{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.story-members figure{flex-direction:column;align-items:center;width:64px;margin:0;display:flex}.story-members figcaption{text-align:center;font-size:11px}.story-face-none{color:#9a94a8;border:1px dashed #6a6478;border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.story-boss{align-items:center;gap:12px;display:flex}.story-book{color:#2a2018;background:radial-gradient(at 50% 0,#ffffff59,#0000 60%),repeating-linear-gradient(0deg,#785a320d 0 1px,#0000 1px 28px),linear-gradient(#f6ecd4,#ead9b4);border:10px solid #4a2a18;border-image:linear-gradient(135deg,#6a3a20,#3a1e10 40%,#6a3a20 60%,#2a140a) 1;flex-direction:column;gap:14px;min-height:min(82vh,980px);padding:22px clamp(14px,4vw,40px);display:flex;box-shadow:inset 0 0 0 2px #c8a050,0 10px 30px #00000080}.story-book-head{text-align:center;border-bottom:2px double #b8905a;padding-bottom:10px}.story-book-head small{letter-spacing:3px;color:#8a6a3a}.story-book h3{color:#6a3a1a;margin:4px 0 8px;font-size:1.35em}.story-progress{background:#78502833;height:3px}.story-progress span{background:#b8783a;height:100%;transition:width .3s;display:block}.story-page{flex-direction:column;flex:1;gap:12px;min-height:60vh;animation:.35s ease-out story-turn;display:flex}@keyframes story-turn{0%{opacity:0;transform:translate(14px)}}.story-narration{text-indent:1em;margin:0;font-size:1.04em;line-height:1.85}.story-page .story-narration:first-child:first-letter{color:#8a2a1a;font-size:1.9em;font-weight:700}.story-line{align-items:flex-start;gap:10px;display:flex}.story-line>div{background:#fffaf0;border:1px solid #c8b088;border-radius:8px;flex:1;padding:6px 10px;position:relative;box-shadow:0 2px #78502826}.story-line b{color:#6a3a1a;font-size:12px}.story-line p{margin:2px 0 0;line-height:1.6}.story-pager{color:#6a4a2a;border-top:2px double #b8905a;justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}.story-faction{background:linear-gradient(90deg, color-mix(in srgb, var(--fc) 22%, transparent), #14101cd9 45%)}.story-chapter{position:relative;overflow:hidden}.story-chapter-no{color:#b89aff1f;pointer-events:none;font-size:84px;font-weight:900;position:absolute;top:-14px;right:10px}.story-summary{opacity:.85;font-style:italic}.story-book .link-button{color:#6a3a1a}.char-guide-head{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.char-guide-head strong{flex:1}.char-guide ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.char-guide.hidden-char{border-color:#b8a0ff}.story-season{color:var(--accent);border-bottom:2px solid #3a3446;margin:8px 0 0;padding-bottom:4px;font-size:.95rem}.tier-note{opacity:.75;margin:0;font-size:.85rem}.tier-table{flex-direction:column;gap:6px;display:flex}.tier-row{border:2px solid #3a3446;border-left:6px solid var(--tc);background:#1a1622;display:flex}.tier-label{text-align:center;color:#16121c;background:var(--tc);flex:0 0 72px;justify-content:center;align-items:center;margin:0;font-size:.95rem;display:flex}.tier-faces{flex-wrap:wrap;gap:4px;padding:6px;display:flex}.tier-face{width:76px;color:inherit;cursor:pointer;background:0 0;border:2px solid #0000;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;display:flex;position:relative}.tier-face small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.7rem;line-height:1.1;overflow:hidden}.tier-face:hover,.tier-face:focus-visible,.tier-face.active{border-color:var(--tc);background:#2a2434}.tier-tip{z-index:20;border:2px solid var(--tc);text-align:left;white-space:normal;pointer-events:none;background:#0f0c14;width:240px;padding:8px 10px;font-size:.8rem;line-height:1.4;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.tier-tip strong{color:var(--tc);margin-bottom:2px;display:block}.tier-face:hover .tier-tip,.tier-face:focus-visible .tier-tip{display:block}.tier-preview{background:#1a1622;border:2px solid #3a3446;padding:10px}.tier-preview h3{color:var(--accent);margin:0 0 8px}.tier-preview h3 small{opacity:.7;font-size:.75rem}.tier-preview p{margin:8px 0 0;line-height:1.5}.tier-preview .tier-pick{opacity:.7;text-align:center;margin:0}.tier-preview-canvas{width:100%;height:auto;image-rendering:pixelated;display:block}@media (hover:none){.tier-face:hover .tier-tip,.tier-face:focus-visible .tier-tip{display:none}}@media (width<=520px){.tier-label{flex-basis:52px;font-size:.8rem}.tier-face{width:62px}}.run-goal,.run-intro{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:3;border-radius:8px;max-width:92%;margin:0;padding:4px 12px;font-size:13px;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.run-goal{color:#fff4c8;background:#140e1eb8;border:1px solid #ffdc7873;top:34px}.run-intro{color:#d8f0ff;background:#141e32b8;border:1px solid #78c8ff73;top:62px}.room-card{color:#eee8ff;z-index:4;background:#181028eb;border:2px solid #b08aff;border-radius:12px;width:min(360px,90%);padding:10px 14px;animation:.3s ease-out room-card-in;position:absolute;top:92px;left:50%;transform:translate(-50%)}.room-card small{color:#ffd860;font-weight:700}.room-card b{margin:2px 0 4px;font-size:17px;display:block}.room-card ul{margin:0 0 8px;padding-left:18px;font-size:12px;line-height:1.45}.room-card div{justify-content:flex-end;gap:8px;display:flex}.room-card button{color:#fff;cursor:pointer;background:#3a2a6a;border:1px solid #b08aff;border-radius:8px;padding:4px 12px}@keyframes room-card-in{0%{opacity:0;transform:translate(-50%,-8px)}}.cs-diff{letter-spacing:-1px;color:#ffd860;pointer-events:none;background:#0000008c;border-radius:9px;padding:1px 6px;font-size:11px;position:absolute;top:10px;right:10px}.cs-diff b{letter-spacing:0;color:#9af0a8;margin-right:4px}.cs-diff.d3{color:#ff9a7a}.game-hint.touch{display:none}@media (orientation:portrait){.game-hint.touch{opacity:.8;padding:10px 16px;font-size:13px;display:block}.hud .hud-info{text-overflow:ellipsis;flex:100%;order:5;font-size:11px;display:block;overflow:hidden}.practice-panel{width:auto;height:48vh;inset:auto 8px 8px}}@media (height<=500px){.hud{gap:6px;padding:3px 8px}.hud-btn{padding:2px 8px;font-size:12px}.loadout{padding:2px 8px 0;font-size:12px}}.tabs{flex-wrap:wrap;justify-content:center}.tabs button{white-space:nowrap}@media (width<=640px){.lobby-help{top:calc(max(12px, env(safe-area-inset-top)) + 48px);text-align:center;left:12px;right:12px}}@media (width<=700px){.lobby-button{bottom:auto;left:50%;top:max(12px, env(safe-area-inset-top));padding:6px 12px;transform:translate(-50%)}}@media (orientation:portrait) and (width<=700px){.stats-panel{background:#0c0a14b3;width:auto;max-width:46vw;padding:4px 6px;font-size:10px}.stats-panel .stats-row{display:none}.game-hint.touch{text-align:left;max-width:52vw;margin-right:auto;padding:6px 10px;font-size:11px}}
