@font-face{font-family:Kenney Future;src:url(/ui/Kenney%20Future.ttf) format("truetype");font-display:swap}@font-face{font-family:Kenney Future Narrow;src:url(/ui/Kenney%20Future%20Narrow.ttf) format("truetype");font-display:swap}*,*:before,*:after{box-sizing:border-box}:root{--rarity-0: #b9c3cf;--rarity-1: #4caf50;--rarity-2: #2f8fef;--rarity-3: #9b4de0;--rarity-4: #ff8f2e;--rarity-5: #ff4d5e;--rarity-6: #7b2ff7;--p1: #2f8fef;--p2: #ff6fb5;--p3: #ffb300;--p4: #21c0a8;--sky-top: #cfefff;--sky-bottom: #eafaff;--cream: #fff8ec;--cream-2: #fff1da;--panel-bg: #fffaf1;--panel-bg-2: #fff2dd;--panel-border: #ffffff;--ink: #2b3242;--ink-dim: #6b7686;--candy-pink: #ff6fb5;--candy-blue: #4d96ff;--candy-yellow: #ffd93d;--candy-green: #6bcb77;--candy-red: #ff5252;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--shadow-soft: 0 6px 16px rgba(60, 90, 120, .16);--shadow-pop: 0 12px 28px rgba(60, 90, 120, .24);--font-game: "Baloo 2", system-ui, sans-serif;--font-accent: "Kenney Future", var(--font-game);color-scheme:light}html,body{height:100%;margin:0;overscroll-behavior:none}body{font-family:var(--font-game);color:var(--ink);background:linear-gradient(180deg,var(--sky-top) 0%,var(--sky-bottom) 60%,#f5fff0 100%);-webkit-tap-highlight-color:transparent;overflow:hidden}#game-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;z-index:0;display:block}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;z-index:10;font-family:var(--font-game);pointer-events:none}.ui-screens-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:auto}.ui-screens-layer--hidden{display:none}.ui-hud-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:inherit;color:var(--ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#3c5a780f;border-radius:8px}::-webkit-scrollbar-thumb{background:#3c5a7847;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#3c5a7866}*{scrollbar-width:thin;scrollbar-color:rgba(60,90,120,.28) transparent}.btn{font-family:var(--font-game);font-weight:700;font-size:15px;padding:10px 18px;min-height:44px;border-radius:var(--radius-md);background:var(--panel-bg);color:var(--ink);border:3px solid rgba(60,90,120,.14);box-shadow:var(--shadow-soft);transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.05);box-shadow:var(--shadow-pop)}.btn:active{transform:translateY(1px) scale(.97);filter:brightness(.96)}.btn--primary,.btn--secondary,.btn--danger,.btn--upgrade{border-style:solid;border-width:20px 22px;border-image-slice:20 22 fill;border-image-width:20px 22px;border-image-repeat:stretch;box-shadow:none}.btn--primary{border-image-source:url(/ui/Green/Default/button_rectangle_depth_gradient.png);color:#0c2010}.btn--secondary{border-image-source:url(/ui/Blue/Default/button_rectangle_depth_gradient.png);color:#06213f}.btn--danger{border-image-source:url(/ui/Red/Default/button_rectangle_depth_gradient.png);color:#370606}.btn--big{font-size:18px;padding:14px 26px;border-radius:var(--radius-lg)}.btn--disabled,.btn:disabled{opacity:.45;filter:grayscale(.4);pointer-events:none}.btn--back{background:transparent;box-shadow:none;border:none;color:var(--ink-dim)}.btn--nav{flex-direction:column;font-size:13px;gap:2px}.btn-emoji{font-size:22px}.btn--upgrade{border-image-source:url(/ui/Yellow/Default/button_rectangle_depth_gradient.png);color:#2b1f00;font-size:13px;padding:6px 10px;min-height:36px}.btn--deck{background:linear-gradient(180deg,#6df0d4,#21c0a8);border-color:#1f7a68;font-size:13px;padding:6px 10px;min-height:36px;color:#04241d}.btn--deck-remove{background:linear-gradient(180deg,#ffb877,#ff8f2e);border-color:#a85b12;color:#2b1500}.btn--gacha{background:linear-gradient(180deg,#f8b6ff,#b15eff);border-color:#7a2fd6;color:#2c0a4a}.input{font-family:var(--font-game);font-size:16px;padding:10px 14px;min-height:44px;border-radius:var(--radius-md);background:#3c5a780f;border:3px solid rgba(60,90,120,.16);outline:none;color:var(--ink)}.input:focus{border-color:var(--candy-green)}.input--shake{animation:input-shake .4s ease}@keyframes input-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.select{font-family:var(--font-game);font-size:15px;padding:8px 12px;min-height:40px;border-radius:var(--radius-sm);background:#3c5a780f;border:2px solid rgba(60,90,120,.16);color:var(--ink)}.slider{width:100%;accent-color:var(--candy-green)}.toast-stack{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:200;pointer-events:none;align-items:center}.toast{background:var(--panel-bg);border:2px solid rgba(60,90,120,.18);border-radius:var(--radius-md);padding:10px 18px;box-shadow:var(--shadow-soft);font-weight:700;color:var(--ink);opacity:0;transform:translateY(-14px);transition:opacity .25s ease,transform .25s ease}.toast--error{border-color:var(--candy-red);background:#ffe6e6}.toast--in{opacity:1;transform:translateY(0)}.toast--out{opacity:0;transform:translateY(-10px)}.modal-host{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;pointer-events:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#5a789659;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .18s ease;pointer-events:auto;padding:16px}.modal-backdrop--in{opacity:1}.modal-content{background:var(--panel-bg);border-radius:var(--radius-lg);border:3px solid rgba(60,90,120,.14);box-shadow:var(--shadow-pop);padding:22px;max-width:min(480px,92vw);max-height:86dvh;overflow-y:auto;transform:scale(.92);animation:modal-pop .2s ease forwards;color:var(--ink)}@keyframes modal-pop{to{transform:scale(1)}}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.reconnect-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#5a789680;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:var(--ink)}.reconnect-spinner{font-size:48px;animation:spin-bounce 1s ease-in-out infinite}@keyframes spin-bounce{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-10px) rotate(8deg)}}.reconnect-label{font-weight:700;font-size:16px;color:var(--ink-dim);background:var(--panel-bg);padding:8px 16px;border-radius:var(--radius-md)}.modal-content{position:relative;isolation:isolate}.modal-content:before{content:"";position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;z-index:-1;border-radius:inherit;background:url(/ui/adventure/panel_grey.png) center/100% 100% stretch;filter:sepia(.35) saturate(1.3) brightness(1.1) hue-rotate(-8deg);pointer-events:none}.screen{position:absolute;top:0;right:0;bottom:0;left:0;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(ellipse at top,var(--sky-top) 0%,var(--sky-bottom) 55%,#f5fff0 100%);overflow:hidden;color:var(--ink)}.screen--scroll{overflow-y:auto}.screen--center{display:flex;align-items:center;justify-content:center}.screen:before{content:"🐾";position:absolute;font-size:40px;opacity:.1;top:8%;left:6%;animation:float-emoji 7s ease-in-out infinite;pointer-events:none}.screen:after{content:"🌿";position:absolute;font-size:46px;opacity:.1;bottom:10%;right:8%;animation:float-emoji 9s ease-in-out infinite reverse;pointer-events:none}@keyframes float-emoji{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-18px) rotate(8deg)}}.screen-header{display:flex;align-items:center;gap:12px;margin-bottom:14px}.screen-header h2{margin:0;font-size:22px;color:var(--ink)}.screen--gate{display:flex;align-items:center;justify-content:center}.card--gate{background:var(--panel-bg);border-radius:var(--radius-lg);border:3px solid var(--panel-border);box-shadow:var(--shadow-pop);padding:32px;text-align:center;max-width:90vw;width:380px;display:flex;flex-direction:column;align-items:center;gap:12px}.gate-emoji{font-size:56px}.gate-title{margin:0;font-size:24px}.gate-sub{margin:0;color:var(--ink-dim)}.input--big{width:100%;text-align:center;font-size:18px}.screen--home{display:flex;flex-direction:column;align-items:center;gap:18px;overflow-y:auto}.home-logo{text-align:center;margin-top:clamp(8px,3dvh,28px)}.home-logo-emoji{font-size:clamp(40px,8dvh,64px);animation:home-bounce 2.4s ease-in-out infinite}@keyframes home-bounce{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}.home-title{margin:4px 0 0;font-size:clamp(22px,4dvh,34px);font-weight:800;color:var(--ink)}.home-subtitle{margin:2px 0 0;color:var(--ink-dim);letter-spacing:2px;text-transform:uppercase;font-size:13px}.mode-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;width:100%;max-width:900px}.mode-card{flex:1 1 220px;max-width:280px;background:linear-gradient(160deg,var(--panel-bg),var(--panel-bg-2));border:3px solid var(--panel-border);border-radius:var(--radius-lg);padding:20px 16px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:transform .15s ease,box-shadow .15s ease;min-height:44px}.mode-card:hover{transform:translateY(-4px) scale(1.03);box-shadow:var(--shadow-pop)}.mode-card:active{transform:translateY(1px) scale(.98)}.mode-card-emoji{font-size:40px}.mode-card-title{font-size:18px;font-weight:800;color:var(--ink)}.mode-card-desc{font-size:13px;color:var(--ink-dim)}.gacha-cta-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-game);font-weight:800;font-size:18px;padding:12px 28px;min-height:48px;border-radius:999px;background:linear-gradient(120deg,#ff9ee0,#b15eff,#6bb1ff);background-size:200% 200%;color:#fff;box-shadow:0 8px 20px #b15eff66;animation:gacha-cta-shimmer 3s ease-in-out infinite;transition:transform .12s ease}.gacha-cta-btn:hover{transform:translateY(-2px) scale(1.03)}.gacha-cta-btn:active{transform:scale(.97)}.gacha-cta-sparkle{animation:gacha-sparkle-spin 2s linear infinite;display:inline-block}@keyframes gacha-cta-shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes gacha-sparkle-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.3)}to{transform:rotate(360deg) scale(1)}}.room-panel{background:var(--panel-bg);border-radius:var(--radius-lg);border:3px solid var(--panel-border);padding:18px;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(360px,92vw);opacity:0;transform:translateY(10px);box-shadow:var(--shadow-soft);transition:opacity .2s ease,transform .2s ease}.room-panel--in{opacity:1;transform:translateY(0)}.room-panel-divider{color:var(--ink-dim);font-size:12px}.room-panel-join{display:flex;gap:8px;width:100%}.input--code{text-transform:uppercase;letter-spacing:4px;text-align:center;width:90px;flex-shrink:0}.nav-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.home-footer{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:auto;padding-top:8px;padding-bottom:env(safe-area-inset-bottom)}.counter-chip{background:var(--panel-bg);border:2px solid var(--panel-border);box-shadow:var(--shadow-soft);border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px;color:var(--ink)}.counter-chip--gacha{color:#7a2fd6}.counter-chip--rank{color:#d68a00}.screen--lobby{display:flex;flex-direction:column;gap:14px;overflow-y:auto}.lobby-code{align-self:center;text-align:center;cursor:pointer;background:var(--panel-bg);border:3px dashed rgba(60,90,120,.3);border-radius:var(--radius-lg);padding:14px 28px;box-shadow:var(--shadow-soft);transition:transform .12s ease}.lobby-code:hover{transform:scale(1.03)}.lobby-code-label{display:block;font-size:11px;letter-spacing:2px;color:var(--ink-dim)}.lobby-code-value{display:block;font-size:clamp(28px,6dvh,42px);font-weight:800;letter-spacing:6px;color:var(--ink)}.seat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.seat-card{--seat-color: var(--p1);background:var(--panel-bg);border-radius:var(--radius-lg);border:3px solid var(--seat-color);padding:12px;text-align:center;position:relative;box-shadow:var(--shadow-soft)}.seat-card--empty{border-style:dashed;border-color:#3c5a7840;opacity:.7}.seat-emoji{font-size:32px}.seat-name{font-weight:700;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.seat-crown{position:absolute;top:-12px;left:50%;transform:translate(-50%);font-size:20px}.seat-ready{margin-top:6px;font-size:18px}.seat-ready--on{animation:pop-once .3s ease}.seat-disconnected{font-size:11px;color:var(--candy-red);margin-top:4px}@keyframes pop-once{0%{transform:scale(.6)}60%{transform:scale(1.2)}to{transform:scale(1)}}.lobby-config{background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:var(--radius-md);padding:12px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;box-shadow:var(--shadow-soft)}.config-row,.pvp-max-stepper{display:flex;align-items:center;gap:8px}.pvp-max-btn{min-width:40px;min-height:40px;padding:4px 12px;font-size:18px}.pvp-max-value{font-weight:800;font-size:16px;min-width:24px;text-align:center}.fill-bots-toggle--on{border-color:var(--candy-green);color:#2e7d3d}.pet-quick-label{font-size:13px;color:var(--ink-dim)}.pet-quick-row{display:flex;gap:8px;flex-wrap:wrap}.pet-quick-btn{width:44px;height:44px;font-size:22px;border-radius:var(--radius-md);background:var(--panel-bg);border:2px solid var(--panel-border);box-shadow:var(--shadow-soft);transition:transform .12s ease}.pet-quick-btn:hover{transform:scale(1.08)}.pet-quick-btn--active{border-color:var(--candy-yellow);background:#fff3cc}.lobby-actions{display:flex;gap:10px;margin-top:auto;flex-wrap:wrap}.chat-toggle{align-self:flex-start;background:var(--panel-bg);border:2px solid var(--panel-border);box-shadow:var(--shadow-soft);border-radius:var(--radius-md);padding:8px 14px;font-weight:700}.chat-box{background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:var(--radius-md);padding:10px;display:flex;flex-direction:column;gap:8px;max-height:200px}.chat-box--collapsed{display:none}.chat-msgs{overflow-y:auto;display:flex;flex-direction:column;gap:3px;max-height:140px;font-size:13px}.chat-name{font-weight:700}.chat-input-row input{width:100%}.arc-list{display:flex;flex-direction:column;gap:10px;padding-bottom:20px}.arc-card{background:var(--panel-bg);border-radius:var(--radius-lg);border:2px solid var(--panel-border);box-shadow:var(--shadow-soft);overflow:hidden}.arc-card--open{border-color:var(--candy-green)}.arc-card-head{display:flex;align-items:center;gap:14px;padding:14px;min-height:44px}.arc-card-emoji{font-size:32px}.arc-card-info{flex:1}.arc-card-title{font-weight:800}.arc-card-tagline{font-size:12px;color:var(--ink-dim)}.arc-card-stars{font-weight:700;white-space:nowrap;color:#d68a00}.level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;padding:0 14px 14px}.level-btn{aspect-ratio:1;min-height:44px;background:var(--cream-2);border:2px solid var(--panel-border);border-radius:var(--radius-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;transition:transform .12s ease}.level-btn:hover:not(.level-btn--locked){transform:scale(1.06);border-color:var(--candy-green)}.level-btn--locked{opacity:.4;cursor:not-allowed}.level-btn--boss{border-color:var(--candy-red);background:#ffe3e3}.level-boss-icon{position:absolute;top:-10px;font-size:14px}.level-num{font-weight:800;font-size:14px}.level-stars{font-size:9px}.level-modifiers{position:absolute;bottom:2px;display:flex;gap:1px}.modifier-icon{font-size:9px}.tier-section{margin-bottom:22px}.tier-section-header{--rarity-color: var(--rarity-0);position:sticky;top:-16px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel-bg);border-left:6px solid var(--rarity-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);padding:8px 14px;margin-bottom:10px}.tier-section-name{font-weight:800;font-size:15px;color:var(--rarity-color)}.tier-section-count{font-size:12px;font-weight:700;color:var(--ink-dim)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding-bottom:20px}.unit-card{--rarity-color: var(--rarity-0);background:linear-gradient(165deg,rgba(255,255,255,.95),var(--panel-bg-2));border:3px solid var(--rarity-color);border-radius:var(--radius-md);padding:10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;box-shadow:0 3px 10px var(--rarity-glow, rgba(60, 90, 120, .15));transition:transform .12s ease,box-shadow .12s ease;position:relative}.unit-card:hover{transform:translateY(-3px) scale(1.03);box-shadow:var(--shadow-pop)}.unit-card-portrait{position:relative;font-size:40px}.unit-card-name{font-weight:700;font-size:13px;min-height:18px;color:var(--ink)}.unit-card-level{font-size:11px;color:var(--ink-dim)}.unit-card--locked{filter:grayscale(.9) brightness(.85)}.unit-card--in-deck{outline:3px solid var(--candy-yellow);outline-offset:2px}.unit-card--r6{background:linear-gradient(165deg,#2c1f42,#1a1228);box-shadow:0 0 14px #7b2ff78c}.unit-card--r6 .unit-card-name{color:#e8d6ff}.unit-card-progress{width:100%}.progress-bar{height:8px;background:#3c5a7824;border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--rarity-color)}.progress-label{font-size:10px;color:var(--ink-dim)}.unit-card-maxed{font-size:11px;font-weight:800;color:#d68a00}.unit-card-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.unit-card--upgrade-pop{animation:card-pop .4s ease}@keyframes card-pop{0%{transform:scale(1)}40%{transform:scale(1.15)}to{transform:scale(1)}}.unit-detail{text-align:center;min-width:260px}.unit-detail-portrait{font-size:56px;filter:drop-shadow(0 0 10px var(--rarity-color))}.unit-detail-rarity{font-weight:700;font-size:13px;margin-bottom:6px}.unit-detail-blurb{color:var(--ink-dim);font-size:13px}.stat-table{width:100%;margin:10px 0;border-collapse:collapse}.stat-table td{padding:6px 4px;border-bottom:1px solid rgba(60,90,120,.12);text-align:left}.stat-table td:last-child{text-align:right;font-weight:700}.unit-detail-locked-note{color:var(--ink-dim);font-size:13px}.deck-bar{position:sticky;bottom:0;background:#fffaf1f2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:2px solid var(--panel-border);padding:10px 4px;margin:0 -16px -16px}.deck-bar-label{font-size:12px;color:var(--ink-dim);padding:0 12px;margin-bottom:6px}.deck-slots{display:flex;gap:6px;padding:0 12px;overflow-x:auto}.deck-slot{--rarity-color: var(--rarity-0);width:48px;height:48px;min-height:44px;flex-shrink:0;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:22px;border:2px solid var(--panel-border)}.deck-slot--empty{border-style:dashed;color:var(--ink-dim)}.deck-slot--filled{border-color:var(--rarity-color);background:#ffffffb3}.screen--gacha{display:flex;flex-direction:column}.gacha-points-counter{margin-left:auto;background:linear-gradient(120deg,#f8b6ff,#b15eff);color:#fff;font-weight:800;padding:6px 16px;border-radius:999px;box-shadow:var(--shadow-soft)}.gacha-intro{color:var(--ink-dim);font-size:13px;margin:0 0 16px}.gacha-packs-row{display:flex;gap:16px;flex-wrap:wrap;padding-bottom:20px}.gacha-pack-card{flex:1 1 260px;max-width:320px;background:var(--panel-bg);border:3px solid rgba(177,94,255,.35);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:10px;text-align:center;position:relative;transition:transform .15s ease}.gacha-pack-card:hover{transform:translateY(-4px)}.gacha-pack-card--locked{opacity:.75}.gacha-pack-card--premium{border-color:#ff8f2e73}.gacha-pack-card--ultra{border-color:#7b2ff799;background:linear-gradient(165deg,var(--panel-bg),#f3e6ff)}.gacha-pack-badge{position:absolute;top:-10px;right:14px;background:var(--candy-yellow);color:#2b1f00;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;box-shadow:var(--shadow-soft)}.gacha-pack-name{margin:4px 0 0;font-size:18px}.gacha-pack-blurb{font-size:12px;color:var(--ink-dim);margin:0}.gacha-odds-table{display:flex;flex-direction:column;gap:3px;font-size:11px;background:#3c5a780d;border-radius:var(--radius-sm);padding:8px 10px}.gacha-odds-row{display:flex;justify-content:space-between;font-weight:700}.gacha-pack-card--wobble{animation:input-shake .4s ease}.gacha-ceremony{text-align:center;min-width:min(320px,80vw)}.gacha-ceremony-zone{min-height:140px;display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px 0}.gacha-pack-hint{font-size:13px;color:var(--ink-dim)}.gacha-pack-icon{font-size:64px;cursor:pointer;min-height:44px;min-width:44px}.gacha-pack-icon--shake{animation:pack-shake .5s ease-in-out infinite}@keyframes pack-shake{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}.gacha-flip-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.gacha-flip-card{--rarity-color: var(--rarity-0);width:96px;border:3px solid var(--rarity-color);border-radius:var(--radius-md);padding:8px;text-align:center;background:var(--panel-bg);box-shadow:0 3px 10px var(--rarity-glow, rgba(60, 90, 120, .15));transform:rotateY(90deg) scale(.7);opacity:0;transition:transform .35s ease,opacity .35s ease;position:relative}.gacha-flip-card--revealed{transform:rotateY(0) scale(1);opacity:1}.gacha-flip-portrait{position:relative;height:44px;display:grid;place-items:center}.gacha-flip-emoji{font-size:32px}.gacha-flip-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .25s}.gacha-flip-thumb.thumb-ready{opacity:1}.gacha-flip-portrait:has(.thumb-ready) .gacha-flip-emoji{opacity:0}.gacha-flip-name{font-size:11px;font-weight:700;margin-top:4px}.gacha-flip-copies{font-size:10px;color:var(--ink-dim)}.gacha-flip-badge{position:absolute;top:-8px;right:-8px;background:var(--candy-red);color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:999px}.gacha-ceremony-done{margin-top:10px}.gacha-ceremony-done--hidden{display:none}.sp-counter{margin-left:auto;background:#fff3cc;color:#b47f00;font-weight:800;padding:6px 14px;border-radius:999px}.skill-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;padding-bottom:20px}.skill-column{display:flex;flex-direction:column;align-items:center;gap:4px}.skill-column-head{font-weight:800;margin-bottom:8px;display:flex;align-items:center;gap:6px}.skill-branch-icon{font-size:18px}.skill-connector{width:2px;height:16px;background:#3c5a782e}.skill-node{width:100%;min-height:44px;background:var(--panel-bg);border:2px solid var(--panel-border);border-radius:var(--radius-md);padding:10px;text-align:center;box-shadow:var(--shadow-soft);transition:transform .12s ease}.skill-node:hover:not(:disabled){transform:scale(1.04)}.skill-node-name{font-weight:700;font-size:13px}.skill-node-desc{font-size:11px;color:var(--ink-dim);margin:3px 0}.skill-node-cost{font-size:11px;font-weight:800;color:#d68a00}.skill-node-bought{color:#2e7d3d}.skill-node--bought{border-color:var(--candy-green);box-shadow:0 0 12px #4caf5066}.skill-node--available{border-color:var(--candy-blue);animation:node-pulse 1.6s ease-in-out infinite}.skill-node--locked{opacity:.5}@keyframes node-pulse{0%,to{box-shadow:0 0 4px #2f8fef4d}50%{box-shadow:0 0 14px #2f8fef99}}.skill-confirm{text-align:center;min-width:240px}.skill-confirm-cost{color:#d68a00;font-weight:700}.pet-coin-counter{margin-left:auto;font-weight:800}.pet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;padding-bottom:20px}.pet-card{background:var(--panel-bg);border-radius:var(--radius-lg);border:3px solid var(--panel-border);box-shadow:var(--shadow-soft);padding:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.pet-card--selected{border-color:var(--candy-yellow);box-shadow:0 0 16px #ffd93d66}.pet-card-emoji{font-size:44px}.pet-card-emoji--bounce{animation:pet-bounce 1.2s ease-in-out infinite}@keyframes pet-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.pet-card-name{font-weight:800}.pet-card-blurb{font-size:12px;color:var(--ink-dim);min-height:32px}.settings-panel{display:flex;flex-direction:column;gap:14px;max-width:480px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel-bg);border:2px solid var(--panel-border);box-shadow:var(--shadow-soft);border-radius:var(--radius-md);padding:12px 16px}.settings-row label{font-weight:700;flex-shrink:0}.settings-row .slider{max-width:180px}.credits{margin-top:20px;color:var(--ink-dim);font-size:12px}.credits-thanks{font-size:14px;color:var(--ink)}.results-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;background:#5a789673;opacity:0;transition:opacity .25s ease;pointer-events:auto;padding:16px}.results-overlay--in{opacity:1}.results-panel{background:var(--panel-bg);border-radius:var(--radius-lg);border:3px solid var(--panel-border);box-shadow:var(--shadow-pop);padding:26px;width:min(520px,94vw);max-height:90dvh;overflow-y:auto;text-align:center;display:flex;flex-direction:column;gap:14px;color:var(--ink)}.results-banner{font-size:28px;font-weight:800}.results-banner--win{color:#2e7d3d}.results-banner--lose{color:#d13a3a}.results-stars{font-size:34px;min-height:40px}.results-star--pop{display:inline-block;animation:star-pop .4s ease}@keyframes star-pop{0%{transform:scale(0) rotate(-40deg)}70%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0)}}.results-placement{font-size:20px;font-weight:800}.results-rank-delta{font-size:16px;font-weight:800}.results-rank-delta--up{color:#2e7d3d}.results-rank-delta--down{color:#d13a3a}.results-rank-tier{font-size:13px;color:var(--ink-dim)}.results-endless-score{font-size:20px;font-weight:800}.results-endless-best{font-size:13px;color:#d68a00;font-weight:700}.results-stats{display:flex;flex-direction:column;gap:6px}.results-stat-row{--seat-color: var(--p1);display:flex;gap:14px;justify-content:center;align-items:center;background:#3c5a780d;border-left:4px solid var(--seat-color);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px}.results-stat-dot{width:10px;height:10px;border-radius:50%;background:var(--seat-color)}.results-rewards{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.reward-chip{background:#3c5a7814;border-radius:999px;padding:8px 16px;font-weight:700}.reward-chip--gacha{background:#b15eff24;color:#7a2fd6}.results-actions{display:flex;gap:10px;justify-content:center}.results-actions--hidden{display:none}@media (max-width: 640px){.mode-row{flex-direction:column;align-items:stretch}.mode-card{max-width:none}.seat-row{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.gacha-packs-row{flex-direction:column}.gacha-pack-card{max-width:none}}@media (min-width: 900px){.screen{padding-left:max(48px,env(safe-area-inset-left));padding-right:max(48px,env(safe-area-inset-right))}}.unit-card-portrait,.unit-detail-portrait,.pet-card-emoji{position:relative}.unit-card-thumb{position:absolute;top:4%;right:4%;bottom:4%;left:4%;width:92%;height:92%;object-fit:contain;opacity:0;transition:opacity .25s;pointer-events:none}.unit-card-thumb.thumb-ready{opacity:1}.unit-card-portrait:has(.thumb-ready),.unit-detail-portrait:has(.thumb-ready),.pet-card-emoji:has(.thumb-ready){color:transparent;text-shadow:none}.hud-root{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font-family:var(--font-game)}.hud-top-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));background:linear-gradient(180deg,rgba(255,255,255,.75),transparent);pointer-events:none}.hud-top-bar--shake{animation:top-bar-shake .3s ease}@keyframes top-bar-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.top-bar-left{display:flex;flex-direction:column;gap:4px;pointer-events:auto}.top-hp-bar{position:relative;width:clamp(160px,30vw,280px);height:22px;background:#ffffff8c;border-radius:999px;border:2px solid rgba(255,255,255,.9);box-shadow:var(--shadow-soft);overflow:hidden}.top-hp-fill{height:100%;background:var(--candy-green);transition:width .3s ease,background .3s ease}.top-hp-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--ink);text-shadow:0 1px 2px rgba(255,255,255,.8)}.top-bar-meta{display:flex;gap:8px;font-size:12px;font-weight:700;color:var(--ink);text-shadow:0 1px 3px rgba(255,255,255,.6)}.top-wave-label{color:#d68a00}.top-bar-center{flex:1;display:flex;justify-content:center;pointer-events:none}.top-coins-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;pointer-events:auto}.coin-badge{--seat-color: var(--p1);background:#ffffffbf;border:2px solid var(--seat-color);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;color:var(--ink);box-shadow:var(--shadow-soft)}.top-bar-right{display:flex;align-items:center;gap:8px;pointer-events:auto}.ult-bar{position:relative;width:90px;height:14px;background:#ffffff8c;border-radius:999px;border:2px solid rgba(255,255,255,.9);overflow:hidden}.ult-fill{height:100%;background:linear-gradient(90deg,var(--candy-blue),var(--candy-pink));transition:width .2s ease}.ult-bar--ready{box-shadow:0 0 12px #b15effb3}.ult-btn{position:relative;min-height:44px;min-width:52px;padding:4px 12px;border-radius:var(--radius-md);background:#ffffffb3;border:2px solid rgba(60,90,120,.2);font-weight:800;color:var(--ink-dim);display:flex;align-items:center;gap:4px;overflow:hidden}.ult-btn-thumb{width:26px;height:26px;object-fit:contain;opacity:0;transition:opacity .25s}.ult-btn-thumb.thumb-ready{opacity:1}.ult-btn-label{font-size:12px}.ult-btn:not(:disabled){background:linear-gradient(180deg,#d9a9ff,#b15eff);color:#fff;animation:ult-glow 1s ease-in-out infinite}@keyframes ult-glow{0%,to{box-shadow:0 0 6px #b15eff80}50%{box-shadow:0 0 18px #b15effe6}}.top-menu-btn{min-height:44px;min-width:44px;font-size:18px;background:#ffffffb3;border-radius:var(--radius-md);border:2px solid rgba(60,90,120,.2);color:var(--ink)}.leave-confirm{text-align:center}.wave-banner{position:absolute;top:18%;left:50%;transform:translate(-50%,-20px);font-size:clamp(24px,5dvh,44px);font-weight:800;color:#ffb300;-webkit-text-stroke:2px rgba(255,255,255,.9);paint-order:stroke fill;text-shadow:0 2px 8px rgba(60,90,120,.3);pointer-events:none;opacity:0;transition:opacity .3s ease,transform .3s ease}.wave-banner--hidden{display:none}.wave-banner--show{opacity:1;transform:translate(-50%)}.wave-banner--boss{color:var(--candy-red);animation:boss-flash .5s ease-in-out 3}@keyframes boss-flash{0%,to{text-shadow:0 2px 8px rgba(60,90,120,.3)}50%{text-shadow:0 0 30px rgba(255,82,82,.7),0 2px 8px rgba(60,90,120,.3)}}.hud-hotbar{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:linear-gradient(0deg,rgba(255,255,255,.8),transparent);pointer-events:none}.bombard-hint{pointer-events:none;background:#ffffffd9;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;color:#d68a00;box-shadow:var(--shadow-soft)}.bombard-hint--hidden{display:none}.hotbar-skills{display:flex;gap:8px;pointer-events:auto}.hotbar-skill-btn{position:relative;width:52px;height:52px;min-height:44px;min-width:44px;background:#ffffffbf;border:2px solid rgba(60,90,120,.2);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--shadow-soft)}.hotbar-skill-btn:hover{transform:scale(1.06)}.hotbar-skill-btn:active{transform:scale(.95)}.hotbar-skill-emoji{font-size:22px}.hotbar-skill-thumb{position:absolute;top:4px;right:4px;bottom:4px;left:4px;width:calc(100% - 8px);height:calc(100% - 8px);object-fit:contain;opacity:0;transition:opacity .25s;pointer-events:none}.hotbar-skill-thumb.thumb-ready{opacity:1}.hotbar-skill-thumb.thumb-ready~.hotbar-skill-emoji{opacity:0}.skill-cd-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-md);pointer-events:none}.hotbar-skill-btn--cd{filter:saturate(.5) brightness(.85)}.hotbar-cards{display:flex;gap:6px;pointer-events:auto;overflow-x:auto;max-width:100%;padding:4px}.unit-card--r0{--rarity-glow: rgba(185, 195, 207, .35)}.unit-card--r1{--rarity-glow: rgba(76, 175, 80, .4)}.unit-card--r2{--rarity-glow: rgba(47, 143, 239, .45)}.unit-card--r3{--rarity-glow: rgba(155, 77, 224, .5)}.unit-card--r4{--rarity-glow: rgba(255, 143, 46, .55)}.unit-card--r5{--rarity-glow: rgba(255, 77, 94, .6)}.unit-card--r6{--rarity-glow: rgba(123, 47, 247, .7)}.unit-card--r3,.unit-card--r4,.unit-card--r5,.unit-card--r6{position:relative}.unit-card--r3:after,.unit-card--r4:after,.unit-card--r5:after,.unit-card--r6:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.75) 48%,transparent 66%);background-size:250% 250%;background-position:-80% -80%;opacity:0;pointer-events:none;animation:card-shine-sweep 3s ease-in-out infinite}@keyframes card-shine-sweep{0%,15%{opacity:0;background-position:-80% -80%}25%{opacity:.9}45%,to{opacity:0;background-position:120% 120%}}.hotbar-card{--rarity-color: var(--rarity-0);touch-action:none;position:relative;width:66px;height:84px;flex-shrink:0;background:linear-gradient(165deg,rgba(255,255,255,.95),var(--panel-bg-2));border:3px solid var(--rarity-color);border-radius:var(--radius-md);box-shadow:0 3px 10px var(--rarity-glow, rgba(60, 90, 120, .2));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .12s ease,box-shadow .12s ease}.hotbar-card:hover{transform:translateY(-4px)}.hotbar-card-portrait{position:relative;width:48px;height:44px;display:grid;place-items:center}.hotbar-card-emoji{font-size:26px}.hotbar-card-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .25s;pointer-events:none}.hotbar-card-thumb.thumb-ready{opacity:1}.hotbar-card-portrait:has(.thumb-ready) .hotbar-card-emoji{opacity:0}.hotbar-card-name{font-size:9px;font-weight:800;line-height:1.05;text-align:center;max-width:62px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hotbar-card-cost{font-size:11px;font-weight:800;color:var(--ink);background:#ffffffb3;border-radius:999px;padding:0 6px}.hotbar-card--disabled{opacity:.45;filter:grayscale(.5)}.hotbar-card--selected{border-color:var(--candy-yellow);box-shadow:0 0 14px #ffd93dcc;transform:translateY(-6px)}.rarity-name{color:var(--rarity-color, #6b7686)}.rarity-name--r0{color:#7a8494}.rarity-name--r1{color:#3d8b41}.rarity-name--r2{color:#1f6fd4}.rarity-name--r3{color:#8a2be8;text-shadow:0 0 6px rgba(155,77,224,.5)}.rarity-name--r4{color:#e07800;text-shadow:0 0 7px rgba(255,143,46,.6)}.rarity-name--r5{color:#e0303f;text-shadow:0 0 8px rgba(255,77,94,.7);animation:rarity-pulse 1.6s ease-in-out infinite}.rarity-name--r6{background:linear-gradient(90deg,#7b2ff7,#d6a4ff,#7b2ff7);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rarity-flow 2.2s linear infinite;filter:drop-shadow(0 0 6px rgba(123,47,247,.7))}@keyframes rarity-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}@keyframes rarity-flow{0%{background-position:0% 0}to{background-position:200% 0}}.unit-card--shimmer{position:relative;overflow:hidden}.unit-card--shimmer:before{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:conic-gradient(from 0deg,transparent,rgba(123,47,247,.45),transparent 30%);animation:shimmer-spin 3.5s linear infinite;pointer-events:none;z-index:0}@keyframes shimmer-spin{to{transform:rotate(360deg)}}.unit-card--r6.unit-card--shimmer{box-shadow:0 0 16px #7b2ff799}.unit-popover{position:absolute;bottom:130px;left:50%;transform:translate(-50%);background:#fffaf1f0;border:2px solid rgba(255,255,255,.9);border-radius:var(--radius-lg);padding:14px 18px;min-width:240px;pointer-events:auto;box-shadow:var(--shadow-pop);color:var(--ink)}.unit-popover--hidden{display:none}.unit-popover-head{--seat-color: var(--p1);display:flex;align-items:center;gap:10px;border-left:4px solid var(--seat-color);padding-left:8px}.unit-popover-portrait{--rarity-color: var(--rarity-0);position:relative;width:44px;height:44px;border:2px solid var(--rarity-color);border-radius:var(--radius-sm);display:grid;place-items:center;flex-shrink:0}.unit-popover-emoji{font-size:26px}.unit-popover-thumb{position:absolute;top:3px;right:3px;bottom:3px;left:3px;width:calc(100% - 6px);height:calc(100% - 6px);object-fit:contain;opacity:0;transition:opacity .25s}.unit-popover-thumb.thumb-ready{opacity:1}.unit-popover-portrait:has(.thumb-ready) .unit-popover-emoji{opacity:0}.unit-popover-name{font-weight:800;font-size:14px}.unit-popover-owner{font-size:11px;color:var(--ink-dim)}.unit-popover-hp-bar{height:9px;background:#3c5a7824;border-radius:999px;overflow:hidden;margin-top:8px}.unit-popover-hp-fill{height:100%;background:var(--candy-green);transition:width .2s ease,background .2s ease}.unit-popover-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.btn--popover-action{min-height:48px;min-width:108px;font-size:14px}.btn--popover-action--gone{display:none}.btn--rush{background:linear-gradient(180deg,#ffbb70,#ff8f2e)}.hud-pet-bar{position:absolute;bottom:100px;left:max(12px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:8px;pointer-events:none}.pet-emote-btns{display:flex;gap:6px;pointer-events:auto}.pet-emote-btn{width:44px;height:44px;font-size:20px;background:#ffffffbf;border:2px solid rgba(60,90,120,.2);border-radius:999px;box-shadow:var(--shadow-soft)}.pet-bubble-stack{display:flex;flex-direction:column;gap:4px}.pet-bubble{display:flex;align-items:center;gap:6px;background:#fffffff7;color:var(--ink);border-radius:16px;padding:6px 12px;font-size:12px;font-weight:700;max-width:220px;opacity:0;transform:translateY(8px) scale(.9);transition:opacity .25s ease,transform .25s ease;box-shadow:var(--shadow-soft)}.pet-bubble--in{opacity:1;transform:translateY(0) scale(1)}.pet-bubble--out{opacity:0}.pet-bubble-emoji{font-size:16px}.hud-chat{position:absolute;bottom:100px;right:max(12px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}.hud-chat-toggle{pointer-events:auto;width:44px;height:44px;background:#ffffffbf;border:2px solid rgba(60,90,120,.2);border-radius:999px;font-size:18px;box-shadow:var(--shadow-soft)}.hud-chat-box{pointer-events:auto;width:220px;background:#fffaf1eb;border-radius:var(--radius-md);padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-soft)}.hud-chat-box--collapsed{display:none}.hud-chat-msgs{max-height:120px;overflow-y:auto;font-size:12px;color:var(--ink);display:flex;flex-direction:column;gap:2px}.hud-chat-name{font-weight:700}.hud-chat-input{width:100%;font-size:13px;padding:6px 10px;min-height:36px;border-radius:var(--radius-sm);background:#3c5a7814;border:1px solid rgba(60,90,120,.2);color:var(--ink)}.hud-pvp-panel{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;color:var(--ink)}.pvp-round-kind-badge{position:absolute;top:8px;left:50%;transform:translate(-50%);background:#ffffffd9;border-radius:999px;padding:4px 14px;font-weight:800;font-size:12px;box-shadow:var(--shadow-soft);pointer-events:none}.pvp-round-kind-badge--creep{color:#a83232}.pvp-hp-list{position:absolute;top:40px;left:50%;transform:translate(-50%);display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:min(96vw,900px);pointer-events:auto}.pvp-hp-row{--seat-color: var(--p1);display:flex;align-items:center;gap:5px;background:#ffffffd1;border:2px solid var(--seat-color);border-radius:999px;padding:3px 8px 3px 3px;box-shadow:var(--shadow-soft)}.pvp-hp-row--dead{opacity:.4;filter:grayscale(.9)}.pvp-hp-avatar{position:relative;font-size:16px}.pvp-bot-icon{position:absolute;bottom:-4px;right:-6px;font-size:10px}.pvp-hp-name{font-size:9px;font-weight:700;max-width:48px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pvp-hp-bar{position:relative;width:46px;height:11px;background:#3c5a7824;border-radius:999px;overflow:hidden}.pvp-hp-fill{height:100%;background:var(--candy-green)}.pvp-hp-value{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800}.pvp-streak{font-size:10px;font-weight:800;color:#d68a00}.pvp-placement-badge{font-size:9px;font-weight:800;color:var(--ink-dim)}.pvp-combat-banner{position:absolute;top:84px;left:50%;transform:translate(-50%);font-weight:800;background:#ffffffd9;padding:6px 16px;border-radius:999px;box-shadow:var(--shadow-soft);pointer-events:none}.pvp-combat-banner--hidden{display:none}.pvp-shop-sheet{position:absolute;bottom:0;left:0;right:0;pointer-events:auto;background:linear-gradient(0deg,rgba(255,255,255,.85),transparent);padding:8px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:8px}.pvp-shop-sheet--hidden{display:none}.pvp-shop-top{display:flex;align-items:center;gap:10px;justify-content:center}.pvp-shop-gold{font-weight:800}.pvp-timer-ring{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;background:conic-gradient(var(--candy-green) 0deg,rgba(60,90,120,.18) 0deg);box-shadow:var(--shadow-soft)}.pvp-lock-btn,.pvp-reroll-btn{min-height:44px;padding:6px 14px;border-radius:var(--radius-md);background:#fffc;border:2px solid rgba(60,90,120,.2);font-weight:700;box-shadow:var(--shadow-soft)}.pvp-lock-btn--on{border-color:var(--candy-yellow);color:#b47f00}.pvp-reroll-btn--free{border-color:var(--candy-green);color:#2e7d3d;animation:node-pulse 1.6s ease-in-out infinite}.pvp-shop-cards{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.pvp-shop-card{--rarity-color: var(--rarity-0);width:82px;border:3px solid var(--rarity-color);border-radius:var(--radius-md);background:#ffffffd9;padding:8px 4px;text-align:center;box-shadow:0 3px 10px var(--rarity-glow, rgba(60, 90, 120, .2))}.pvp-shop-card--sold{opacity:.35;filter:grayscale(1)}.pvp-shop-card-portrait{position:relative;width:100%;height:40px;display:grid;place-items:center}.pvp-shop-card-emoji{font-size:24px}.pvp-shop-card-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .25s}.pvp-shop-card-thumb.thumb-ready{opacity:1}.pvp-shop-card-portrait:has(.thumb-ready) .pvp-shop-card-emoji{opacity:0}.pvp-shop-card-name{font-size:10px;font-weight:700}.pvp-shop-card-cost{font-size:10px;color:#d68a00;font-weight:700}.pvp-bench-board{position:absolute;bottom:150px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.pvp-bench-board--combat{bottom:30px}.pvp-sell-hint{pointer-events:none;background:#ffffffd9;padding:4px 10px;border-radius:999px;font-size:11px;box-shadow:var(--shadow-soft)}.pvp-sell-hint--hidden{display:none}.pvp-board-grid{pointer-events:auto;display:grid;grid-template-columns:repeat(5,34px);grid-template-rows:repeat(5,34px);gap:3px;background:#ffffff8c;padding:6px;border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.pvp-board-grid--hidden{display:none}.pvp-board-cell{--rarity-color: var(--rarity-0);position:relative;background:#ffffff80;border:1px solid rgba(60,90,120,.2);border-radius:6px;font-size:14px}.pvp-board-cell--occupied{border:2px solid var(--rarity-color);background:#ffffffd9}.pvp-cell-portrait{position:relative;width:100%;height:100%;display:grid;place-items:center}.pvp-cell-emoji{font-size:16px}.pvp-cell-thumb{position:absolute;top:2px;right:2px;bottom:2px;left:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain;opacity:0;transition:opacity .25s}.pvp-cell-thumb.thumb-ready{opacity:1}.pvp-cell-portrait:has(.thumb-ready) .pvp-cell-emoji{opacity:0}.pvp-cell-star{position:absolute;top:-4px;font-size:6px}.pvp-bench-row{pointer-events:auto;display:flex;gap:4px;overflow-x:auto;max-width:100%;padding:4px}.pvp-bench-slot{--rarity-color: var(--rarity-0);width:46px;height:46px;min-height:44px;flex-shrink:0;border:2px solid var(--rarity-color);border-radius:var(--radius-sm);background:#ffffffbf;position:relative;box-shadow:0 2px 6px var(--rarity-glow, rgba(60, 90, 120, .16))}.pvp-bench-slot--empty{border-style:dashed;border-color:#3c5a7833;box-shadow:none}.pvp-bench-slot--armed{border-color:var(--candy-yellow);box-shadow:0 0 10px #ffd93db3}.pvp-bench-star{position:absolute;top:-6px;font-size:8px}.pvp-bench-items{position:absolute;bottom:-4px;right:-2px;font-size:8px;background:#ffffffe6;border-radius:999px;padding:0 3px}.pvp-items-wrap{position:absolute;bottom:210px;right:max(10px,env(safe-area-inset-right));display:flex;flex-direction:column;align-items:flex-end;gap:6px;pointer-events:none}.pvp-items-hint{pointer-events:none;font-size:11px;background:#ffffffd9;padding:4px 10px;border-radius:999px;box-shadow:var(--shadow-soft)}.pvp-items-hint--hidden{display:none}.pvp-items-tray{pointer-events:auto;display:flex;flex-direction:column;gap:4px}.pvp-item-chip{position:relative;width:42px;height:42px;min-height:42px;background:#fffc;border:2px solid rgba(60,90,120,.2);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}.pvp-item-emoji{font-size:16px;opacity:.5}.pvp-item-thumb{position:absolute;top:3px;right:3px;bottom:3px;left:3px;width:calc(100% - 6px);height:calc(100% - 6px);object-fit:contain;opacity:0;transition:opacity .25s}.pvp-item-thumb.thumb-ready{opacity:1}.pvp-item-thumb.thumb-ready~.pvp-item-emoji{opacity:0}.pvp-item-chip--armed{border-color:var(--candy-yellow);box-shadow:0 0 10px #ffd93db3}.pvp-item-combine-badge{position:absolute;top:-4px;right:-4px;background:var(--candy-green);color:#fff;font-size:9px;font-weight:800;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center}.pvp-augment-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#cfefff8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto}.pvp-augment-overlay--hidden{display:none}.pvp-augment-title{font-size:clamp(20px,4dvh,30px);font-weight:800;color:var(--ink);text-shadow:0 2px 6px rgba(255,255,255,.8)}.pvp-augment-cards{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;max-width:92vw}.pvp-augment-card{width:min(220px,28vw);min-width:160px;background:var(--panel-bg);border:3px solid var(--candy-yellow);border-radius:var(--radius-lg);padding:18px 14px;text-align:center;box-shadow:var(--shadow-pop);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.pvp-augment-card:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 16px 32px #ffd93d66}.pvp-augment-card-icon{font-size:36px}.pvp-augment-card-name{font-size:16px;font-weight:800;margin:6px 0}.pvp-augment-card-desc{font-size:12px;color:var(--ink-dim)}.pvp-augment-card--picked{border-color:var(--candy-green);transform:scale(1.05)}.pvp-augment-card--disabled{pointer-events:none;opacity:.5}@media (max-width: 640px){.top-hp-bar{width:42vw}.hotbar-card{width:50px;height:60px}.unit-popover{bottom:148px;min-width:200px}.pvp-board-grid{grid-template-columns:repeat(5,28px);grid-template-rows:repeat(5,28px)}}@media (min-width: 900px){.hud-hotbar{flex-direction:row;justify-content:center;align-items:flex-end}.hud-chat,.hud-pet-bar{bottom:130px}}
