:root{--ink: #fff6e0;--ink-dim: #d4c09a;--panel: #2a1c12;--panel-2: #342418;--line: rgba(232, 186, 110, .55);--accent: #e87838;--accent-2: #ffd278;--good: #5cb884;--bad: #d06050;--glow: rgba(224, 112, 53, .4);--wood: #4a3320;--wood-2: #2c1d10;--wood-lit: #6b4a2c;--gold: #e8c07a;--gold-dim: rgba(232, 186, 110, .38);--paper: #241a12;--paper-2: #1a1209;--fs-title: clamp(1.6rem, 7vw, 2.2rem);--fs-head: 1rem;--fs-body: .8rem;--fs-aux: .7rem;--font-display: "STKaiti", "KaiTi", "??", "PingFang SC", "Microsoft YaHei", serif;--font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--cell-size: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;min-height:100dvh;font-family:var(--font-body);color:var(--ink);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(900px 480px at 80% -5%,rgba(240,170,70,.16),transparent 55%),radial-gradient(700px 420px at -10% 90%,rgba(80,140,100,.1),transparent 50%),radial-gradient(600px 300px at 50% 40%,rgba(120,60,30,.12),transparent 60%),linear-gradient(165deg,#1e1510,#0c0907,#16110c);overscroll-behavior:none}#app{width:100%;max-width:520px;margin:0 auto;padding:calc(.35rem + var(--safe-top)) .55rem calc(.45rem + var(--safe-bottom));min-height:100dvh;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.topbar{display:flex;justify-content:flex-end;gap:.35rem;margin-bottom:.25rem;flex-shrink:0}.audio-toggle{flex-shrink:0;width:2.75rem;height:2.75rem;padding:0;border-radius:999px;font-family:var(--font-display);font-size:.85rem;font-weight:500;letter-spacing:.04em;color:#fff4dc;border:1px solid rgba(232,186,110,.55);background:linear-gradient(145deg,#48301ce6,#1c140cf2);box-shadow:inset 0 1px #ffe6b42e}.audio-toggle[aria-pressed=true]{color:var(--ink-dim);opacity:.72;filter:grayscale(.4);box-shadow:none}.audio-toggle:active{transform:scale(.96)}.tagline{margin:.1rem 0 0;color:var(--gold);letter-spacing:.08em;font-size:var(--fs-aux)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:.55rem;box-shadow:0 12px 28px #0006}.plaque{position:relative;border-radius:14px;border:2px solid var(--gold-dim);background:repeating-linear-gradient(92deg,#00000024 0,#00000024 2px,#ffdca008 2px,#ffdca008 5px),linear-gradient(160deg,var(--wood-lit) 0%,var(--wood) 45%,var(--wood-2) 100%);box-shadow:inset 0 1px #ffe8be38,inset 0 -2px 6px #00000073,0 8px 20px #00000073}.plaque:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:9px;pointer-events:none;background:radial-gradient(circle at 0 0,var(--gold) 0 1.6px,transparent 1.7px),radial-gradient(circle at 100% 0,var(--gold) 0 1.6px,transparent 1.7px),radial-gradient(circle at 0 100%,var(--gold) 0 1.6px,transparent 1.7px),radial-gradient(circle at 100% 100%,var(--gold) 0 1.6px,transparent 1.7px);opacity:.75}.scroll-panel{position:relative;border-radius:12px;padding:.5rem .7rem .55rem;background:radial-gradient(120% 100% at 50% 0%,rgba(255,214,150,.05),transparent 60%),linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%);border-top:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim)}.scroll-panel:before,.scroll-panel:after{content:"";position:absolute;top:0;bottom:0;width:6px;pointer-events:none;background:linear-gradient(180deg,var(--wood-lit),var(--wood-2));box-shadow:inset 0 1px #ffe8be33}.scroll-panel:before{left:0;border-radius:12px 2px 2px 12px}.scroll-panel:after{right:0;border-radius:2px 12px 12px 2px}.lobby{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.7rem;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.hero{position:relative;flex-shrink:0;min-height:232px;height:38dvh;max-height:300px;padding:.5rem .6rem .55rem;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--line);box-shadow:0 12px 28px #00000073;background:linear-gradient(180deg,#0a080614,#0a080642,#0a0806d1),url(/assets/lobby_bg.webp?v=20260728d) center/cover no-repeat,var(--panel)}@media(max-height:700px){.hero{min-height:208px;height:34dvh}.lobby{gap:.5rem}}.hero-art{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);height:78%;width:auto;max-width:86%;object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.6));pointer-events:none}.topbar .topbar-btn{flex-shrink:0;display:grid;place-items:center;gap:0;width:2.75rem;height:2.75rem;margin:0;padding:0;border-radius:999px;font-family:var(--font-display);font-size:.98rem;font-weight:500;text-align:center;color:#fff4dc;border:1px solid rgba(232,186,110,.6);background:linear-gradient(145deg,#48301ceb,#18100af5);box-shadow:inset 0 1px #ffe6b433}.topbar .topbar-btn:hover,.topbar .topbar-btn:focus-visible{border-color:var(--gold);background:linear-gradient(145deg,#684424f2,#26180efa);box-shadow:inset 0 1px #ffe6b43d;outline:none}.topbar .topbar-btn:active{transform:scale(.96)}.hero-plate{position:absolute;top:.45rem;left:50%;transform:translate(-50%);z-index:1;max-width:calc(100% - 1rem);padding:.28rem 1.15rem .38rem;text-align:center;white-space:nowrap}.hero-plate h1{margin:0;font-family:var(--font-display);font-size:var(--fs-title);line-height:1.1;letter-spacing:.16em;font-weight:400;color:#fff3d4;text-shadow:0 1px 0 rgba(60,30,6,.8),0 0 14px rgba(255,190,90,.35)}.hero-name{position:relative;z-index:1;display:flex;align-items:center;gap:.4rem;align-self:center;max-width:100%;margin-bottom:.4rem;padding:.22rem .5rem;border-radius:999px;border:1px solid var(--gold-dim);background:#0c09069e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hero-name-label{flex-shrink:0;font-family:var(--font-display);font-size:var(--fs-aux);color:var(--gold);letter-spacing:.08em}.hero-name input{width:4.6rem;flex:0 0 auto;min-width:0;padding:.18rem .4rem;border-radius:999px;border-color:var(--gold-dim);background:#00000073;font-size:.82rem;text-align:center}.hero-id{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-aux);color:var(--ink-dim)}.hero-id code{font-family:ui-monospace,Consolas,monospace;font-size:var(--fs-aux);color:#ffe9b8}.lobby-play{display:flex;flex-direction:column;gap:.4rem;padding:.7rem .7rem .5rem;flex-shrink:0;margin-top:-.85rem;z-index:1}.mode-btn{position:relative;width:100%;margin:0;padding:0;border-radius:12px;font-family:var(--font-display);font-weight:500;color:#fff6e0;overflow:hidden}.mode-title{display:block;letter-spacing:.1em;line-height:1.2}.mode-sub{display:block;font-family:var(--font-body);font-size:var(--fs-aux);font-weight:400;letter-spacing:.02em;line-height:1.3}.mode-sub:empty,.mode-cost:empty{display:none}.mode-versus{min-height:3.4rem;padding:.6rem .8rem .65rem;border:2px solid var(--gold);background:radial-gradient(140% 110% at 50% 0%,rgba(255,206,132,.38),transparent 64%),linear-gradient(168deg,#d2452a,#a82817,#71160a);box-shadow:inset 0 1px #ffe8ba80,inset 0 -3px 8px #0006,0 8px 24px #ce3e1e80}.mode-versus:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:8px;border:1px solid rgba(232,192,122,.42);pointer-events:none}.mode-versus .mode-title{font-size:1.24rem;text-shadow:0 1px 0 rgba(70,12,4,.75),0 0 16px rgba(255,186,96,.4)}.mode-versus .mode-sub{margin-top:.12rem;color:#ffdcb0}.mode-versus.pulse{animation:seal-pulse 2.6s ease-in-out infinite}@keyframes seal-pulse{0%,to{box-shadow:inset 0 1px #ffe8ba80,inset 0 -3px 8px #0006,0 8px 24px #ce3e1e80}50%{box-shadow:inset 0 1px #fff4d0ad,inset 0 -3px 8px #0006,0 10px 32px #f0843eb3}}.mode-campaign{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:3.2rem;padding:.45rem .6rem;text-align:left;border:1px solid rgba(198,212,222,.28);background:radial-gradient(120% 100% at 0% 0%,rgba(210,228,240,.1),transparent 55%),linear-gradient(165deg,#47535c,#2d3640 55%,#1d242b);box-shadow:inset 0 1px #e4f0fa29,0 6px 16px #0006}.mode-seal{flex-shrink:0;display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:8px;border:1px solid var(--gold-dim);background:linear-gradient(160deg,#14191ee6,#080b0ef2);box-shadow:inset 0 1px #ffe8be24;line-height:1}.mode-seal em{font-style:normal;font-size:1.05rem;color:var(--gold)}.mode-seal i{font-style:normal;font-size:.58rem;letter-spacing:.1em;color:var(--ink-dim)}.mode-seal i:empty{display:none}.mode-campaign .mode-title{font-size:1.02rem;color:#f1f6fa}.mode-campaign .mode-sub{margin-top:.1rem;color:#bfcdd8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-cost{flex-shrink:0;padding:.16rem .42rem;border-radius:999px;border:1px solid var(--gold-dim);background:#00000052;font-family:var(--font-body);font-size:var(--fs-aux);font-weight:400;color:var(--gold);white-space:nowrap}.mode-bot{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;min-height:2.75rem;padding:.4rem .75rem;border:1px solid rgba(232,186,110,.5);background:repeating-linear-gradient(92deg,#0000001a 0,#0000001a 2px,#e2f0cd0d 2px,#e2f0cd0d 5px),linear-gradient(160deg,#6d8158,#55663f 55%,#3f4d31);box-shadow:inset 0 1px #e9f5cd33,inset 0 -2px 5px #00000059,0 4px 12px #00000059}.mode-bot .mode-title{font-size:.96rem;color:#f6f4e2}.mode-bot .mode-sub{color:#e2eec8bd}.mode-campaign:hover,.mode-campaign:focus-visible,.mode-bot:hover,.mode-bot:focus-visible{border-color:var(--gold);outline:none}.mode-btn:active{transform:translateY(1px) scale(.99)}.mode-btn:disabled{opacity:.45;filter:grayscale(.55);box-shadow:none;animation:none;transform:none;pointer-events:none}.lobby-play .status{min-height:.9rem;margin:0}.eyebrow{margin:0;color:var(--accent-2);font-size:var(--fs-aux);letter-spacing:.12em}.stats{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:.35rem}.stat{min-width:0;padding:.32rem .4rem;border-radius:10px;background:#0c0906a8;border:1px solid var(--gold-dim);display:flex;align-items:baseline;justify-content:center;gap:.22rem;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.stat span{color:var(--ink-dim);font-size:var(--fs-aux);white-space:nowrap}.stat strong{font-size:1.02rem}.stat em{font-style:normal;color:var(--ink-dim);font-size:var(--fs-aux)}.stat.muted{grid-column:1 / -1}.stat.rank-stat{align-items:center}.stat.rank-stat strong{font-family:var(--font-display);font-size:.92rem;font-weight:500;white-space:nowrap}.stats .rank-stars .star,.stats .rank-stars .star-count{font-size:.8rem}.rank-stars{display:inline-flex;align-items:center;gap:.12rem;margin-left:.15rem;line-height:1}.star{display:inline-block;font-size:1.05rem;line-height:1;transform-origin:center}.star-filled{color:#ffd24a;text-shadow:0 0 6px rgba(255,200,60,.65),0 1px 0 rgba(120,70,10,.35)}.star-empty{color:#ffd27847}.star-count{margin-left:.15rem;font-size:.95rem;font-weight:800;color:#ffd24a}.stat.muted code{font-size:.7rem;color:var(--ink-dim)}input{flex:1;min-width:0;background:#00000059;border:1px solid var(--line);color:var(--ink);padding:.55rem .65rem;border-radius:10px;outline:none;font-size:16px}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}button{cursor:pointer;border:1px solid var(--line);background:#ffffff0a;color:var(--ink);padding:.7rem 1rem;border-radius:999px;font-family:inherit;font-weight:600;font-size:.92rem;transition:transform .15s ease,background .2s,border-color .2s,box-shadow .2s;touch-action:manipulation}button.primary{width:100%;background:linear-gradient(135deg,#f08848,#d06028 55%,#9a4018);border-color:#ffdc96a6;box-shadow:0 6px 16px var(--glow),inset 0 1px #ffe6b459;text-shadow:0 1px 0 rgba(60,20,0,.45);letter-spacing:.08em;color:#fff8e8}button.primary:disabled,button.primary.is-disabled{opacity:.42;filter:grayscale(.55);box-shadow:none;animation:none;pointer-events:none;cursor:not-allowed}button.primary.pulse{animation:pulse 2.4s ease-in-out infinite}button.secondary{font-family:var(--font-display);font-size:.95rem;font-weight:500;letter-spacing:.05em;color:#fff4dc;border-radius:10px;border:1px solid rgba(232,186,110,.5);background:linear-gradient(160deg,#604226f2,#281a10fa);box-shadow:inset 0 1px #ffe8be29}button.secondary:hover,button.secondary:focus-visible{border-color:var(--gold);background:linear-gradient(160deg,#78522ef5,#342214fa)}button.secondary:active{transform:scale(.98)}button.danger{border-color:#c45a4a8c;color:#f2c0b8;width:auto;padding:.55rem .85rem}button:disabled{opacity:.5;cursor:not-allowed}.status{min-height:1rem;margin:.3rem 0 0;color:var(--ink-dim);font-size:var(--fs-body)}.lobby-copy .primary{padding:.55rem .85rem;font-size:.88rem}.match-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:.4rem;margin-top:.35rem}.match-actions .primary,.match-actions .match-bot{width:100%;margin:0}.match-bot{padding:.55rem .7rem;font-family:var(--font-display);font-size:.86rem;font-weight:500;letter-spacing:.04em;color:#fff4dc;border-radius:.7rem;border:1px solid rgba(232,186,110,.45);background:linear-gradient(145deg,#382a1cf2,#1c160efa);box-shadow:inset 0 1px #ffe6b41f}.match-bot:active{transform:scale(.98)}@media(max-width:420px){.match-actions{grid-template-columns:1fr}}.bag{flex-shrink:0}.guide-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:.35rem;padding-top:.5rem;border-top:1px solid var(--line);flex-shrink:0}.guide-nav-btn{display:flex;align-items:center;gap:.45rem;width:100%;margin:0;padding:.55rem .55rem .55rem .5rem;text-align:left;border-radius:12px;font-weight:500;border:1px solid rgba(232,186,110,.42);background:linear-gradient(145deg,#48301cd9,#1c140ceb),linear-gradient(180deg,rgba(255,210,120,.08),transparent 55%);box-shadow:inset 0 1px #ffe6b424,0 4px 12px #00000038;color:var(--ink);transition:border-color .15s ease,transform .12s ease,box-shadow .15s ease}.guide-nav-btn:hover,.guide-nav-btn:focus-visible{border-color:#ffdc96b8;box-shadow:inset 0 1px #ffe6b438,0 6px 16px #e0703538;outline:none}.guide-nav-btn:active{transform:translateY(1px) scale(.985)}.guide-nav-mark{flex-shrink:0;width:2rem;height:2rem;display:grid;place-items:center;border-radius:9px;font-family:var(--font-display);font-size:.95rem;letter-spacing:.04em;color:#fff4dc;background:linear-gradient(145deg,#c87838,#8a3e18);box-shadow:inset 0 1px #ffe6b459,0 2px 6px #0000004d}.guide-nav-mark.tone-item{background:linear-gradient(145deg,#c9a048,#7a5a18)}.guide-nav-mark.tone-ally{background:linear-gradient(145deg,#4a9a6e,#2a5a40)}.guide-nav-mark.tone-foe{background:linear-gradient(145deg,#c06050,#6a2820)}.guide-nav-text{display:flex;flex-direction:column;gap:.08rem;min-width:0}.guide-nav-text strong{font-family:var(--font-display);font-weight:400;font-size:.92rem;letter-spacing:.06em;color:#ffe8c0}.guide-nav-text em{font-style:normal;font-size:.64rem;color:var(--ink-dim);letter-spacing:.02em}.guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000094;display:flex;align-items:flex-end;justify-content:center;padding:0 0 var(--safe-bottom);animation:fadeUp .2s ease both}.guide-overlay.hidden{display:none}.guide-sheet{width:min(100%,520px);max-height:min(78vh,640px);display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,210,140,.08),transparent 28%),linear-gradient(180deg,#2c2218,#14100c);border:1px solid var(--line);border-radius:18px 18px 0 0;padding:.9rem .95rem 1rem;box-shadow:0 -14px 42px #0000007a}.guide-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;flex-shrink:0}.guide-sheet-eyebrow{margin:0 0 .12rem;font-size:.68rem;letter-spacing:.18em;color:var(--accent-2)}.guide-sheet-head h3{margin:0;font-family:var(--font-display);font-size:1.28rem;font-weight:400;letter-spacing:.08em;color:#fff4dc}.guide-sheet-body{overflow:auto;overscroll-behavior:contain;min-height:0;padding-right:.1rem}.guide-panel[hidden]{display:none!important}.guide-steps{margin:0;padding:0 0 0 1.1rem;color:var(--ink);font-size:.82rem;line-height:1.55}.guide-steps li+li{margin-top:.35rem}.guide-tip{margin:.7rem 0 0;font-size:.7rem;color:var(--ink-dim);line-height:1.4}.item-guide{display:flex;flex-direction:column;gap:.15rem}.item-guide-row{display:grid;grid-template-columns:44px 1fr;gap:.5rem;align-items:start;padding:.5rem .15rem;border-top:1px solid rgba(196,150,90,.18)}.item-guide-row:first-child{border-top:none;padding-top:.15rem}.item-guide-art{position:relative;width:44px;height:44px;flex-shrink:0}.item-guide-body{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.item-guide-wpn{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.45));pointer-events:none}.item-guide-meta{min-width:0}.item-guide-meta strong{display:inline-block;font-size:.88rem;color:#ffe8c0;margin-right:.35rem}.item-guide-meta em{font-style:normal;font-size:.68rem;color:var(--accent-2)}.item-guide-meta p{margin:.22rem 0 0;font-size:.74rem;color:var(--ink-dim);line-height:1.45}.bag-head,.shop-head{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;margin-bottom:.35rem}.bag-head h3,.shop-head h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--fs-head);color:var(--gold);letter-spacing:.06em}.bag-head p,.shop-head p{margin:0;color:var(--ink-dim);font-size:var(--fs-aux)}.bag-list,.shop-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(4.4rem,1fr);gap:.4rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.15rem}.bag-list::-webkit-scrollbar,.shop-list::-webkit-scrollbar{display:none}.bag-empty{color:var(--ink-dim);font-size:var(--fs-body);margin:0;padding:.2rem 0;white-space:nowrap}.bag-item,.shop-item{background:#0000004d;border:1px solid var(--gold-dim);border-radius:10px;padding:.4rem .2rem .45rem;display:flex;flex-direction:column;gap:.2rem;align-items:center;text-align:center;min-width:0;scroll-snap-align:start}.bag-item{cursor:pointer}.bag-item strong,.shop-item strong{font-size:var(--fs-aux);line-height:1.15;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bag-item span,.shop-item span{font-size:var(--fs-aux);color:var(--ink-dim);line-height:1.1}.shop-art{width:44px;height:44px;object-fit:contain}.shop{flex-shrink:0}.shop-item button{width:100%;min-height:44px;padding:.3rem .2rem;font-size:var(--fs-body);border-radius:8px;margin-top:auto}.item-btn{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.3rem .35rem;width:auto;min-width:0;flex:1 1 0;max-width:4.2rem}.item-btn img{width:36px;height:36px;object-fit:contain;pointer-events:none}.item-badge{position:absolute;top:1px;right:2px;min-width:14px;padding:0 3px;border-radius:6px;background:#000000bf;color:#ffe2b0;font-size:.55rem;line-height:1.25;font-weight:700}.item-btn.item-flash{animation:itemFlash .85s ease;box-shadow:0 0 0 2px #ffe08a,0 0 14px #ffc850d9;z-index:2}.item-btn.active-item{outline:1px solid rgba(224,112,53,.55)}.item-btn.active-item.selected{outline:2px solid #ffe08a;box-shadow:0 0 10px #ffc8508c}.item-aim-tip{margin:.15rem 0 0;min-height:1em;font-size:.68rem;color:#ffe2b0;text-align:center;width:100%}@keyframes itemFlash{0%{transform:scale(1);filter:brightness(1)}25%{transform:scale(1.12);filter:brightness(1.45)}55%{transform:scale(1.06);filter:brightness(1.25)}to{transform:scale(1);filter:brightness(1)}}.battle-toast{position:absolute;left:50%;top:.45rem;transform:translate(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:.35rem;pointer-events:none;width:min(92%,360px)}.battle-toast-card{display:flex;align-items:center;gap:.55rem;padding:.45rem .75rem;border-radius:12px;background:linear-gradient(135deg,#1c140cf0,#120e0aeb);border:1px solid rgba(255,210,120,.55);box-shadow:0 6px 20px #00000073,0 0 18px #ffb43c40;animation:toastIn .28s ease both}.battle-toast-card.foe{border-color:#c878ff8c;box-shadow:0 6px 20px #00000073,0 0 18px #a064ff47}.battle-toast-card.out{animation:toastOut .3s ease both}.battle-toast-card img{width:36px;height:36px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(255,220,140,.55))}.battle-toast-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.battle-toast-tag{font-size:.58rem;letter-spacing:.04em;color:#c8b090;text-transform:none}.battle-toast-card.mine .battle-toast-tag{color:#e8c070}.battle-toast-card.foe .battle-toast-tag{color:#c8a0e8}.battle-toast-body strong{font-size:.92rem;font-weight:700;color:#fff6e0;line-height:1.2}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastOut{to{opacity:0;transform:translateY(-8px) scale(.96)}}.drag-ghost{position:fixed;left:0;top:0;width:var(--cell-size);height:var(--cell-size);transform:translate(-50%,-50%);pointer-events:none;z-index:9999;filter:drop-shadow(0 8px 16px rgba(0,0,0,.5))}.drag-ghost img{width:100%;height:100%;object-fit:contain}.hidden{display:none!important}.battle{position:relative;display:flex;flex-direction:column;gap:.4rem;min-height:0}.hud{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;gap:.3rem;align-items:stretch;flex-shrink:0}.hud-campaign{grid-column:1 / -1;text-align:center;font-size:.62rem;color:var(--accent-2);padding:.12rem .35rem;border-radius:8px;background:#00000047;border:1px solid rgba(232,186,110,.25);line-height:1.3}.hud-campaign.hidden{display:none}.hud-card{background:linear-gradient(180deg,#4a3420,#2c1e14);border:1px solid rgba(240,200,120,.7);border-radius:12px;padding:.32rem .42rem;font-size:.72rem;line-height:1.35;color:#fff8e8;box-shadow:0 2px 8px #0006}.hud-title{font-size:.62rem;color:var(--ink-dim);margin-bottom:.05rem}.hud-sub{margin-top:.15rem;font-size:.66rem;color:var(--ink-dim)}.hud-sub strong{color:var(--accent-2);font-size:.78rem}.hud-wave{min-width:68px;display:grid;place-items:center;font-family:var(--font-display);font-size:.88rem;letter-spacing:.06em;text-align:center;background:linear-gradient(180deg,#a85a28,#5a3018);border:1px solid rgba(255,210,130,.65);border-radius:12px;padding:.28rem .4rem;box-shadow:0 3px 12px #00000059;color:#fff0c8;font-weight:700}.game-shell{position:relative;z-index:1;border-radius:14px;overflow:hidden!important;border:1px solid rgba(220,170,90,.45);background:#100e0b;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;isolation:isolate;pointer-events:none!important;box-shadow:0 6px 20px #00000059}.game-shell:before{display:none}#game{width:100%;height:100%;max-height:100%;display:flex;justify-content:center;align-items:center;background:#16210f;pointer-events:none!important;overflow:hidden!important}.battle-load-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#080604b8;pointer-events:auto}.battle-load-overlay.hidden{display:none}.battle-load-card{min-width:min(240px,70vw);padding:.85rem 1rem;border-radius:12px;border:1px solid rgba(232,186,110,.35);background:#18100ceb;text-align:center}.battle-load-card p{margin:0 0 .55rem;font-size:.85rem;color:#f0d8a8}.battle-load-track{height:6px;border-radius:999px;background:#ffffff14;overflow:hidden}.battle-load-fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,#c89040,#f0d080);transition:width .12s linear}#game>div{pointer-events:none!important;max-width:100%!important;max-height:100%!important;overflow:hidden!important}#game canvas{display:block;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;touch-action:none;pointer-events:auto!important;position:relative!important;z-index:1!important;image-rendering:auto}.dock{position:relative;z-index:10000!important;background:linear-gradient(180deg,#3e2a1a,#22160f);border:1px solid rgba(240,200,120,.65);border-radius:14px;padding:.45rem;display:flex;flex-direction:column;gap:.4rem;flex-shrink:0;touch-action:manipulation;pointer-events:auto!important;-webkit-tap-highlight-color:rgba(224,112,53,.25);box-shadow:0 -3px 14px #00000073}.dock:before{content:"";position:absolute;left:12%;right:12%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(240,200,120,.55),transparent);pointer-events:none}.dock button,.dock .bar-slot,.dock .item-btn,.dock .pool-toggle{position:relative;z-index:10001!important;pointer-events:auto!important;touch-action:manipulation;cursor:pointer}.dock .item-btn,.dock .pool-toggle{background:linear-gradient(180deg,#3a2818,#1e140e);border:1px solid rgba(232,190,110,.5);color:#fff6e0}.dock .bar-slot{touch-action:none}.drop-hint{position:absolute;left:50%;bottom:8px;transform:translate(-50%);padding:.3rem .6rem;border-radius:999px;background:#0000008c;color:var(--ink-dim);font-size:.7rem;pointer-events:none;opacity:0;white-space:nowrap;transition:opacity .2s}.game-shell.drag-over .drop-hint{opacity:1;color:var(--accent-2)}html.battle-mode,html.battle-mode body{height:100%;height:100dvh;overflow:hidden}html.battle-mode #app{height:100%;height:100dvh;max-height:100dvh;max-width:none;width:100%;display:flex;flex-direction:column;padding:var(--safe-top) 0 var(--safe-bottom);overflow:hidden}html.result-mode,html.result-mode body{height:100%;height:100dvh;overflow:hidden}html.result-mode #app{overflow:visible}html.battle-mode .topbar{display:none}html.battle-mode .battle{flex:1;min-height:0;height:100%;gap:.2rem}html.battle-mode .hud{gap:.25rem;padding:.15rem .35rem 0;grid-template-columns:1fr auto 1fr}html.battle-mode .hud-card{padding:.22rem .38rem;border-radius:10px;font-size:.68rem;color:#fff8e8;background:linear-gradient(180deg,#4a3420,#2a1c12);border-color:#f0c878b8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html.battle-mode .hud-title{display:none}html.battle-mode .hud-wave{min-width:56px;font-size:.78rem;padding:.22rem .35rem;border-radius:10px}html.battle-mode .game-shell{border-radius:0;border-left:none;border-right:none;border-color:#dcb46480;box-shadow:none;margin-bottom:0;padding-bottom:0}html.battle-mode .dock{position:relative;border-radius:12px 12px 0 0;border-left:none;border-right:none;border-bottom:none;padding:.28rem .4rem calc(.2rem + var(--safe-bottom) * .2);gap:.22rem;max-width:min(100%,420px);margin:0 auto;width:100%;box-sizing:border-box}html.battle-mode .drop-hint{display:none}html.battle-mode .pool-toggle-row{margin-bottom:0}html.battle-mode .pool-toggle{padding:.2rem .55rem;font-size:.68rem}html.battle-mode .bar-row{display:flex;justify-content:center;width:100%;padding:0}html.battle-mode .bar-panel{display:grid;grid-template-columns:repeat(5,minmax(0,var(--cell-size)));width:max-content;max-width:100%;gap:3px;margin:0 auto}html.battle-mode .bar-slot{height:var(--cell-size);max-height:52px;border-radius:7px}html.battle-mode .summon-row{display:grid;grid-template-columns:2.3rem minmax(0,1fr) 2.3rem;align-items:stretch;gap:.28rem;width:100%;max-width:calc(5 * var(--cell-size) + 12px);margin:0 auto}html.battle-mode .battle-actions{gap:.22rem;width:100%;padding:0}html.battle-mode .battle-actions .primary,html.battle-mode .summon-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.02rem;padding:.32rem .4rem;width:100%;max-width:none;min-width:0;min-height:2.3rem;margin:0;border-radius:9px;font-size:.88rem;line-height:1.05}html.battle-mode .summon-btn .summon-label{font-weight:700;letter-spacing:.1em}html.battle-mode .summon-btn .summon-cost{font-size:.66rem;color:var(--accent-2);font-weight:700;opacity:.95}html.battle-mode .active-item-rail{min-height:0}html.battle-mode .active-item-rail:empty{opacity:.2;border-style:dashed}html.battle-mode .active-item-rail .item-btn{padding:.12rem .04rem;min-height:100%;border-radius:8px}html.battle-mode .active-item-rail .item-btn img{width:32px;height:32px}html.battle-mode .item-buttons{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;width:100%;max-width:calc(5 * var(--cell-size) + 12px);margin:0 auto;justify-content:center;gap:.15rem;-webkit-overflow-scrolling:touch}html.battle-mode .item-buttons-passive .item-btn{flex:0 0 auto;max-width:2.8rem;min-width:2.5rem;padding:.18rem .08rem;border-radius:8px}html.battle-mode .item-btn img{width:28px;height:28px}.bar-panel{display:grid;grid-template-columns:repeat(5,var(--cell-size));justify-content:center;align-items:center;gap:6px;min-width:0}.bar-row{display:grid;grid-template-columns:1fr;justify-content:center;align-items:stretch;gap:0;width:100%}.summon-row{display:grid;grid-template-columns:2.6rem minmax(7rem,1fr) 2.6rem;align-items:stretch;justify-content:center;gap:.35rem;width:100%;max-width:28rem;margin:0 auto}.summon-btn .summon-cost{display:block;font-size:.75rem;color:var(--accent-2);font-weight:700}.active-item-rail{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.2rem;min-height:var(--cell-size)}.active-item-rail .item-btn{flex:0 0 auto;width:100%;max-width:none;min-width:0;padding:.22rem .1rem}.active-item-rail .item-btn img{width:22px;height:22px}.active-item-rail:empty{opacity:.4;border:1px dashed rgba(196,150,90,.3);border-radius:8px}.bar-slot{position:relative;width:100%;height:var(--cell-size);flex:unset;border:1px solid rgba(232,190,110,.55);background:linear-gradient(180deg,#3a2818,#1a120c);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:.58rem;text-align:center;cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden;padding:2px;touch-action:none;box-shadow:inset 0 1px #ffdc961f}.bar-slot img{width:78%;height:78%;object-fit:contain;pointer-events:none}.bar-slot .label{display:none}.bar-slot .lv{position:absolute;right:1px;bottom:1px;min-width:0;padding:0 4px;border-radius:5px;background:linear-gradient(180deg,#f0d78a,#c9a048);border:1px solid #fff0c0;color:#5a3a10;font-size:.68rem;line-height:1.25;font-weight:800;letter-spacing:0;box-shadow:0 1px 2px #50320a4d;z-index:1;pointer-events:none}.bar-slot .char-badge{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:var(--font-display);font-size:1.35rem;color:#ffe9b8;text-shadow:0 1px 2px #000,0 0 6px rgba(224,112,53,.65);pointer-events:none;z-index:1}.bar-slot.selected,.bar-slot.dragging{outline:2px solid var(--accent);box-shadow:0 0 0 3px var(--glow)}.bar-slot.empty{opacity:.4;cursor:default}.bar-slot.pop-in{animation:bar-slot-pop .26s cubic-bezier(.34,1.45,.55,1) backwards}@keyframes bar-slot-pop{0%{opacity:0;transform:scale(.35) translateY(10px)}70%{opacity:1;transform:scale(1.08) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.pool-toggle-row{display:flex;justify-content:flex-start;align-items:center;gap:.35rem;margin-bottom:.25rem}.campaign-restart-btn{flex-shrink:0;padding:.28rem .55rem;border-radius:8px;border:1px solid rgba(232,186,110,.45);background:#502414d9;color:#ffe8c0;font-size:.78rem;font-family:var(--font-display);cursor:pointer}.campaign-restart-btn.hidden{display:none!important}.campaign-restart-btn:hover,.campaign-restart-btn:focus-visible{border-color:#ffd278b3;background:#783018f2}#result .result-card button{width:100%;margin-top:.5rem}#result #btnBack,#result #btnBackCampaign{margin-top:.8rem}#result #btnCampaignRetry.hidden,#result #btnCampaignNext.hidden{display:none!important}.speed-toggle{width:auto;min-width:2.6rem;padding:.3rem .55rem;font-size:.72rem;font-family:var(--font-display);letter-spacing:.04em;background:#00000047;border:1px solid var(--line);color:var(--ink-dim)}#btnAudioBattle[aria-pressed=true]{color:#f0a898;border-color:#c85a4a99;background:#5a1e1873}.speed-toggle.is-active{border-color:var(--accent);color:#ffe2b0;box-shadow:0 0 10px #e8a05040}#btnPause.is-active{border-color:#78b4ffa6;color:#c8e4ff;box-shadow:0 0 10px #64a0ff47}.battle-pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;pointer-events:auto;background:#080a126b;color:#f2e6c8;font-family:var(--font-display);letter-spacing:.08em}.battle-pause-overlay p{margin:0;font-size:1.35rem;font-weight:700}.battle-pause-overlay span{font-size:.72rem;color:var(--ink-dim);letter-spacing:.04em}.battle-pause-overlay.hidden{display:none}html.battle-paused .dock .bar-row,html.battle-paused .dock .battle-actions,html.battle-paused .dock #btnPool,html.battle-paused .dock #btnCampaignRestart,html.battle-paused .dock #poolPanel{pointer-events:none;opacity:.45}.pool-toggle{width:auto;padding:.3rem .7rem;font-size:.72rem;background:#00000047;border:1px solid var(--line);color:var(--ink)}.pool-toggle.open{border-color:var(--accent);color:#ffe2b0}.pool-panel{display:grid;grid-template-columns:1fr;gap:.4rem;margin-bottom:.35rem}.pool-panel.hidden{display:none}html.battle-mode .pool-panel{position:absolute;left:.35rem;right:.35rem;bottom:calc(100% + .2rem);z-index:40;margin:0;padding:.4rem;max-height:min(42vh,280px);overflow-y:auto;-webkit-overflow-scrolling:touch;background:#120c08f0;border:1px solid rgba(232,186,110,.55);border-radius:12px;box-shadow:0 8px 28px #0000008c}html.battle-mode .pool-panel.hidden{display:none}.pool-block{background:#00000038;border:1px solid var(--line);border-radius:10px;padding:.35rem .4rem .4rem}.pool-block:last-child{grid-column:auto}.pool-title{font-size:.68rem;color:var(--ink-dim);margin-bottom:.25rem}.pool-chars,.pool-gens{display:flex;flex-wrap:wrap;gap:3px}.pool-chip{min-width:1.55rem;height:1.45rem;padding:0 .28rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:.68rem;line-height:1;white-space:nowrap;border:1px solid var(--line);background:#ffffff0a;color:var(--ink-dim);opacity:.45;box-sizing:border-box}.pool-chip.on{opacity:1;color:#fff;background:#e0703559;border-color:var(--accent)}.pool-chip.gen{font-size:.62rem;height:auto;min-height:22px;padding:2px 5px}.hp-row{display:flex;align-items:center;gap:.35rem;margin-top:.2rem}.hp-row.hearts{gap:0;min-height:1.1rem;align-items:flex-start}.hp-hearts{display:inline-flex;flex-direction:column;align-items:flex-start;gap:1px;letter-spacing:1px;font-size:.95rem;line-height:1.15;color:#e85d5d;text-shadow:0 1px 0 rgba(0,0,0,.45)}.hp-hearts .hp-line{display:block;white-space:nowrap;letter-spacing:1px}.hp-row.hearts.enemy .hp-hearts{color:#ff8a5c;align-items:flex-end}.hp-bar{flex:1;height:8px;border-radius:99px;background:#0006;overflow:hidden}.hp-bar>i{display:block;height:100%;background:linear-gradient(90deg,#c45a4a,#e07035);border-radius:99px}.hp-bar.enemy>i{background:linear-gradient(90deg,#8b3a18,#c45c26)}.range-hint{pointer-events:none}.battle-actions{display:flex;flex-direction:column;align-items:center;gap:.45rem}.battle-actions .primary{width:auto;flex:0 0 auto;min-width:9rem;margin:0 auto;padding:.55rem 1.4rem}.item-buttons{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.25rem;width:auto;max-width:100%}.item-buttons-passive .item-btn{flex:0 0 auto;max-width:2.7rem;min-width:2.4rem}.result{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40000;display:flex;align-items:center;justify-content:center;padding:1.25rem 1rem calc(1.25rem + var(--safe-bottom));background:radial-gradient(900px 480px at 50% 20%,rgba(224,112,53,.22),transparent 55%),#080604e0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-align:center;opacity:1;visibility:visible;pointer-events:auto}.result.hidden{display:none!important;opacity:0;visibility:hidden;pointer-events:none}.result.result-anim{animation:resultFadeIn .5s ease both}.result.win{background:radial-gradient(720px 420px at 50% 18%,rgba(255,196,80,.38),transparent 58%),radial-gradient(520px 320px at 50% 70%,rgba(224,112,53,.18),transparent 60%),#080604e6}.result.lose{background:radial-gradient(720px 420px at 50% 18%,rgba(160,50,40,.35),transparent 58%),#060404eb}.result-burst{position:absolute;width:min(88vw,420px);height:min(88vw,420px);border-radius:50%;pointer-events:none;opacity:0}.result.result-anim.win .result-burst{background:radial-gradient(circle,rgba(255,220,120,.35) 0%,rgba(255,180,60,.12) 42%,transparent 70%);animation:resultBurst 1.1s ease-out both}.result.result-anim.lose .result-burst{background:radial-gradient(circle,rgba(200,60,50,.28) 0%,rgba(120,30,30,.1) 45%,transparent 70%);animation:resultBurst 1s ease-out both}.result-card{position:relative;width:min(100%,360px);max-height:min(86dvh,640px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:1.6rem 1.25rem 1.35rem;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#2a2118fa,#120e0af5);box-shadow:0 18px 48px #0000008c;opacity:1;transform:none}.result.result-anim .result-card{animation:resultCardIn .55s cubic-bezier(.22,1.2,.36,1) .12s both}.result.win .result-card{border-color:#ffc85a8c;box-shadow:0 0 0 1px #ffd27833,0 18px 48px #0000008c,0 0 40px #ffb43c38}.result.lose .result-card{border-color:#c8504673;box-shadow:0 18px 48px #0000008c,0 0 28px #8c281e40}.result-eyebrow{margin:0 0 .35rem;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-dim);opacity:1}.result.result-anim .result-eyebrow{animation:resultFadeUp .4s ease .12s both}.result.win .result-eyebrow{color:#ffd070}.result.lose .result-eyebrow{color:#e09080}.result h2{font-family:var(--font-display);font-size:2.35rem;margin:0 0 .55rem;font-weight:400;letter-spacing:.18em;opacity:1;transform:none}.result.result-anim h2{animation:resultTitlePop .55s cubic-bezier(.2,1.35,.36,1) .08s both}.result.win h2{color:#ffe08a;text-shadow:0 0 18px rgba(255,200,80,.55),0 2px 0 rgba(80,40,10,.35)}.result.lose h2{color:#ffb0a0;text-shadow:0 0 14px rgba(200,60,50,.4)}.result-rank{margin:.15rem 0 .85rem;min-height:3.2rem}.result-rank-title{margin:0 0 .35rem;font-family:var(--font-display);font-size:1.05rem;letter-spacing:.08em;color:#ffe9b8;opacity:1}.result.result-anim .result-rank-title{animation:resultFadeUp .35s ease .15s both}.result-stars{display:flex;justify-content:center;align-items:center;gap:.35rem;min-height:1.8rem;opacity:1}.result.result-anim .result-stars{animation:resultFadeUp .35s ease .18s both}.result-stars .star{font-size:1.65rem}.result-stars .star-count{font-size:1.25rem}.result-rank-hint{margin:.4rem 0 0;font-size:.78rem;color:#ffd070;letter-spacing:.06em;opacity:1;min-height:1.1em}.result.result-anim .result-rank-hint{animation:resultFadeUp .35s ease .22s both}.result.lose .result-rank-hint{color:#ffb8a8}.star-gain{animation:starGainPop .55s cubic-bezier(.2,1.4,.36,1) both}@keyframes starGainPop{0%{transform:scale(.4);opacity:.2;filter:brightness(1.8)}60%{transform:scale(1.35);opacity:1}to{transform:scale(1);filter:brightness(1)}}.star-shatter{position:relative;animation:starShatter .75s ease-in forwards;color:#ffd24a}.star-shatter:before,.star-shatter:after{content:"?";position:absolute;left:0;top:0;color:#ffd24a;pointer-events:none;text-shadow:0 0 8px rgba(255,190,50,.8)}.star-shatter:before{animation:starShardL .75s ease-in forwards}.star-shatter:after{animation:starShardR .75s ease-in forwards}@keyframes starShatter{0%{transform:scale(1) rotate(0);opacity:1;filter:brightness(1.2);text-shadow:0 0 10px rgba(255,200,60,.8)}35%{transform:scale(1.25) rotate(-12deg);opacity:1;filter:brightness(1.6)}to{transform:scale(.15) translateY(18px) rotate(28deg);opacity:0;filter:brightness(.6);text-shadow:none;color:#c08040}}@keyframes starShardL{0%{opacity:.95;transform:translate(0) scale(.7) rotate(0)}to{opacity:0;transform:translate(-22px,26px) scale(.25) rotate(-50deg);color:#c08040}}@keyframes starShardR{0%{opacity:.95;transform:translate(0) scale(.7) rotate(0)}to{opacity:0;transform:translate(24px,22px) scale(.2) rotate(55deg);color:#c08040}}.result p#resultDetail{margin:0 0 1.15rem;color:var(--ink-dim);font-size:.82rem;line-height:1.45;opacity:1}.result.result-anim p#resultDetail{animation:resultFadeUp .35s ease .2s both}.result .primary{width:100%;opacity:1;position:relative;z-index:1}.result.result-anim .primary{animation:resultFadeUp .35s ease .25s both}@media(prefers-reduced-motion:reduce){.result,.result .result-card,.result-eyebrow,.result h2,.result-rank-title,.result-stars,.result-rank-hint,.result p#resultDetail,.result .primary{animation:none!important;opacity:1!important;transform:none!important}}@keyframes resultFadeIn{0%{opacity:0}to{opacity:1}}@keyframes resultCardIn{0%{opacity:0;transform:translateY(22px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes resultTitlePop{0%{opacity:0;transform:scale(.55) translateY(8px)}65%{opacity:1;transform:scale(1.08) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes resultFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes resultBurst{0%{opacity:0;transform:scale(.35)}35%{opacity:1}to{opacity:0;transform:scale(1.35)}}.boss-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:35000;display:flex;align-items:center;justify-content:center;padding:1rem .85rem calc(1rem + var(--safe-bottom));background:#060403b8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:fadeUp .22s ease both;pointer-events:auto}.boss-overlay.hidden{display:none!important}.boss-sheet{width:min(100%,360px);padding:1.15rem 1.1rem 1.2rem;border-radius:16px;border:1px solid rgba(255,120,70,.45);background:radial-gradient(420px 180px at 50% 0%,rgba(224,80,40,.28),transparent 60%),linear-gradient(180deg,#2c1c14,#120e0a);box-shadow:0 18px 44px #0000008c;text-align:center}.boss-eyebrow{margin:0 0 .55rem;font-size:.72rem;letter-spacing:.18em;color:#ffb080}.boss-portrait{width:min(46vw,168px);height:min(46vw,168px);object-fit:contain;margin:0 auto .55rem;filter:drop-shadow(0 10px 22px rgba(255,90,40,.35));animation:bossReveal .45s ease both}@keyframes bossReveal{0%{opacity:0;transform:scale(.82) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.boss-sheet h2{margin:0 0 .45rem;font-family:var(--font-display);font-size:1.55rem;font-weight:400;letter-spacing:.1em;color:#ffe8d0}.boss-detail{margin:0 0 .75rem;font-size:.78rem;line-height:1.5;color:var(--ink-dim);text-align:left}.boss-skill{text-align:left;padding:.55rem .65rem;margin-bottom:.9rem;border-radius:10px;background:#00000047;border:1px solid rgba(255,160,90,.28)}.boss-skill-tag{display:inline-block;font-size:.62rem;letter-spacing:.08em;color:#ffc090;margin-bottom:.2rem}.boss-skill strong{display:block;font-size:.95rem;color:#ffe0c0;margin-bottom:.25rem}.boss-skill p{margin:0;font-size:.76rem;line-height:1.45;color:var(--ink-dim)}.boss-sheet .primary{width:100%}.detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;padding:0 0 var(--safe-bottom);animation:fadeUp .2s ease both}.detail-sheet{width:min(100%,520px);max-height:min(72vh,560px);overflow:auto;background:linear-gradient(180deg,#2a2118,#16110c);border:1px solid var(--line);border-radius:18px 18px 0 0;padding:1rem 1rem 1.1rem;box-shadow:0 -12px 40px #00000073}.detail-sheet-head{display:grid;grid-template-columns:56px 1fr auto;gap:.75rem;align-items:center;margin-bottom:.75rem}.detail-icon{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}.detail-sheet-head h3{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:400}.detail-sub{margin:.2rem 0 0;color:var(--ink-dim);font-size:.8rem}.detail-close{width:36px;height:36px;border-radius:50%;padding:0;font-size:1.35rem;line-height:1}.detail-body{display:flex;flex-direction:column;gap:.55rem;font-size:.9rem;line-height:1.45}.detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.detail-stat{background:#00000047;border:1px solid var(--line);border-radius:10px;padding:.5rem .45rem;text-align:center}.detail-stat span{display:block;color:var(--ink-dim);font-size:.72rem;margin-bottom:.2rem}.detail-stat strong{font-size:1rem}.detail-stat strong small{color:var(--ink-dim);font-size:.7rem;font-weight:500;text-decoration:line-through;opacity:.8}.detail-block{background:#00000038;border:1px solid var(--line);border-radius:12px;padding:.7rem .75rem}.detail-block h4{margin:0 0 .35rem;font-size:.92rem;color:var(--accent-2);font-weight:600}.detail-block p{margin:0;color:var(--ink);font-size:.86rem}.detail-status{border-color:#ffd264a6;background:linear-gradient(135deg,#734e1659,#18120c59)}.detail-status p+p{margin-top:.35rem}.status-dot{display:inline-block;width:.48rem;height:.48rem;margin-right:.4rem;border-radius:50%;background:#ffd35a;box-shadow:0 0 8px #ffd35ab8}.detail-actions{display:flex;gap:.5rem;margin-top:.9rem}.detail-actions .primary{flex:1}.ask-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50000;background:#0000009e;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeUp .16s ease both}.ask-sheet{width:min(100%,340px);padding:1.1rem 1.15rem 1rem;text-align:center;border-radius:16px;border:2px solid var(--gold-dim);background:repeating-linear-gradient(92deg,#00000024 0,#00000024 2px,#ffdca008 2px,#ffdca008 5px),linear-gradient(160deg,var(--wood-lit) 0%,var(--wood) 45%,var(--wood-2) 100%);box-shadow:inset 0 1px #ffe8be38,inset 0 -2px 6px #00000073,0 16px 40px #0000008c;animation:askPop .18s cubic-bezier(.34,1.4,.64,1) both}.ask-eyebrow{margin:0 0 .15rem;font-size:var(--fs-aux);letter-spacing:.16em;color:var(--gold);opacity:.85}.ask-title{margin:0;font-family:var(--font-display);font-size:1.24rem;font-weight:400;color:var(--ink)}.ask-body{margin:.5rem 0 0;font-size:var(--fs-body);line-height:1.55;color:var(--ink-dim);white-space:pre-line}.ask-eyebrow:empty,.ask-body:empty{display:none}.ask-actions{display:flex;gap:.55rem;margin-top:1rem}.ask-btn{flex:1;min-height:44px;padding:.5rem .6rem;font-size:.95rem;font-family:var(--font-display);border-radius:11px;cursor:pointer}.ask-cancel{color:var(--ink-dim);border:1px solid var(--gold-dim);background:linear-gradient(180deg,#0000004d,#00000073)}.ask-ok{color:#2a1408;border:1px solid var(--gold);background:linear-gradient(180deg,var(--accent-2),var(--accent));box-shadow:0 6px 16px var(--glow)}.ask-btn:active{transform:translateY(1px) scale(.99)}@keyframes askPop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.bag-item,.shop-item,.shop-item button{cursor:pointer}@keyframes pulse{0%,to{box-shadow:0 10px 24px var(--glow)}50%{box-shadow:0 10px 34px #e070358c}}@keyframes fadeUp{0%{opacity:0}to{opacity:1}}@media(min-width:640px){#app{max-width:560px;padding:1.25rem}.hero{max-height:300px}.shop-list,.bag-list{grid-auto-columns:5.8rem}.shop-art{width:52px;height:52px}.shop-item strong,.bag-item strong{font-size:.75rem}.shop-item span,.bag-item span{font-size:.7rem}.shop-item button{font-size:.75rem;padding:.35rem .4rem}.hud-card{font-size:.82rem}.hud-wave{font-size:1rem;min-width:96px}}@media(max-width:420px){.bar-panel{gap:3px;grid-template-columns:repeat(5,var(--cell-size));width:max-content;max-width:100%;margin:0 auto}html.battle-mode .bar-panel{grid-template-columns:repeat(5,minmax(0,var(--cell-size)));width:max-content}.bar-slot{height:auto;aspect-ratio:1}html.battle-mode .bar-slot{height:var(--cell-size);max-height:48px;aspect-ratio:auto}.bar-slot .lv{font-size:.62rem;padding:0 3px;border-radius:4px;right:0;bottom:0}html.battle-mode .summon-row{grid-template-columns:2.15rem minmax(0,1fr) 2.15rem;gap:.22rem;max-width:calc(5 * var(--cell-size) + 8px)}.battle-actions{gap:.22rem}.item-buttons{gap:.15rem;flex-wrap:nowrap;overflow-x:auto}.item-btn{max-width:none;padding:.18rem .06rem}.item-btn img{width:28px;height:28px}.item-badge{font-size:.5rem;min-width:12px;padding:0 2px}}@media(max-width:360px){.lobby-hero{grid-template-columns:76px 1fr}}.match-actions{display:flex;flex-wrap:wrap;gap:.35rem}.campaign-entry{flex:1 1 100%;background:linear-gradient(135deg,#5028788c,#283c648c);border-color:#c8aaff73}.campaign{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.45rem;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,rgba(60,40,90,.35),transparent 55%),var(--panel)}.campaign-head{display:flex;align-items:flex-start;gap:.5rem;flex-shrink:0}.camp-back{flex-shrink:0;border:1px solid var(--line);background:#00000040;color:var(--ink-dim);border-radius:8px;padding:.35rem .55rem;font-size:.72rem;cursor:pointer}.campaign-head-copy h2{margin:.1rem 0 .2rem;font-family:var(--font-display);font-size:1.2rem;font-weight:400}.camp-eyebrow{margin:0;font-size:.68rem;letter-spacing:.14em;color:var(--accent-2)}.camp-progress{margin:0;font-size:.72rem;color:var(--ink-dim)}.camp-ch-tabs{display:flex;gap:.28rem;overflow-x:auto;flex-shrink:0;padding-bottom:.15rem;-webkit-overflow-scrolling:touch}.camp-ch-tab{flex:0 0 auto;min-width:4.8rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#00000047;color:var(--ink-dim);padding:.28rem .4rem;text-align:left;cursor:pointer;transition:transform .15s,box-shadow .15s}.camp-ch-tab.active{transform:translateY(-1px);box-shadow:0 4px 14px var(--ch-glow, rgba(255, 200, 100, .25));border-color:var(--ch-accent, var(--line));color:var(--ink)}.camp-ch-tab-no{display:block;font-size:.58rem;opacity:.75}.camp-ch-tab-name{display:block;font-size:.68rem;font-weight:600}.camp-ch-tab-stars{display:block;font-size:.58rem;color:var(--accent-2)}.camp-map-scroll{flex:1 1 auto;min-height:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.camp-map-track{display:flex;height:100%;min-height:220px}.camp-chapter{flex:0 0 min(92vw,420px);scroll-snap-align:start;padding:.55rem;margin-right:.45rem;border-radius:14px;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,#00000026,#00000073),radial-gradient(circle at 80% 10%,var(--ch-glow, transparent),transparent 45%)}.camp-chapter:before{content:attr(data-pattern);position:absolute;top:0;right:0;bottom:0;left:0;opacity:.04;font-size:4rem;font-family:var(--font-display);display:flex;align-items:center;justify-content:center;pointer-events:none}.ch-dongtu{--ch-accent: #e8c878;--ch-glow: rgba(232, 200, 120, .35)}.ch-liusha{--ch-accent: #8ec5e8;--ch-glow: rgba(110, 185, 230, .35)}.ch-pingding{--ch-accent: #9ed4a0;--ch-glow: rgba(120, 190, 130, .35)}.ch-huoyan{--ch-accent: #f08050;--ch-glow: rgba(240, 100, 60, .4)}.ch-niemo{--ch-accent: #c87850;--ch-glow: rgba(180, 90, 50, .38)}.ch-tongtian{--ch-accent: #70b8d8;--ch-glow: rgba(80, 170, 220, .35)}.ch-jindou{--ch-accent: #d8b840;--ch-glow: rgba(210, 175, 50, .38)}.ch-shituo{--ch-accent: #a878d8;--ch-glow: rgba(150, 100, 210, .38)}.ch-lingyun{--ch-accent: #f0e8c0;--ch-glow: rgba(240, 230, 180, .45)}.camp-ch-head{display:grid;grid-template-columns:64px 1fr;gap:.45rem;margin-bottom:.5rem}.camp-ch-art{width:64px;height:64px;border-radius:12px;background:#00000059 center/contain no-repeat;border:1px solid var(--ch-accent, var(--line));box-shadow:0 0 18px var(--ch-glow, transparent)}.camp-ch-eyebrow{margin:0;font-size:.62rem;color:var(--ch-accent2, var(--accent-2))}.camp-ch-head h3{margin:.1rem 0;font-family:var(--font-display);font-size:1rem;color:var(--ch-accent, var(--ink))}.camp-ch-motto,.camp-ch-boss{margin:.12rem 0 0;font-size:.65rem;color:var(--ink-dim);line-height:1.35}.camp-path{position:relative;padding:.35rem 0}.camp-layout{position:relative;min-height:200px;padding:.25rem 0}.camp-nodes{display:flex;flex-wrap:wrap;gap:.35rem;position:relative;z-index:1}.layout-uniform .uniform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.layout-uniform .camp-node{min-height:3.6rem}.layout-vertical .col-flow{flex-direction:column;align-items:center;max-width:11rem;margin:0 auto}.layout-river .river-flow{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:.5rem .2rem;gap:.5rem}.layout-river .camp-river-deco{position:absolute;left:0;right:0;top:50%;height:28%;background:linear-gradient(180deg,transparent,rgba(80,150,220,.2),transparent);border-radius:40%;pointer-events:none}.layout-zigzag .zigzag-flow{display:flex;flex-direction:column;gap:.35rem}.layout-zigzag .zig-row{display:flex;width:100%}.layout-zigzag .zig-row.left{justify-content:flex-start}.layout-zigzag .zig-row.right{justify-content:flex-end}.layout-ring{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;align-items:center}.layout-ring .ring-outer{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem}.layout-ring .camp-ring-center{grid-column:1 / -1;display:flex;justify-content:center}.layout-ring .camp-ring-center .camp-node.boss{min-width:70%}.layout-radial .radial-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}.layout-radial .camp-radial-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid var(--ch-accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--ch-accent);background:#00000073;pointer-events:none;z-index:0}.layout-bridge .bridge-flow{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.4rem;padding-top:1.2rem}.layout-bridge .camp-bridge-deck{position:absolute;left:5%;right:5%;top:42%;height:3px;background:linear-gradient(90deg,transparent,var(--ch-accent),transparent);opacity:.6}.layout-twin{display:grid;grid-template-columns:1fr auto 1fr;gap:.35rem;align-items:stretch}.layout-twin .twin-col{flex-direction:column}.layout-twin .camp-twin-gap{display:flex;align-items:center;font-size:.7rem;color:var(--ch-accent);opacity:.7}.layout-spiral .spiral-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;max-width:16rem;margin:0 auto}.layout-spiral .spiral-flow .camp-node:nth-child(1){grid-column:1;grid-row:1}.layout-spiral .spiral-flow .camp-node:nth-child(2){grid-column:2;grid-row:1}.layout-spiral .spiral-flow .camp-node:nth-child(3){grid-column:3;grid-row:1}.layout-spiral .spiral-flow .camp-node:nth-child(4){grid-column:3;grid-row:2}.layout-spiral .spiral-flow .camp-node:nth-child(5){grid-column:3;grid-row:3}.layout-spiral .spiral-flow .camp-node:nth-child(6){grid-column:2;grid-row:3}.layout-spiral .spiral-flow .camp-node:nth-child(7){grid-column:1;grid-row:3}.layout-spiral .spiral-flow .camp-node:nth-child(8){grid-column:1;grid-row:2}.layout-spiral .spiral-flow .camp-node:nth-child(9){grid-column:2;grid-row:2}.layout-ascend .ascend-flow{flex-direction:column-reverse;align-items:center;gap:.28rem;padding-left:1.5rem;border-left:2px dashed rgba(255,255,255,.15);margin-left:1rem}.layout-ascend .camp-stairs{position:absolute;right:8%;bottom:8%;top:20%;width:1.5rem;background:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(255,255,255,.08) 12px,rgba(255,255,255,.08) 16px);pointer-events:none}html.battle-mode.defense-only .game-shell{flex:1 1 auto;min-height:0;display:flex;align-items:stretch;justify-content:stretch;border-radius:10px}html.battle-mode.defense-only #game{flex:1 1 auto;width:100%;height:100%;max-height:100%}html.battle-mode.defense-only #game canvas{width:100%!important;height:100%!important}html.battle-mode.defense-only .dock{flex-shrink:0}html.battle-mode.defense-only .battle{display:flex;flex-direction:column;min-height:0;flex:1;gap:.15rem}html.battle-mode.defense-only #battleWrap.battle{min-height:0}html.battle-mode.defense-only .hud{grid-template-columns:1fr auto}html.battle-mode.defense-only #hudRight{display:none}.hud-defend .hud-sub strong{color:var(--accent-2);font-size:.85rem}.camp-node{border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#00000052;color:var(--ink);padding:.32rem .25rem;cursor:pointer;min-height:3.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.08rem;transition:transform .12s,box-shadow .12s,border-color .12s}.camp-node:not(:disabled):hover{transform:translateY(-2px)}.camp-node.selected{border-color:var(--ch-accent, var(--accent-2));box-shadow:0 0 16px var(--ch-glow, var(--glow))}.camp-node.current{animation:camp-pulse 1.8s ease-in-out infinite}.camp-node.cleared{border-color:#5cb8848c}.camp-node.boss{min-height:2.8rem;background:linear-gradient(90deg,#00000073,#50141440);border-color:var(--ch-accent, var(--bad))}.camp-node.selected,.camp-node.cleared.selected,.camp-node.boss.selected,.camp-node.current.selected,.camp-node.open.selected{animation:none;border-color:#ffe08a;background:linear-gradient(160deg,#e8783859,#28180cd9);box-shadow:0 0 0 2px #ffe08af2,0 0 18px var(--ch-glow, rgba(255, 210, 120, .55));transform:translateY(-2px);z-index:2}.camp-node.locked{opacity:.38;cursor:not-allowed}.camp-node-no{font-size:.62rem;color:var(--ch-accent, var(--accent-2));font-weight:700}.camp-node-name{font-size:.68rem;text-align:center;line-height:1.2}.camp-node-stars{font-size:.58rem;color:var(--accent-2);min-height:.75rem}.camp-star.lit{color:var(--accent-2)}@keyframes camp-pulse{0%,to{box-shadow:0 0 #ffd27800}50%{box-shadow:0 0 14px #ffd27873}}.camp-detail{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.45rem;border-radius:12px;background:#00000047;border:1px solid var(--line)}.camp-detail-copy{width:100%;text-align:center;max-height:min(42vh,22rem);overflow-y:auto;padding:.15rem .25rem;scrollbar-width:thin}.camp-detail h3{margin:0 0 .35rem;font-family:var(--font-display);font-size:1rem;font-weight:700;text-align:center;line-height:1.35}.camp-detail-art{width:5.5rem;height:5.5rem;margin:0 auto .25rem;border-radius:10px;background-position:center;background-repeat:no-repeat;background-size:contain;background-color:#00000038;border:1px solid rgba(255,255,255,.1)}.camp-detail-art[hidden]{display:none}.camp-detail-boss{margin:0 0 .3rem;font-size:.78rem;font-weight:600;color:var(--ink)}.camp-detail-skill-name{margin:.05rem 0;font-size:.74rem;font-weight:600;color:var(--accent-2)}.camp-detail-skill-desc,.camp-detail-meta{margin:.12rem auto;max-width:28rem;font-size:.66rem;color:var(--ink-dim);line-height:1.4}.camp-detail-meta{margin-top:.35rem;color:var(--accent-2)}.camp-detail-stars-block{margin-top:.35rem}.camp-detail-stars-label{margin:0 0 .12rem;font-size:.68rem;font-weight:600;color:var(--ink)}.camp-detail-stars{display:flex;flex-direction:column;align-items:center;gap:.08rem;font-size:.62rem;color:var(--ink-dim)}.camp-detail-stars .lit{color:var(--accent-2)}.camp-start{min-width:7rem;align-self:center;margin:0 auto}#hudCampaign{grid-column:1 / -1;text-align:center;font-size:.62rem;color:var(--accent-2);padding:.12rem .35rem;border-bottom:1px solid rgba(232,186,110,.2);line-height:1.3}.result-campaign-stars{margin:.35rem 0;font-size:1.4rem;letter-spacing:.12em;color:var(--accent-2)}.result-campaign-stars .gain{display:block;font-size:.72rem;color:var(--ink-dim);letter-spacing:0;margin-top:.2rem}@media(max-width:480px){.camp-start{width:min(100%,12rem)}.camp-chapter{flex-basis:88vw}.camp-detail-copy{max-height:min(38vh,20rem)}}.weapons-entry{flex:1 1 100%}.weapons-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#080604b8;padding:.5rem}.weapons-overlay.hidden{display:none}.account-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-end;justify-content:center;background:#080604b8;padding:.5rem}.account-overlay.hidden{display:none}.account-sheet{width:min(420px,100%);max-height:min(88dvh,640px);overflow:auto;background:linear-gradient(165deg,#2c1e14,#16100c);border:1px solid var(--line);border-radius:16px 16px 8px 8px;padding:.85rem .9rem 1.1rem;box-shadow:0 -8px 40px #00000073}.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.account-eyebrow{margin:0;font-size:.72rem;color:var(--accent-2);letter-spacing:.08em}.account-head h2{margin:.1rem 0 0;font-family:var(--font-display);font-size:1.15rem}.account-status{margin:0 0 .65rem;font-size:.78rem;color:var(--ink-dim)}.account-status.is-bound{color:var(--accent-2)}.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:.65rem}.account-tab{padding:.4rem .5rem;border-radius:999px;border:1px solid var(--line);background:#00000040;color:var(--ink-dim);font-size:.78rem}.account-tab.is-active{border-color:var(--accent);color:#ffe2b0;background:#5030148c}.account-panel.hidden{display:none}.account-hint{margin:0 0 .55rem;font-size:.68rem;color:var(--ink-dim);line-height:1.45}.account-field{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.45rem;font-size:.72rem;color:var(--ink-dim)}.account-field input{width:100%;box-sizing:border-box;padding:.45rem .55rem;border-radius:8px;border:1px solid var(--line);background:#00000059;color:var(--ink);font-size:.9rem}.account-field.hidden{display:none}.account-panel .primary{width:100%;margin-top:.25rem}.account-msg{min-height:1.2em;margin:.55rem 0 0;font-size:.72rem;color:var(--accent-2);line-height:1.35}.account-msg.is-error{color:#f0a898}.weapons-sheet{width:min(520px,100%);max-height:min(88dvh,720px);overflow:auto;background:linear-gradient(165deg,#2c1e14,#16100c);border:1px solid var(--line);border-radius:16px 16px 8px 8px;padding:.85rem .9rem 1.1rem;box-shadow:0 -8px 40px #00000073}.weapons-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.weapons-eyebrow{margin:0;font-size:.72rem;color:var(--accent-2);letter-spacing:.08em}.weapons-head h2{margin:.1rem 0 0;font-family:var(--font-display);font-size:1.35rem}.weapons-hint{margin:0 0 .75rem;font-size:.78rem;color:var(--ink-dim);line-height:1.45}.weapons-equip-section h3,.weapons-list-section h3{margin:.4rem 0 .45rem;font-size:.9rem;font-family:var(--font-display);color:var(--accent-2)}.weapon-hero-card{margin-bottom:.55rem;padding:.45rem .5rem;border:1px solid rgba(232,186,110,.25);border-radius:10px;background:#140e0a8c}.weapon-hero-head{display:flex;justify-content:space-between;gap:.4rem;margin-bottom:.35rem;font-size:.82rem}.weapon-hero-head span{color:var(--ink-dim)}.weapon-equip-row{display:flex;flex-wrap:wrap;gap:.3rem}.weapon-chip{font-size:.72rem;padding:.25rem .45rem;border-radius:999px;border:1px solid rgba(232,186,110,.35);background:#281c12e6;color:var(--ink)}.weapon-chip.equipped{border-color:var(--accent-2);box-shadow:0 0 0 1px #ffd27859}.weapon-chip.rarity-rare{color:#9ec0ff}.weapon-chip.rarity-legendary{color:#ffd278}.weapon-family{margin-bottom:.75rem}.weapon-family h4{margin:0 0 .35rem;font-size:.85rem;color:var(--ink)}.weapon-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.weapon-card{position:relative;display:grid;grid-template-columns:52px 1fr;gap:.35rem .5rem;align-items:start;padding:.45rem .5rem .5rem;border-radius:10px;border:1px solid rgba(232,186,110,.28);background:#18100cbf;overflow:hidden}.weapon-card.locked{opacity:.45}.weapon-card-tint{grid-row:1 / span 4;width:52px;height:52px;border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden}.weapon-card-art{width:46px;height:46px;object-fit:contain;image-rendering:auto}.weapon-card strong{display:block;font-size:.82rem;margin-left:0}.weapon-meta,.weapon-status,.weapon-trait{margin:.15rem 0 0;font-size:.68rem;color:var(--ink-dim);line-height:1.35}.weapon-trait{color:#c8d8ff}.weapon-card>button{grid-column:2}.weapon-card .primary{margin:.35rem 0 0 .35rem;font-size:.72rem;padding:.2rem .55rem}.weapon-card.rarity-legendary{border-color:#e8ba6e8c}.weapon-card.rarity-rare{border-color:#6496ff66}.result-weapon-drop{margin:.25rem 0 .15rem;font-size:.85rem;color:var(--accent-2)}.result-weapon-drop.hidden{display:none}.prepare-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:75;display:flex;align-items:flex-end;justify-content:center;background:#080604b8;padding:.5rem}.prepare-overlay.hidden{display:none!important}.prepare-sheet{width:min(520px,100%);max-height:min(88dvh,720px);overflow:auto;background:linear-gradient(165deg,#2c1e14,#16100c);border:1px solid var(--line);border-radius:16px 16px 8px 8px;padding:.85rem .9rem 1.1rem;box-shadow:0 -8px 40px #00000073}.prepare-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.prepare-eyebrow{margin:0;font-size:.72rem;color:var(--accent-2);letter-spacing:.08em}.prepare-head h2{margin:.1rem 0 0;font-family:var(--font-display);font-size:1.35rem}.prepare-hint{margin:0 0 .7rem;font-size:.78rem;color:var(--ink-dim);line-height:1.45}.prepare-sheet .bag,.prepare-sheet .shop{margin-top:.55rem}.guide-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;padding:0 .85rem .45rem}.guide-tab{padding:.4rem .2rem;border-radius:8px;border:1px solid rgba(232,186,110,.28);background:#ffffff08;color:var(--ink-dim);font-size:.78rem;cursor:pointer}.guide-tab.active{color:#fff4dc;border-color:#ffd2788c;background:#e878382e}
