:root{--bg: #2c3e50;--panel: #34495e;--panel-2: #3d566e;--panel-3: #4a6076;--panel-shade: #243342;--well: #293846;--panel-shadow: #0e1620;--edge: #51708c;--hull-edge: #51708c;--primary: #4d9bff;--primary-bright: #8fc4ff;--recall: #ff5a6e;--recall-glow: #ff8a5a;--accent: #ffe46b;--amber: #ffb054;--chips: #4d9bff;--mult: #ff6b8b;--target: #ff5a6e;--seal-spatial: #43d17a;--seal-engine: #b06bff;--panel-stroke: #0a0d13;--stroke-w: 3px;--radius: 16px;--text: #eef3f8;--muted: #9fb2c4;--cyan: var(--primary);--cyan-bright: var(--primary-bright);--font-display: "Inter", "Segoe UI", system-ui, sans-serif;--font-mono: "Inter", ui-monospace, "Cascadia Mono", "Consolas", monospace;font-family:Inter,Segoe UI,Arial,sans-serif;--dock-w: clamp(228px, 20vw, 320px);--railcol-w: clamp(94px, 8.5vw, 138px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(90% 60% at 50% -10%,rgba(77,155,255,.1) 0%,transparent 55%),radial-gradient(100% 80% at 85% 110%,rgba(176,107,255,.08) 0%,transparent 55%),radial-gradient(circle at 50% 35%,#32465b,#223141 78%);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#app{height:100vh;height:100dvh;display:flex;flex-direction:column;gap:clamp(8px,1.2vh,16px);padding:clamp(8px,1.4vw,22px);padding-top:max(clamp(8px,1.4vw,22px),env(safe-area-inset-top));padding-bottom:max(clamp(8px,1.4vw,22px),env(safe-area-inset-bottom));padding-left:max(clamp(8px,1.4vw,22px),env(safe-area-inset-left));padding-right:max(clamp(8px,1.4vw,22px),env(safe-area-inset-right))}.ui-panel.mission{display:flex;align-items:center;gap:clamp(10px,1.6vw,26px);padding:10px 18px}.ui-panel.mission-readout{flex:1 1 auto;min-width:0}.mission-body{flex:1;min-width:60px}.mission-gauge{height:14px}.mission-figs{display:flex;gap:clamp(10px,1.4vw,22px);flex:none}.mission-progress{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.mission-fig-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}.mission-scoreline{display:flex;align-items:baseline;gap:clamp(6px,.6vw,12px);font-weight:900;line-height:.9;font-variant-numeric:tabular-nums}.mission-slash{font-size:clamp(22px,2.4vw,36px);color:var(--hull-edge);font-weight:800}.mission-score{font-family:var(--font-display);font-size:clamp(30px,3.6vw,54px);color:var(--cyan-bright);text-shadow:0 0 18px rgba(77,155,255,.55),0 2px 6px rgba(0,0,0,.6)}.mission-target{font-size:clamp(22px,2.4vw,38px);color:var(--target);text-shadow:0 0 14px rgba(255,90,110,.4)}.mission-score.slam{animation:slam .32s cubic-bezier(.2,1.5,.4,1)}.readout-counters{display:flex;align-items:stretch;gap:clamp(8px,.9vw,14px)}.readout-counters .ui-counter{min-width:clamp(96px,7.5vw,140px)}.readout-counters .ui-counter.mult{box-shadow:0 0 0 2px #ff6b8b99 inset,0 0 20px #ff6b8b47;animation:mult-breathe 2.6s ease-in-out infinite}.readout-counters .ui-counter.mult .ui-counter-val{font-size:clamp(34px,3vw,52px);text-shadow:0 0 16px rgba(255,107,139,.5)}.readout-counters .ui-counter.chips .ui-counter-val{font-size:clamp(30px,2.7vw,46px);text-shadow:0 0 14px rgba(77,155,255,.4)}.readout-x{align-self:center;font-size:clamp(24px,2.2vw,34px);font-weight:900;color:var(--mult);text-shadow:0 0 12px rgba(255,107,139,.4)}@keyframes mult-breathe{0%,to{box-shadow:0 0 0 2px #ff6b8b99 inset,0 0 18px #ff6b8b38}50%{box-shadow:0 0 0 2px #ff6b8bd9 inset,0 0 30px #ff6b8b73}}@media(prefers-reduced-motion:reduce){.readout-counters .ui-counter.mult{animation:none}}.dock-resources{display:grid;grid-template-columns:1fr 1fr;gap:8px}#stage-row{flex:1;min-height:0;min-width:0;display:flex;gap:clamp(8px,1.2vw,22px)}#railcol{display:none;width:var(--railcol-w);flex:0 0 var(--railcol-w);min-height:0;flex-direction:column;gap:clamp(8px,1vh,14px)}#railcol.hidden{display:none}#railcol .ui-panel.mission-readout{flex:1 1 auto;min-height:0;flex-direction:column;align-items:stretch;gap:clamp(8px,1.4vh,16px);padding:14px 10px}#railcol .mission-figs{flex:0 0 auto;justify-content:center}#railcol .mission-progress{align-items:center;width:100%}#railcol .mission-fig-label{text-align:center}#railcol .mission-scoreline{flex-direction:column;align-items:center;gap:0;line-height:1}#railcol .mission-slash{display:none}#railcol .mission-score{font-size:clamp(20px,1.7vw,30px)}#railcol .mission-target{font-size:clamp(15px,1.3vw,22px)}#railcol .mission-target:before{content:"/ ";color:var(--hull-edge)}#railcol .mission-body{flex:1 1 auto;min-height:0;display:flex;justify-content:center}#railcol .mission-gauge{height:100%}#railcol .ui-panel.mission-readout{border-radius:10px;border:1px solid var(--panel-shade);border-top:2px solid var(--rail-soft, #2f5f52);background:radial-gradient(circle at 15px 15px,#030d0a 0 3px,rgba(150,200,185,.32) 3px 4.4px,transparent 6px),radial-gradient(circle at calc(100% - 15px) 15px,#030d0a 0 3px,rgba(150,200,185,.32) 3px 4.4px,transparent 6px),radial-gradient(circle at 15px calc(100% - 15px),#030d0a 0 3px,rgba(150,200,185,.32) 3px 4.4px,transparent 6px),radial-gradient(circle at calc(100% - 15px) calc(100% - 15px),#030d0a 0 3px,rgba(150,200,185,.32) 3px 4.4px,transparent 6px),radial-gradient(85% 26% at 50% 0%,rgba(77,155,255,.09),transparent 62%),radial-gradient(100% 42% at 50% 100%,rgba(0,0,0,.5),transparent 72%),var(--metal-hull, linear-gradient(158deg, var(--panel-2), var(--bg)));box-shadow:inset 0 2px 12px #0000008c,inset 0 0 0 1px #00000073,inset 0 0 28px #4d9bff0d,0 1px #5a8c781f}#railcol .mission-body{border-radius:9px;padding:6px;background:linear-gradient(115deg,rgba(138,255,208,.1),transparent 40%),#030d0a80;box-shadow:inset 0 0 16px #000000a6,inset 0 1px #8affd014,0 0 0 1px #0006}#railcol .mission-fig-label{font-family:monospace;letter-spacing:2px;color:color-mix(in srgb,#4d9bff 68%,#a8bcb2);opacity:.85}.ui-panel.combat-computer{display:flex;flex-direction:column;gap:14px;background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);box-shadow:none}.combat-computer .readout-counters{display:flex;align-items:stretch;gap:8px}.combat-computer .readout-counters .ui-counter{min-width:0;flex:1 1 0;box-shadow:inset 0 0 0 2px #4d9bff73}.combat-computer .readout-counters .ui-counter.mult{box-shadow:inset 0 0 0 2px #ff6b8b8c;animation:none}.combat-computer .readout-x{align-self:center;flex:0 0 auto;font-size:clamp(18px,1.8vw,26px);font-weight:900;color:var(--mult);text-shadow:0 0 10px rgba(255,107,139,.35)}.combat-computer .readout-counters .ui-counter.chips .ui-counter-val,.combat-computer .readout-counters .ui-counter.mult .ui-counter-val{font-size:clamp(24px,2.2vw,34px)}.cc-objective{display:flex;flex-direction:column;gap:7px}.cc-obj-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cc-obj-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted)}.cc-obj-figs{gap:6px;line-height:1}.combat-computer .mission-score{font-size:clamp(20px,1.9vw,28px);color:var(--chips);text-shadow:none}.combat-computer .mission-slash{font-size:16px;color:var(--muted)}.combat-computer .mission-target{font-size:clamp(15px,1.4vw,20px);color:var(--amber);text-shadow:none}.combat-computer .ui-gauge{height:16px}#dock{order:-1;width:var(--dock-w);flex-shrink:0;display:flex;flex-direction:column;gap:clamp(8px,1vh,14px);overflow-x:hidden;overflow-y:auto}.dock-freeswap{display:flex;flex-direction:column;gap:8px}.dock-nav{display:flex;gap:8px}.dock-nav .ui-btn{flex:1}.dock-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ui-panel.dock-seals{flex:1;min-height:0;display:flex;flex-direction:column}.dock-seals-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.dock-seals-count{font-variant-numeric:tabular-nums;letter-spacing:.5px;color:var(--text);opacity:.85}.dock-seals-count.full{color:var(--amber);opacity:1}.dock-seals-list{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0}.dock-seals-empty{background:var(--panel);border-radius:12px;padding:14px;text-align:center;font-size:13px;color:var(--muted)}.ui-btn.armed{--btn-face: #ffce56;--btn-edge: #b8841f;animation:freeswap-pulse 1.1s ease-in-out infinite}.coin-ico{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.16em;fill:#ffce3a;filter:drop-shadow(0 1px 0 #00000040);flex:none}@keyframes freeswap-pulse{0%,to{box-shadow:inset 0 3px #ffffff52,inset 0 -9px 0 var(--btn-edge),0 0 #ffe46b80}50%{box-shadow:inset 0 3px #ffffff52,inset 0 -9px 0 var(--btn-edge),0 0 0 6px #ffe46b00}}.hidden{display:none!important}.dock-seals-list .seal-card{cursor:default;min-height:108px}.dock-seals-list .seal-card:hover{transform:none;filter:none}.dock-seals-list.sellable .seal-card{padding-bottom:40px}.ui-panel.dock-mods{display:flex;flex-direction:column;box-shadow:none;background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke)}.dock-mods-list{display:flex;flex-direction:column;gap:12px}.mod-item{padding-left:10px;border-left:2px solid var(--amber)}.mod-name{font-weight:800;font-size:13px;letter-spacing:.2px;color:var(--amber)}.mod-desc{font-size:11px;color:var(--muted);line-height:1.35;margin-top:3px}.seal-sell{position:absolute;right:8px;bottom:8px;z-index:3;display:none;align-items:center;justify-content:center;gap:5px;border:none;border-radius:8px;padding:5px 9px;font-weight:900;font-size:12px;letter-spacing:.5px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#d54a4a,#a83232);box-shadow:0 2px 8px #00000073;transition:transform .08s,filter .15s}.dock-seals-list.sellable .seal-sell{display:inline-flex}.seal-sell:hover{filter:brightness(1.12)}.seal-sell:active{transform:scale(.95)}.seal-sell .sell-ico{width:15px;height:15px}.seal-sell span{display:inline-flex;align-items:center}#board-area{flex:1;min-height:0;min-width:0;position:relative;--slot: 48px;background:url(/sprites/backgrounds/background_1.png) center / cover no-repeat,var(--bg, #2c3e50);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);overflow:hidden;touch-action:none}#seals-corner{display:none}#board-host,#seals-top,#seals-left{position:absolute;top:0;right:0;bottom:0;left:0}#seals-top,#seals-left{pointer-events:none}#board-host canvas{display:block;width:100%;height:100%;touch-action:none}#board-area.scene-active #board-host,#board-area.scene-active #seals-top,#board-area.scene-active #seals-left{visibility:hidden;pointer-events:none}#board-area.scene-active{border-width:0}@keyframes scene-in{0%{transform:scale(.985);opacity:0}to{transform:scale(1);opacity:1}}.seal-slot{position:absolute;width:var(--slot);height:var(--slot);border-radius:50%;box-sizing:border-box;transform:translate(-50%,-50%);pointer-events:auto;display:flex;align-items:center;justify-content:center;border:2px solid color-mix(in srgb,var(--edge) 45%,transparent);background:var(--well);box-shadow:inset 0 2px 5px var(--panel-shadow),inset 0 0 0 1px #ffffff08;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.seal-slot:before{content:"";display:block;position:absolute;top:50%;left:50%;width:24%;height:24%;border:solid color-mix(in srgb,var(--edge) 65%,transparent);border-width:0 2px 2px 0;pointer-events:none;opacity:.6;transition:opacity .15s ease,border-color .15s ease}.seal-slot[data-axis=row]:before{transform:translate(-64%,-50%) rotate(-45deg)}.seal-slot[data-axis=col]:before{transform:translate(-50%,-64%) rotate(45deg)}.seal-slot:has(.seal-token):before{opacity:0}#board-area.seals-editable .seal-slot:before{border-color:color-mix(in srgb,var(--primary) 60%,transparent);opacity:.8}.seal-slot.drop-hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--well));box-shadow:inset 0 0 12px color-mix(in srgb,var(--primary) 30%,transparent),0 0 14px var(--glow-primary)}#board-area.seals-editable .seal-slot{border-color:color-mix(in srgb,var(--primary) 50%,transparent);box-shadow:inset 0 2px 5px var(--panel-shadow),0 0 10px color-mix(in srgb,var(--primary) 22%,transparent)}#board-area.seals-editable .seal-token{animation:seal-idle 1.4s ease-in-out infinite}@keyframes seal-idle{0%,to{box-shadow:0 0 0 1px var(--panel-stroke),0 3px 7px var(--panel-shadow),inset 0 2px 3px #ffffff38,inset 0 0 0 2px var(--tint, var(--edge))}50%{box-shadow:0 0 0 1px var(--panel-stroke),0 3px 7px var(--panel-shadow),inset 0 2px 3px #ffffff38,inset 0 0 0 2px var(--tint, var(--edge)),0 0 14px 3px var(--tint, var(--edge))}}.seal-token{position:relative;width:78%;height:78%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;color:#fff;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--tint, var(--edge)) 60%,var(--panel-shade)),var(--panel-shade) 82%);box-shadow:0 0 0 1px var(--panel-stroke),0 3px 8px var(--panel-shadow);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .1s}.seal-token .seal-sprite{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.seal-token:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--tint, var(--edge)) 75%,#000);pointer-events:none}.seal-token:hover{transform:scale(1.08)}.seal-token.dragging{opacity:.4;cursor:grabbing}#board-area.frozen .seal-token{cursor:default}.seal-token.triggered{animation:seal-trigger .5s cubic-bezier(.2,1.4,.4,1);z-index:5}@keyframes seal-trigger{0%{transform:scale(1);box-shadow:0 2px 6px #0008,inset 0 0 0 2px var(--tint, var(--edge))}30%{transform:scale(1.55) rotate(-7deg);box-shadow:0 0 0 4px var(--tint, var(--amber)),0 0 28px 7px var(--tint, var(--amber)),inset 0 0 0 2px #fff;filter:brightness(1.8) saturate(1.3)}60%{transform:scale(1.18) rotate(5deg);filter:brightness(1.3)}to{transform:scale(1);box-shadow:0 2px 6px #0008,inset 0 0 0 2px var(--tint, var(--edge));filter:brightness(1)}}.seal-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:3px solid var(--tint, var(--amber));pointer-events:none;animation:seal-ring .55s ease-out forwards}@keyframes seal-ring{0%{transform:scale(.8);opacity:.95}to{transform:scale(2.5);opacity:0}}.seal-float{position:absolute;left:50%;top:-6px;font-weight:900;font-size:14px;white-space:nowrap;pointer-events:none;text-shadow:0 1px 3px #000,0 0 6px #000;animation:seal-float .85s ease-out forwards}.seal-float.chips{color:var(--chips)}.seal-float.mult{color:var(--mult)}@keyframes seal-float{0%{transform:translate(-50%,6px) scale(.6);opacity:0}25%{transform:translate(-50%,-6px) scale(1.1);opacity:1}to{transform:translate(-50%,-36px) scale(1);opacity:0}}.flash{animation:flash .22s ease-out}@keyframes flash{0%{transform:scale(1.3);filter:brightness(1.8)}to{transform:scale(1);filter:brightness(1)}}.slam{animation:slam .3s cubic-bezier(.2,1.6,.4,1)}@keyframes slam{0%{transform:scale(1.5)}60%{transform:scale(.93)}to{transform:scale(1)}}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#0a0616c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50}#overlay.visible{display:flex}.overlay-card{position:relative;background:var(--metal-tex),var(--panel-grad, linear-gradient(160deg, var(--panel), var(--bg)));border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:36px 48px;text-align:center;box-shadow:var(--metal-bevel),0 20px 60px #0009;animation:pop .3s cubic-bezier(.2,1.5,.4,1)}.overlay-card h1{margin:0 0 8px;font-family:var(--font-display);font-size:34px;color:var(--cyan-bright);letter-spacing:1px}.overlay-card p{margin:0 0 24px;color:var(--muted);font-size:16px}@keyframes pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}#deck-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#06040ec7;z-index:60;padding:20px}#deck-overlay.visible{display:flex}.dk-felt{position:relative;width:min(960px,96vw);max-height:92vh;max-height:92dvh;overflow-y:auto;padding:26px clamp(20px,3vw,40px) 30px;border-radius:var(--radius);background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);animation:scene-in .24s cubic-bezier(.2,1.4,.4,1)}.dk-close,.cst-close{position:absolute;top:16px;right:16px;width:40px;height:40px;font-family:var(--font-display);font-size:18px;font-weight:900;color:#fff;background:#ff6b7a;border:var(--stroke-w) solid var(--panel-stroke);border-radius:12px;cursor:pointer;transition:transform .08s,filter .12s}.dk-close:hover,.cst-close:hover{filter:brightness(1.15)}.dk-close:active,.cst-close:active{transform:translate(3px,3px);box-shadow:0 0 #0000008c}.dk-titlebar{text-align:center;margin-bottom:22px}.dk-title{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(32px,5vw,50px);letter-spacing:3px;color:var(--text)}.dk-sub{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:700}.dk-tiles{display:flex;flex-direction:column;gap:clamp(10px,1.8vh,22px);align-items:stretch}.dk-row{--pw: 64px;--ml: -18px;--spread: 22px;display:flex;justify-content:center;align-items:center;min-height:var(--pw)}.dk-row>.tile{margin-left:var(--ml)}.dk-row>.tile:first-child{margin-left:0}.tile{--pw: 64px;container-type:size;position:relative;flex:0 0 auto;width:var(--pw);height:var(--pw);border-radius:26%;display:grid;place-items:center;cursor:default;background:var(--pc);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--pd) 58%,#000),0 3px 7px #00000038;transition:transform .16s cubic-bezier(.2,1.3,.4,1)}.tile.tile-in{animation:dk-pop .32s cubic-bezier(.2,1.6,.4,1) backwards}.dk-row>.tile:hover{transform:translateY(-12px) scale(1.16);z-index:20}.dk-row>.tile:hover~.tile{transform:translate(var(--spread))}.dk-row>.tile:has(~.tile:hover){transform:translate(calc(-1 * var(--spread)))}.tile.is-played{filter:brightness(.42) saturate(.8)}.tile.is-played:hover{filter:brightness(.7) saturate(.95)}.tile-num{position:relative;z-index:2;font-family:var(--font-display);font-weight:900;font-size:46cqmin;color:#fff;-webkit-text-stroke:2px color-mix(in srgb,var(--pd) 75%,#000);paint-order:stroke fill;text-shadow:0 2px 0 rgba(0,0,0,.28)}.tile-badge{position:absolute;z-index:3;bottom:-6px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.3px;color:#fff;background:#555;padding:1px 5px;border-radius:5px;border:1px solid var(--panel-shade);white-space:nowrap;box-shadow:1px 1px #00000080}.tile.enh-gold,.tile.enh-steel,.tile.enh-glass,.tile.enh-lucky{box-shadow:inset 0 2px 1px color-mix(in srgb,var(--pl) 55%,transparent),inset 0 -3px 4px #00000080,0 0 0 3px var(--ring),0 0 12px 1px color-mix(in srgb,var(--ring) 55%,transparent),0 3px 6px #00000080}.tile.enh-wild:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:26%;padding:3px;background:conic-gradient(from 0deg,#ff8a95,#ffca85,#86f0b6,#9ac6ff,#d6a6ff,#ff8a95);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}@keyframes dk-pop{0%{transform:scale(0) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes dk-shift{0%{background-position:0% 50%}to{background-position:300% 50%}}@keyframes dk-sheen{0%{background-position:-150% 0}to{background-position:250% 0}}#deck-tooltip,#booster-tooltip,#seal-tooltip,#map-tooltip,#board-tooltip{position:fixed;z-index:9999;max-width:240px;padding:10px 12px;border-radius:var(--radius);background:var(--panel);color:var(--text);border:var(--stroke-w) solid var(--panel-stroke);box-shadow:0 10px 26px var(--panel-shadow),inset 0 1px #ffffff0f;pointer-events:none;opacity:0;transform:translateY(4px) scale(.96);transition:opacity .1s ease,transform .1s ease}#deck-tooltip.visible,#booster-tooltip.visible,#seal-tooltip.visible,#map-tooltip.visible,#board-tooltip.visible{opacity:1;transform:translateY(0) scale(1)}#deck-tooltip:after,#booster-tooltip:after,#seal-tooltip:after,#map-tooltip:after,#board-tooltip:after{content:"";position:absolute;left:var(--arrow, 50%);bottom:-7px;width:12px;height:12px;margin-left:-6px;background:var(--panel);border-right:2px solid var(--panel-stroke);border-bottom:2px solid var(--panel-stroke);transform:rotate(45deg)}#deck-tooltip.below:after,#booster-tooltip.below:after,#seal-tooltip.below:after,#map-tooltip.below:after,#board-tooltip.below:after{bottom:auto;top:-7px;background:var(--panel);border:none;border-left:2px solid var(--panel-stroke);border-top:2px solid var(--panel-stroke)}.tip-head{font-family:var(--font-display);font-weight:700;font-size:15px;margin-bottom:6px;color:var(--primary-bright)}.tip-row{display:flex;align-items:baseline;gap:7px;margin-top:5px;font-size:12px;line-height:1.3}.tip-tag{flex-shrink:0;font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.3px;color:#fff;padding:1px 7px;border-radius:999px;border:1px solid rgba(0,0,0,.4)}.tip-tag-ed{background:linear-gradient(135deg,#6c4bd0,#4a2f9c)}.tip-tag-enh{background:linear-gradient(135deg,#d29a2a,#a8741a)}.tip-tag-target{background:linear-gradient(135deg,#4d9bff,#2b6fd0)}.tip-tag-mod{background:linear-gradient(135deg,#d54a4a,#9c2f2f)}.tip-blurb{margin-bottom:2px}.tip-eff{color:var(--muted);font-weight:600}.tip-plain{color:var(--muted);font-style:italic;font-weight:600}.tip-head-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.tip-head-row .tip-head{margin-bottom:0}.seal-tip-chip{flex-shrink:0;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.2px;color:#fff;padding:2px 9px;border-radius:999px;border:1px solid rgba(0,0,0,.4);background:linear-gradient(135deg,var(--seal-spatial),#2e9c63)}.seal-tip-rarity{display:inline-block;margin-top:8px;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.2px;color:#fff;padding:2px 9px;border-radius:999px;border:1px solid rgba(0,0,0,.4);background:var(--rc, var(--seal-spatial))}.kw-value{font-weight:800;color:#ff7a93}.kw-value-chips{color:#4d9bff}.kw-value-mult{color:#ff6470}.kw-value-plain{color:#fff}.kw-pattern{font-weight:800;color:#fff}.kw-prob{font-weight:800;color:#16a085}.kw-color{font-weight:700}.kw-c-red{color:#ff6470}.kw-c-blue{color:#4d9bff}.kw-c-green{color:#4fdd86}.kw-c-orange{color:#ffb24d}.kw-c-purple{color:#bd82ff}.kw-c-gold{color:#ffd24a}.kw-c-wild{color:#ff7ef0}@media(max-aspect-ratio:4/5),(max-width:760px)and (orientation:portrait){.ui-panel.mission{padding:8px 12px;gap:10px}.readout-counters .ui-counter{min-width:70px}#stage-row{flex-direction:column;gap:8px}#railcol{width:100%;flex:0 0 auto;flex-direction:row;align-items:stretch;height:clamp(72px,12vh,104px);gap:8px}#railcol .ui-panel.mission-readout{flex:1 1 auto;flex-direction:row;align-items:center;gap:12px;padding:8px 12px}#railcol .mission-body{min-width:0}#dock{order:0;width:100%;flex:0 0 auto;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:6px;overflow:visible}.dock-freeswap{flex:1 1 100%;flex-direction:row}.dock-nav{flex:1 1 100%}.dock-stats{flex:1 1 46%}.ui-panel.dock-seals{flex:1 1 100%}}@media(orientation:landscape)and (max-height:560px){#app{gap:6px;padding:6px;padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.ui-panel.mission{padding:6px 12px;gap:10px}.readout-counters .ui-counter{min-width:64px;padding:6px 4px}#dock{width:clamp(168px,26vw,220px);gap:6px}.dock-nav{flex-direction:column}}@media(max-width:760px),(max-aspect-ratio:4/5),(orientation:landscape)and (max-height:560px){#app:has(#board-area.scene-active) #dock{display:none}#shop-overlay .shop-card,#blind-select .bs-card{padding:clamp(12px,2.4vw,24px) clamp(12px,2.6vw,26px)}.shop-slot{min-height:0}#shop-overlay .shop-card{overflow:hidden}#shop-overlay .shop-rack{min-height:0;overflow-y:auto;justify-content:flex-start;padding-bottom:4px}}@media(orientation:landscape)and (max-height:560px){#app:has(#sector-map.visible) #dock{display:flex}#sector-map .map-field{overflow-x:auto;overflow-y:hidden;touch-action:pan-x;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}#sector-map .map-scroll{width:max(100%,calc(var(--map-cols, 6) * 8.5rem))}#board-area:has(#sector-map.visible){touch-action:pan-x}#sector-map .beacon{width:clamp(60px,12vh,75px);height:clamp(60px,12vh,75px)}#sector-map .beacon[data-type=boss]{width:clamp(90px,18vh,113px);height:clamp(90px,18vh,113px)}#sector-map .beacon-icon .tabler-ico{width:clamp(30px,6vh,39px);height:clamp(30px,6vh,39px)}#sector-map .beacon-label{font-size:12px}#sector-map .beacon-sub{font-size:11px}#sector-map .map-head{margin-bottom:6px}#sector-map .map-head h2{font-size:clamp(15px,4.5vh,22px)}#app:has(#shop-overlay.visible) #dock{display:flex}#shop-overlay .shop-card{gap:8px;padding:10px 12px;border-radius:14px}#shop-overlay .shop-topbar{padding-bottom:8px}#shop-overlay .shop-ident-mark{font-size:clamp(18px,5.5vh,28px)}#shop-overlay .shop-ident-sub{display:none}#shop-overlay .shop-balance{padding:5px 12px}#shop-overlay .shop-rack{justify-content:flex-start;gap:10px}#shop-overlay .shop-panel{padding:8px 10px 10px;gap:8px}#shop-overlay .shop-panel-head{min-height:0}#shop-overlay .shop-slot{min-height:108px;padding:10px 8px 8px}#shop-overlay .shop-dockbar{padding-top:8px}}#blind-select{position:absolute;top:0;right:0;bottom:0;left:0;display:none;z-index:20}#blind-select.visible{display:flex}.bs-card{flex:1;display:flex;flex-direction:column;background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:clamp(16px,2.2vh,30px) clamp(18px,2vw,34px);overflow-y:auto;box-shadow:inset 0 0 0 1px #ffffff08,0 18px 50px #00000080;animation:scene-in .26s cubic-bezier(.2,1.3,.4,1)}.bs-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:clamp(14px,2.4vh,28px)}.bs-head h2{margin:0;font-family:var(--font-display);font-size:clamp(22px,2.6vw,38px);letter-spacing:1px;color:var(--accent);text-shadow:2px 2px 0 #b8921f,4px 4px 0 rgba(0,0,0,.45)}.bs-ante{color:var(--muted);font-weight:800;font-size:14px}.bs-columns{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,22px);align-items:stretch}.bs-col{--bs-accent: #5a4f80;background:linear-gradient(160deg,var(--panel-2),var(--panel-2));border:2px solid var(--panel-3);border-radius:16px;padding:clamp(14px,2vh,24px) clamp(12px,1.4vw,22px);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.4vh,16px)}.bs-col[data-blind=small]{--bs-accent: #3a7bd5}.bs-col[data-blind=big]{--bs-accent: #e0a83a}.bs-col[data-blind=boss]{--bs-accent: #d54a4a}.bs-col[data-state=current]{border-color:var(--bs-accent);box-shadow:0 0 0 1px var(--bs-accent),0 10px 30px #0006}.bs-col[data-state=upcoming],.bs-col[data-state=cleared]{opacity:.62}.bs-state-btn{width:100%;background:linear-gradient(135deg,var(--accent),#ffb347);color:#2a1d00;border:none;border-radius:10px;padding:9px 12px;font-weight:900;font-size:15px;cursor:pointer;transition:transform .08s,filter .15s}.bs-state-btn:hover{filter:brightness(1.08)}.bs-state-btn:active{transform:scale(.96)}.bs-state{width:100%;border-radius:10px;padding:9px 12px;font-weight:800;font-size:14px;color:var(--muted);background:var(--panel-3)}.bs-name{font-weight:800;font-size:16px;color:var(--bs-accent)}.bs-token{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;letter-spacing:.5px;color:#1a1430;background:radial-gradient(circle at 35% 30%,#fff,var(--bs-accent) 70%);box-shadow:inset 0 -3px 6px #0000004d}.bs-goal{color:var(--muted);font-size:12px}.bs-target{font-size:26px;font-weight:900;color:var(--target);display:flex;align-items:center;gap:6px}.bs-reward{color:var(--muted);font-size:12px}.bs-reward-val{color:var(--accent);font-weight:800}.bs-or{color:var(--muted);font-weight:800;font-size:12px;margin-top:2px}.bs-or-muted{opacity:.5}.bs-skip-btn{width:100%;background:var(--panel-3);color:var(--text);border:none;border-radius:10px;padding:8px 10px;font-weight:800;font-size:13px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:transform .08s,filter .15s}.bs-skip-btn:hover{filter:brightness(1.12)}.bs-skip-btn:active{transform:scale(.96)}.bs-tag-name{color:var(--accent);font-weight:900;font-size:13px}.bs-tag-text{color:var(--text);font-weight:600;font-size:11px}.bs-skip-label{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.bs-skip-disabled{cursor:default;opacity:.5;align-items:center}.bs-skip-disabled:hover{filter:none}.bs-skip-note{color:var(--muted);font-size:11px;font-style:italic;margin-top:2px}@media(max-width:720px){.bs-columns{grid-template-columns:1fr}}#shop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:none;z-index:20}#shop-overlay.visible{display:flex}.shop-card{position:relative;flex:1;display:flex;flex-direction:column;gap:clamp(12px,2vh,22px);background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:clamp(16px,2.4vh,30px) clamp(18px,2vw,34px);overflow-y:auto;box-shadow:inset 0 0 0 1px #ffffff08;animation:scene-in .26s cubic-bezier(.2,1.3,.4,1)}.shop-topbar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:clamp(10px,1.6vh,18px);border-bottom:1px solid color-mix(in srgb,var(--amber) 28%,transparent)}.shop-ident{display:flex;flex-direction:column;gap:3px;min-width:0}.shop-ident-mark{font-family:var(--font-display);font-size:clamp(22px,2.8vw,38px);letter-spacing:2px;color:var(--accent);text-shadow:0 0 20px rgba(255,211,74,.3),2px 2px 0 rgba(0,0,0,.45)}.shop-ident-sub{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.shop-balance{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:8px 18px;border-radius:var(--radius);background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);box-shadow:inset 0 0 18px #ffb24d12}.shop-balance-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted)}.shop-balance-val{font-family:var(--font-display);font-size:clamp(20px,2.2vw,30px);color:var(--accent);text-shadow:0 0 14px rgba(255,211,74,.3)}.shop-balance-val .coin-ico{width:.9em;height:.9em;vertical-align:-.05em}.shop-rack{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,2vh,24px)}.shop-panel{position:relative;display:flex;flex-direction:column;gap:clamp(9px,1.3vh,14px);padding:clamp(10px,1.5vh,16px) clamp(12px,1.5vw,18px) clamp(12px,1.6vh,18px);border-radius:var(--radius);background:color-mix(in srgb,var(--panel-accent) 7%,var(--panel));border:var(--stroke-w) solid var(--panel-stroke);box-shadow:inset 0 1px #ffffff0a;animation:shop-panel-in .4s both cubic-bezier(.2,1.2,.35,1)}.shop-panel--cards{animation-delay:.05s}.shop-panel--stock{animation-delay:.14s}@keyframes shop-panel-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.shop-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px}.shop-panel-title{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:clamp(14px,1.5vw,18px);font-weight:900;letter-spacing:1px;text-transform:uppercase;color:color-mix(in srgb,var(--panel-accent) 55%,#fff 45%);text-shadow:0 1px 2px rgba(0,0,0,.4)}.shop-panel-dot{width:10px;height:10px;border-radius:50%;background:var(--panel-accent);box-shadow:0 0 10px var(--panel-accent),inset 0 -2px 3px #00000059;animation:shop-dot-pulse 2.4s ease-in-out infinite}@keyframes shop-dot-pulse{0%,to{box-shadow:0 0 8px var(--panel-accent),inset 0 -2px 3px #00000059}50%{box-shadow:0 0 16px var(--panel-accent),inset 0 -2px 3px #00000059}}.shop-panel-note{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:3px 10px;border-radius:999px;border:1px dashed color-mix(in srgb,var(--panel-accent) 40%,var(--panel-3));background:color-mix(in srgb,var(--panel-accent) 8%,transparent)}.shop-dockbar{flex:none;display:flex;align-items:stretch;gap:12px;padding-top:clamp(10px,1.6vh,18px);border-top:1px solid color-mix(in srgb,var(--amber) 24%,transparent)}.shop-reroll-btn,.shop-leave-btn{border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);cursor:pointer;font-weight:900;display:flex;align-items:center;justify-content:center;gap:10px;transition:transform .08s,filter .15s,box-shadow .15s}.shop-reroll-btn{flex:0 0 auto;padding:9px 16px;font-size:14px;background:#3a6fbf;color:#eaf3ff;box-shadow:inset 0 3px #ffffff47,inset 0 -6px #23538f}.srr-ico{font-size:17px;line-height:1;transition:transform .4s cubic-bezier(.3,1.4,.4,1)}.shop-reroll-btn:not(.disabled):hover .srr-ico{transform:rotate(180deg)}.shop-reroll-btn:not(.disabled):active .srr-ico{transform:rotate(360deg)}.srr-price{color:var(--accent);font-size:15px}.shop-reroll-btn.disabled{filter:grayscale(.7) brightness(.7);cursor:not-allowed}.shop-leave-btn{flex:1;padding:15px 26px;font-size:clamp(15px,1.5vw,19px);letter-spacing:.5px;background:var(--amber);color:#241500;box-shadow:inset 0 3px #ffffff52,inset 0 -8px #c9862f}.slb-arrow{font-size:20px;line-height:1;transition:transform .15s}.shop-reroll-btn:not(.disabled):hover{filter:brightness(1.12)}.shop-leave-btn:hover{filter:brightness(1.1)}.shop-leave-btn:hover .slb-arrow{transform:translate(4px)}.shop-reroll-btn:not(.disabled):active,.shop-leave-btn:active{transform:scale(.97)}.shop-row{display:grid;gap:12px}.shop-cards{grid-template-columns:repeat(2,1fr)}.shop-bottom{grid-template-columns:1.2fr 1fr 1fr}.shop-slot{position:relative;background:var(--metal-tex),var(--metal-hull);border:2px solid var(--panel-3);border-top:2px solid var(--rail-soft);border-radius:var(--radius);padding:14px 12px 12px;min-height:150px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;cursor:pointer;box-shadow:inset 0 1px #ffffff0f;transition:transform .1s,box-shadow .15s,filter .15s}.shop-slot.empty{cursor:default;opacity:.35;border-style:dashed}.shop-slot:not(.empty):not(.unafford):hover{transform:translateY(-3px);filter:brightness(1.08)}.shop-slot.unafford{cursor:not-allowed;filter:grayscale(.6) brightness(.75)}.card-slot{border-color:color-mix(in srgb,var(--rar) 60%,var(--panel-3))}.price-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent),#ffb347);color:#2a1d00;font-weight:900;font-size:14px;padding:3px 12px;border-radius:8px;border:2px solid #2a2038}.price-tag.unafford{background:linear-gradient(135deg,#8a8694,#6a6678);color:#1a1430}.price-tag .coin-ico{fill:currentColor;filter:none}.seal-card,.consumable-card{flex-direction:row;align-items:stretch;text-align:left;gap:12px;padding:12px;min-height:128px}.sc-art,.cn-art{position:relative;flex:0 0 86px;align-self:stretch;border-radius:12px;display:grid;place-items:center;overflow:hidden}.sc-body,.cn-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:7px}.sc-head,.cn-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sc-name,.cn-name{font-family:var(--font-display);font-weight:900;font-size:16px;color:var(--text);line-height:1.1}.sc-text,.cn-text{font-size:11.5px;color:var(--muted);line-height:1.4}.sc-rarity,.sc-fam,.cn-kind{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;padding:2px 8px;border-radius:999px;white-space:nowrap}.sc-rarity{color:#fff;background:linear-gradient(135deg,var(--rar),color-mix(in srgb,var(--rar) 50%,#000));box-shadow:0 1px 3px #0006}.sc-fam,.cn-kind{align-self:flex-start;display:inline-flex;align-items:center;gap:5px}.sc-fam{color:color-mix(in srgb,var(--fam) 70%,#fff 30%);background:color-mix(in srgb,var(--fam) 16%,transparent);border:1px solid color-mix(in srgb,var(--fam) 42%,transparent)}.cn-kind{color:color-mix(in srgb,var(--tint) 68%,#fff 32%);background:color-mix(in srgb,var(--tint) 16%,transparent);border:1px solid color-mix(in srgb,var(--tint) 42%,transparent)}.sc-fam:before,.cn-kind:before{content:"";width:6px;height:6px;border-radius:50%}.sc-fam:before{background:var(--fam);box-shadow:0 0 6px var(--fam)}.cn-kind:before{background:var(--tint);box-shadow:0 0 6px var(--tint)}.seal-card{border:2px solid color-mix(in srgb,var(--fam) 58%,var(--panel-3));border-top-color:color-mix(in srgb,var(--fam) 70%,#fff 14%);background:color-mix(in srgb,var(--fam) 9%,var(--panel));box-shadow:inset 0 1px #ffffff0f}.seal-card:not(.unafford):hover{border-color:color-mix(in srgb,var(--fam) 85%,#fff 12%);box-shadow:inset 0 0 28px color-mix(in srgb,var(--fam) 18%,transparent)}.sc-art{background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--fam) 28%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--fam) 16%,#1c2836),#1c2836);border:1px solid color-mix(in srgb,var(--fam) 40%,transparent);box-shadow:inset 0 0 18px #00000080}.sc-wax{position:relative;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 36% 30%,color-mix(in srgb,var(--fam) 58%,#fff 28%) 0%,var(--fam) 40%,color-mix(in srgb,var(--fam) 52%,#000) 100%);border:2px solid color-mix(in srgb,var(--fam) 50%,#fff 32%);box-shadow:inset 0 2px 5px #fff6,inset 0 -6px 10px #00000073,0 3px 12px color-mix(in srgb,var(--fam) 45%,transparent)}.sc-wax:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.42)}.sc-wax-sprite{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:50%}.sc-wax-sheen{position:absolute;top:-40%;left:-70%;width:45%;height:180%;z-index:2;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(22deg);transition:left .55s ease}.seal-card:not(.unafford):hover .sc-wax-sheen{left:120%}.consumable-card{border:2px solid color-mix(in srgb,var(--tint) 52%,var(--panel-3));border-top-color:color-mix(in srgb,var(--tint) 64%,#fff 14%);background:color-mix(in srgb,var(--tint) 8%,var(--panel));box-shadow:inset 0 1px #ffffff0f}.consumable-card:not(.unafford):hover{border-color:color-mix(in srgb,var(--tint) 80%,#fff 10%);filter:brightness(1.06)}.cn-art{background:radial-gradient(120% 90% at 50% 20%,color-mix(in srgb,var(--tint) 30%,#1c2836),#1c2836);border:1px solid color-mix(in srgb,var(--tint) 40%,transparent);box-shadow:inset 0 0 18px #00000080}.cn-emblem{position:relative;z-index:1;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--tint) 46%,#000 6%),color-mix(in srgb,var(--tint) 22%,#000 42%));border:2px solid color-mix(in srgb,var(--tint) 52%,#fff 20%);box-shadow:inset 0 1px #fff3,inset 0 -6px 12px #00000073}.cn-ico{width:26px;height:26px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.cn-motif{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.85;pointer-events:none}.kind-arcana .cn-motif{background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,255,255,.12) 0deg 5deg,transparent 5deg 16deg);-webkit-mask:radial-gradient(circle at 50% 50%,#000 22%,transparent 75%);mask:radial-gradient(circle at 50% 50%,#000 22%,transparent 75%)}.kind-constellation .cn-motif{background:radial-gradient(1.4px 1.4px at 24% 24%,#fff 50%,transparent 55%),radial-gradient(1.4px 1.4px at 74% 20%,#fff 50%,transparent 55%),radial-gradient(1.2px 1.2px at 62% 60%,#fff 50%,transparent 55%),radial-gradient(1px 1px at 32% 70%,rgba(255,255,255,.85) 50%,transparent 55%),radial-gradient(1.6px 1.6px at 84% 76%,#fff 50%,transparent 55%),radial-gradient(1px 1px at 50% 40%,rgba(255,255,255,.8) 50%,transparent 55%)}.kind-spectral .cn-motif{background:radial-gradient(60% 45% at 28% 28%,rgba(255,255,255,.18),transparent 70%),radial-gradient(55% 55% at 76% 72%,rgba(255,255,255,.13),transparent 70%)}.voucher-slot{flex-direction:row;align-items:stretch;gap:10px;padding-left:8px}.vs-rail{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-weight:900;letter-spacing:2px;color:var(--muted);font-size:12px;padding:4px 0}.vs-card{flex:1;background:var(--panel-2);border:1px solid var(--panel-3);border-radius:10px;padding:10px 8px;display:flex;flex-direction:column;justify-content:center;gap:6px}.vs-name{font-weight:900;font-size:14px;color:var(--primary-bright)}.vs-text{font-size:11px;color:var(--muted);line-height:1.3}.booster-slot{justify-content:flex-start;border-color:color-mix(in srgb,var(--tint) 55%,var(--panel-3));border-top-color:color-mix(in srgb,var(--tint) 66%,#fff 14%)}.booster-slot:not(.empty):not(.unafford):hover .bp-sheen{transform:translate(120px) rotate(20deg)}.bp-art{position:relative;margin-top:14px;width:86px;height:116px}.bp-foil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:10px;overflow:hidden;background:repeating-linear-gradient(118deg,#ffffff17 0,#ffffff17 7px,#0000 7px,#0000 15px),linear-gradient(158deg,color-mix(in srgb,var(--tint) 88%,#fff 8%),color-mix(in srgb,var(--tint) 40%,#000) 65%,color-mix(in srgb,var(--tint) 22%,#000));border:2px solid color-mix(in srgb,var(--tint) 70%,#fff 22%);box-shadow:inset 0 2px #ffffff59,inset 0 -14px 22px #00000080}.bp-crimp{position:absolute;left:0;right:0;height:16px;background:color-mix(in srgb,var(--tint) 55%,#fff 35%);-webkit-mask:repeating-linear-gradient(90deg,#000 0 4px,transparent 4px 8px);mask:repeating-linear-gradient(90deg,#000 0 4px,transparent 4px 8px);opacity:.85}.bp-crimp.top{top:0}.bp-crimp.bottom{bottom:0}.bp-sheen{position:absolute;top:-20%;left:-60px;width:40px;height:140%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(20deg);transition:transform .5s ease}.bp-emblem{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#00000052;border:2px solid rgba(255,255,255,.5);box-shadow:inset 0 0 10px #00000073,0 2px 6px #0006;color:#fff}.bp-emblem-ico{width:26px;height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.bp-name{margin-top:12px;font-weight:800;font-size:12px;color:var(--text);line-height:1.2}.bp-meta{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}@media(max-width:760px){.shop-topbar{flex-wrap:wrap;gap:8px}.shop-balance{padding:6px 14px}.shop-bottom{grid-template-columns:1fr 1fr}.shop-bottom .voucher-slot{grid-column:1 / -1}}#booster-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#080512bd;border-radius:var(--radius);z-index:30;padding:20px}#booster-overlay.visible{display:flex}.bp-card{position:relative;background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:24px 28px 28px;max-width:min(860px,96%);max-height:100%;overflow-y:auto;animation:pop .28s cubic-bezier(.2,1.5,.4,1);text-align:center}.bp-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.bp-head h2{margin:0;font-size:clamp(20px,2.2vw,28px);color:var(--text)}.bp-remaining{color:var(--accent);font-weight:800;font-size:13px}.bp-options{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:20px}.bp-option{position:relative;width:150px;background:var(--panel-2);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--rar) 45%,transparent);transition:transform .1s,box-shadow .15s,opacity .2s}.bp-option.pickable{cursor:pointer}.bp-option.pickable:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--rar) 60%,transparent)}.bp-option.taken{opacity:.3;filter:grayscale(.8)}.bp-opt-kind{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.bp-opt-name{font-weight:900;font-size:14px;color:var(--text)}.bp-opt-text{font-size:11px;color:var(--muted);line-height:1.3;flex:1}.bp-opt-sprite{display:block;width:84px;height:84px;margin:4px auto 6px;object-fit:cover;border-radius:50%;border:2px solid color-mix(in srgb,var(--rar) 60%,#1c2836)}.bp-option>.tile{margin:2px auto}.bp-close-btn{min-width:160px}.bp-card.bp-arcana{max-width:min(620px,96%)}.bp-consigne{color:var(--text);font-size:13px;font-weight:700;min-height:18px;margin-bottom:12px}.bp-miniboard{display:grid;grid-template-columns:repeat(var(--cols, 6),1fr);gap:7px;max-width:396px;margin:0 auto 18px}.bp-cell{position:relative;aspect-ratio:1;display:grid;place-items:center;transition:transform .1s,opacity .2s,filter .2s}.bp-cell>.tile{width:100%;height:100%}.bp-cell-x{color:#6a8f83;font-weight:900;font-size:18px}.bp-miniboard.targeting .bp-cell.invalid{opacity:.22;filter:grayscale(.7)}.bp-miniboard.targeting .bp-cell.valid{cursor:pointer}.bp-miniboard.targeting .bp-cell.valid:hover{transform:translateY(-3px) scale(1.05)}.bp-cell.selected{transform:translateY(-3px) scale(1.07);z-index:2}.bp-cell.selected>.tile{box-shadow:0 0 0 3px #ffd24a}.bp-cell.locked:not(.destroyed){opacity:.5}.bp-cell.destroyed{opacity:.5}.bp-arcana-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:16px}.bp-arcana-opt{width:150px;background:var(--panel-2);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:10px;transition:transform .1s,box-shadow .15s,border-color .15s,opacity .2s}.bp-arcana-opt.selectable{cursor:pointer}.bp-arcana-opt.selectable:hover{transform:translateY(-3px)}.bp-arcana-opt.active{border-color:#ffd24a}.bp-arcana-opt.taken{opacity:.3;filter:grayscale(.8)}.bp-arcana-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.bp-fx-back,.bp-content,.bp-fx-front{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:24px}.bp-fx-back{z-index:1}.bp-content{z-index:2}.bp-fx-front{z-index:3}.bp-fx-back,.bp-fx-front{pointer-events:none;overflow:hidden}.bp-rays{width:540px;height:540px;border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--tint) 75%,#fff) 0deg 5deg,transparent 5deg 16deg);-webkit-mask:radial-gradient(circle,#000 6%,rgba(0,0,0,.55) 28%,transparent 68%);mask:radial-gradient(circle,#000 6%,rgba(0,0,0,.55) 28%,transparent 68%);opacity:0}.bp-glow{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--tint) 80%,#fff) 0%,color-mix(in srgb,var(--tint) 50%,transparent) 34%,color-mix(in srgb,var(--tint) 20%,transparent) 58%,transparent 78%);opacity:0}.bp-pack{position:relative;width:150px;height:200px;will-change:transform}.bp-pack-inner{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform,opacity}.bp-pack-inner .bp-foil{box-shadow:inset 0 3px #fff6,inset 0 -22px 34px #0000008c,0 0 36px color-mix(in srgb,var(--tint) 55%,transparent),0 14px 30px #0000008c}.bp-pack-inner .bp-emblem{width:64px;height:64px}.bp-pack-inner .bp-emblem-ico{width:38px;height:38px}.bp-pack-inner .bp-sheen{width:56px;animation:bp-sheen-sweep 1.1s ease-in-out infinite}@keyframes bp-sheen-sweep{0%{transform:translate(0) rotate(20deg)}to{transform:translate(260px) rotate(20deg)}}.bp-flash{position:absolute;width:150%;height:150%;background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.85) 26%,transparent 64%);opacity:0}.bp-shock{position:absolute;width:80px;height:80px;border-radius:50%;border:5px solid color-mix(in srgb,var(--tint) 55%,#fff);box-shadow:0 0 30px color-mix(in srgb,var(--tint) 70%,#fff),inset 0 0 20px color-mix(in srgb,var(--tint) 60%,#fff)}.bp-confetti{position:absolute;width:8px;height:12px;border-radius:2px;box-shadow:0 0 6px #ffffff73}.bp-spark{position:absolute;top:50%;left:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;pointer-events:none;box-shadow:0 0 7px currentColor;z-index:6}.bp-option--special{box-shadow:inset 0 0 0 3px #ffd24ad9}@media(prefers-reduced-motion:reduce){.bp-pack-inner .bp-sheen,.bp-rays{animation:none}}#constellation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#0a0616c7;z-index:60;padding:20px}#constellation-overlay.visible{display:flex}.cst-felt{position:relative;width:min(960px,96vw);max-height:92vh;max-height:92dvh;overflow-y:auto;padding:26px clamp(20px,3vw,40px) 30px;border-radius:var(--radius);background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);animation:scene-in .24s cubic-bezier(.2,1.4,.4,1)}.cst-titlebar{text-align:center;margin-bottom:22px}.cst-title{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(30px,4.6vw,46px);letter-spacing:2px;color:var(--text)}.cst-list{display:flex;flex-direction:column;gap:9px;max-width:720px;margin:0 auto;padding:4px 2px}.cst-row{position:relative;display:flex;align-items:center;gap:16px;padding:12px 16px 12px 20px;border-radius:var(--radius);background:var(--panel-2);border:var(--stroke-w) solid var(--panel-stroke);overflow:hidden;transition:transform .12s ease,filter .12s}.cst-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--tint)}.cst-row:hover{transform:translateY(-2px);filter:brightness(1.06)}.cst-row.leveled:before{background:var(--accent)}.cst-id{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px;align-items:flex-start}.cst-rank{flex:0 0 auto;display:flex;align-items:baseline;gap:4px;font-family:var(--font-display);font-weight:900;font-size:18px;color:var(--text);background:var(--well);border:2px solid var(--panel-stroke);border-radius:12px;padding:4px 12px}.cst-rank b{font-size:9px;font-weight:800;letter-spacing:1px;color:var(--muted)}.cst-rank.up{color:#241500;background:var(--accent);border-color:var(--panel-stroke)}.cst-rank.up b{color:#6a4e00}.cst-shape{flex:0 0 auto;width:74px;height:62px;display:flex;align-items:center;justify-content:center;border-radius:14px;border:2px solid var(--panel-stroke);background:var(--well)}.shape-grid{display:grid}.shape-cell{border-radius:2px;background:transparent}.shape-cell.on{border-radius:3px;background:var(--tint)}.cst-name{font-family:var(--font-display);font-weight:900;font-size:16px;line-height:1.05;text-align:left;color:var(--text);letter-spacing:.4px}.cst-readout{flex:0 0 auto;display:flex;align-items:center;gap:6px}.cst-chipblock,.cst-multblock{min-width:40px;padding:5px 9px;border-radius:10px;color:#fff;font-family:var(--font-display);font-weight:900;font-size:20px;text-align:center;border:2px solid var(--panel-stroke);-webkit-text-stroke:1.5px rgba(0,0,0,.55);paint-order:stroke fill}.cst-chipblock{background:var(--chips)}.cst-multblock{background:var(--mult)}.cst-times{color:var(--muted);font-size:15px;font-weight:700}.cst-scaling{flex:0 0 auto;width:104px;display:flex;align-items:center;justify-content:flex-end;gap:3px;font-size:11px;font-weight:700;color:var(--muted)}.cst-dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:-1px;margin-left:1px}.cst-dot.chips{background:var(--chips)}.cst-dot.mult{background:var(--mult)}.cst-fam{display:flex;align-items:center;gap:5px;margin-top:1px;font-size:10px;font-weight:700}.cst-fam-tag{font-size:8px;letter-spacing:.5px;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--tint) 22%,transparent);border:1px solid color-mix(in srgb,var(--tint) 42%,transparent);color:color-mix(in srgb,var(--tint) 45%,#ffffff)}@media(max-width:560px){.cst-row{flex-wrap:wrap;gap:10px 12px}.cst-scaling{width:auto;justify-content:flex-start}}#music-toggle,#fullscreen-toggle{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));z-index:1000;width:48px;height:48px;display:grid;place-items:center;padding:0;border:var(--stroke-w) solid var(--panel-stroke);border-radius:50%;background:var(--panel-2);color:var(--text);cursor:pointer;box-shadow:inset 0 2px #ffffff2e,inset 0 -6px 0 var(--panel-shade);transition:transform .12s ease,background .12s ease,color .12s ease}#music-toggle{right:max(16px,env(safe-area-inset-right))}#fullscreen-toggle{right:calc(max(16px,env(safe-area-inset-right)) + 58px)}#music-toggle:hover,#fullscreen-toggle:hover{transform:scale(1.08);background:var(--panel-3);color:var(--accent)}#music-toggle:active,#fullscreen-toggle:active{transform:scale(.96)}#music-toggle.is-muted{color:var(--muted)}#fullscreen-toggle.is-active{color:var(--accent)}#music-toggle svg,#fullscreen-toggle svg{width:26px;height:26px}#sector-map{position:absolute;top:0;right:0;bottom:0;left:0;display:none;z-index:20}#sector-map.visible{display:flex}.map-card{flex:1;display:flex;flex-direction:column;background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:clamp(14px,2vh,26px) clamp(16px,2vw,30px);overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08,0 18px 50px #00000080;animation:scene-in .26s cubic-bezier(.2,1.3,.4,1)}.map-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:clamp(8px,1.4vh,16px);flex-wrap:wrap}.map-head h2{margin:0;font-family:var(--font-display);font-size:clamp(18px,2.2vw,32px);letter-spacing:1px;color:var(--cyan-bright);text-shadow:2px 2px 0 #22384e,4px 4px 0 rgba(0,0,0,.45),0 0 26px rgba(77,155,255,.4)}.map-boss-preview{display:inline-flex;align-items:center;gap:4px;color:#e08a8a;font-weight:800;font-size:clamp(11px,1.2vw,14px)}.map-boss-preview .preview-ico{width:1.1em;height:1.1em}.map-field{position:relative;flex:1;min-height:0;border-radius:14px;overflow:hidden;background:url(/sprites/backgrounds/background_1.png) center / cover no-repeat,linear-gradient(160deg,#223141,#1c2836 80%)}.map-scroll{position:relative;width:100%;height:100%}.map-stars{position:absolute;top:-24px;right:-24px;bottom:-24px;left:-24px;z-index:0;pointer-events:none;animation:star-drift 46s linear infinite alternate,star-twinkle 6s ease-in-out infinite;background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.7) 50%,transparent),radial-gradient(1px 1px at 70% 20%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(1px 1px at 40% 70%,rgba(255,255,255,.6) 50%,transparent),radial-gradient(1px 1px at 85% 65%,rgba(255,255,255,.45) 50%,transparent),radial-gradient(1.5px 1.5px at 55% 45%,rgba(255,255,255,.55) 50%,transparent),radial-gradient(1px 1px at 12% 80%,rgba(255,255,255,.4) 50%,transparent),radial-gradient(1px 1px at 92% 18%,rgba(255,255,255,.5) 50%,transparent),radial-gradient(1px 1px at 33% 12%,rgba(255,255,255,.45) 50%,transparent);opacity:.35}.map-edges{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .5s ease}.map-edges.lit{opacity:1}.map-edges .edge{stroke:#4d9bff2e;stroke-width:3;stroke-dasharray:4 7}.map-edges .edge-done{stroke:#78ffbe80;stroke-width:3.5;filter:drop-shadow(0 0 3px rgba(120,255,190,.45))}.map-edges .edge-live{stroke:#78ffbe99;stroke-width:4;stroke-dasharray:6 6;filter:drop-shadow(0 0 3px rgba(120,255,190,.6));animation:jump-flow .9s linear infinite}@keyframes jump-flow{to{stroke-dashoffset:-20}}.beacon{--accent: #8a7fb8;position:absolute;z-index:3;transform:translate(-50%,-50%);width:clamp(51px,5.1vw,69px);height:clamp(51px,5.1vw,69px);padding:0;border:0;background:none;color:#e7e0ff;font:inherit;cursor:default}.beacon[data-type=boss]{width:clamp(77px,7.65vw,104px);height:clamp(77px,7.65vw,104px)}.beacon-gem{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:8px;border:2px solid color-mix(in srgb,var(--accent) 70%,#000 30%);background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--accent) 55%,#1a1430),var(--panel-shade) 80%);transform:rotate(45deg);box-shadow:inset 0 0 8px #00000080;transition:box-shadow .18s ease,border-color .18s ease}.beacon-icon{display:flex;transform:rotate(-45deg);color:color-mix(in srgb,var(--accent) 40%,#ffffff)}.beacon-icon .tabler-ico{width:clamp(25px,2.85vw,34px);height:clamp(25px,2.85vw,34px);display:block}.beacon.sprite .beacon-gem{background:none;border:0;box-shadow:none;transform:none;overflow:visible}.beacon.sprite .beacon-gem:before{content:none}.beacon-sprite{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.55));transition:transform .18s ease,filter .18s ease}.beacon.sprite.current .beacon-gem{box-shadow:none}.beacon.sprite.current .beacon-sprite{filter:drop-shadow(0 0 7px var(--accent)) drop-shadow(0 3px 4px rgba(0,0,0,.55))}.beacon.sprite.available .beacon-gem{animation:none;box-shadow:none;border:0}.beacon.sprite.available .beacon-sprite{filter:drop-shadow(0 0 7px rgba(205,232,255,.95)) drop-shadow(0 0 15px rgba(120,180,255,.6)) drop-shadow(0 3px 4px rgba(0,0,0,.55))}.beacon.sprite.available:hover .beacon-gem{transform:none}.beacon.sprite.available:hover .beacon-sprite{transform:scale(1.16)}.beacon.sprite.visited .beacon-sprite{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 75%,transparent)) drop-shadow(0 3px 4px rgba(0,0,0,.55))}.beacon.sprite.picked .beacon-gem{animation:beacon-sprite-pick .32s ease-out forwards}@keyframes beacon-sprite-pick{0%{transform:scale(1);opacity:1}35%{transform:scale(1.5);filter:drop-shadow(0 0 22px var(--accent));opacity:1}to{transform:scale(2.4);opacity:0}}.beacon.sprite.engaged .beacon-gem{animation:beacon-sprite-engage .3s ease-out}@keyframes beacon-sprite-engage{0%{transform:scale(1)}45%{transform:scale(1.32);filter:drop-shadow(0 0 20px var(--accent))}to{transform:scale(1)}}.beacon-meta{position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:0;white-space:nowrap;pointer-events:none}.beacon-label{font-size:clamp(9px,.85vw,11px);font-weight:800;letter-spacing:.3px;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 -2px 0 #000,0 2px 0 #000,-2px 0 0 #000,2px 0 0 #000,0 1px 3px rgba(0,0,0,.8)}.beacon-sub{font-size:clamp(8px,.8vw,10px);font-weight:800;color:var(--accent);text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 -2px 0 #000,0 2px 0 #000,-2px 0 0 #000,2px 0 0 #000,0 1px 3px rgba(0,0,0,.8)}.beacon-mod{position:absolute;z-index:3;top:-6px;right:-6px;background:var(--accent);color:#14101e;font-size:9px;font-weight:900;padding:0 4px;border-radius:7px}.beacon.locked{filter:saturate(.7) brightness(.7)}.beacon.current .beacon-gem{border-color:var(--accent);box-shadow:inset 0 0 8px #00000080,0 0 10px -2px var(--accent)}.beacon.available{cursor:pointer}.beacon.available .beacon-gem{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 16px -2px var(--accent);animation:beacon-pulse 1.6s ease-in-out infinite}.beacon.available:hover{z-index:4}.beacon.available:hover .beacon-gem{transform:rotate(45deg) scale(1.16)}@keyframes beacon-pulse{0%,to{box-shadow:0 0 0 1px var(--accent),0 0 12px -3px var(--accent)}50%{box-shadow:0 0 0 1px var(--accent),0 0 22px 1px var(--accent)}}.map-field.awaiting-reveal .beacon{opacity:0;pointer-events:none}.map-field.revealing .beacon{animation:beacon-reveal .5s cubic-bezier(.2,1.5,.4,1) var(--reveal-delay, 0ms) both}@keyframes beacon-reveal{0%{opacity:0;transform:translate(-50%,-50%) scale(.15)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.22)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.beacon-gem:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:10px;border:2px solid var(--accent);opacity:0;pointer-events:none}.map-field.revealing .beacon.available .beacon-gem:before{animation:beacon-ring .7s ease-out var(--reveal-delay, 0ms) both}@keyframes beacon-ring{0%{opacity:0;transform:scale(.5)}35%{opacity:.9}to{opacity:0;transform:scale(2)}}.beacon.picked{z-index:6}.beacon.picked .beacon-gem{animation:beacon-pick .32s ease-out forwards}.beacon.engaged{z-index:6}.beacon.engaged .beacon-gem{animation:beacon-engage .3s ease-out}@keyframes beacon-engage{0%{transform:rotate(45deg) scale(1)}45%{transform:rotate(45deg) scale(1.32);box-shadow:0 0 0 2px var(--accent),0 0 28px 6px var(--accent)}to{transform:rotate(45deg) scale(1)}}@keyframes beacon-pick{0%{transform:rotate(45deg) scale(1)}35%{transform:rotate(45deg) scale(1.5);box-shadow:0 0 0 2px var(--accent),0 0 34px 6px var(--accent);opacity:1}to{transform:rotate(45deg) scale(2.4);box-shadow:0 0 0 2px var(--accent),0 0 60px 24px var(--accent);opacity:0}}.map-field.warp{animation:map-warp .32s ease-in forwards}@keyframes map-warp{0%{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.45) saturate(1.25);transform:scale(1.05)}}.map-field.warp .beacon:not(.picked){opacity:.2;transition:opacity .22s ease}@keyframes star-drift{0%{transform:translateZ(0)}to{transform:translate3d(-16px,10px,0)}}@keyframes star-twinkle{0%,to{opacity:.55}50%{opacity:.95}}@media(prefers-reduced-motion:reduce){.map-field.revealing .beacon,.map-field.revealing .beacon.available .beacon-gem:before,.map-stars,.map-field.warp{animation:none}.map-field.revealing .beacon{opacity:1}}#site-view{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#080610b8;z-index:60}#site-view.visible{display:flex}.site-card{position:relative;width:min(440px,90vw);background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:clamp(20px,3vh,32px);text-align:center;box-shadow:var(--metal-bevel),0 20px 60px #0000008c;animation:scene-in .22s cubic-bezier(.2,1.3,.4,1)}.site-icon{font-size:40px;line-height:1}.site-title{margin:8px 0 4px;font-family:var(--font-display);color:var(--cyan-bright);letter-spacing:1px;text-shadow:0 0 24px rgba(77,155,255,.4)}.site-text{margin:0 0 18px;color:var(--muted)}.site-choices{display:flex;flex-direction:column;gap:10px}.site-choice{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:2px solid var(--panel-3);border-radius:12px;background:linear-gradient(160deg,var(--panel-2),var(--panel-2));color:#e9e3ff;font:inherit;cursor:pointer;transition:transform .12s ease,border-color .18s ease}.site-choice:hover{transform:translateY(-2px);border-color:var(--accent)}.site-choice-label{font-weight:800}.site-choice-hint{font-size:12px;color:var(--muted)}#start-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(90% 70% at 50% -10%,rgba(77,155,255,.16) 0%,transparent 55%),radial-gradient(80% 80% at 82% 108%,rgba(176,107,255,.14) 0%,transparent 55%),radial-gradient(circle at 50% 40%,#32465b,#223141 80%);transition:opacity .4s ease,visibility .4s ease}#start-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.55;filter:blur(60px);animation:start-blobs 12s ease-in-out infinite alternate;background:radial-gradient(38% 32% at 30% 38%,rgba(77,155,255,.45),transparent 70%),radial-gradient(34% 30% at 72% 62%,rgba(255,176,84,.32),transparent 70%)}@keyframes start-blobs{0%{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,2%,0) scale(1.08)}}#start-screen.closing{opacity:0;visibility:hidden;pointer-events:none}.start-card{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:clamp(24px,5vh,48px);animation:scene-in .4s cubic-bezier(.2,1.3,.4,1)}.start-title{margin:0;font-family:var(--font-display);font-size:clamp(48px,12vw,120px);letter-spacing:3px;line-height:1;color:var(--cyan-bright);text-shadow:3px 3px 0 #22384e,6px 6px 0 rgba(0,0,0,.5),0 0 48px rgba(77,155,255,.55);animation:title-float 3.5s ease-in-out infinite}.start-subtitle{margin:0 0 clamp(18px,3vh,32px);color:var(--muted);font-size:clamp(13px,1.8vw,18px);letter-spacing:1px}.ui-btn.start-play-btn{font-family:var(--font-display);font-size:clamp(20px,3vw,30px);letter-spacing:2px;padding:clamp(14px,1.8vh,20px) clamp(40px,8vw,80px) clamp(18px,2.4vh,26px);border-radius:var(--radius);animation:play-pulse 1.8s ease-in-out infinite}@keyframes title-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}@keyframes play-pulse{0%,to{filter:brightness(1) drop-shadow(0 0 10px rgba(77,155,255,.4))}50%{filter:brightness(1.08) drop-shadow(0 0 26px rgba(77,155,255,.7))}}.start-tut{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(14px,2.4vh,24px);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--muted);font-size:clamp(13px,1.6vw,16px);letter-spacing:.5px;transition:color .15s ease}.start-tut:hover{color:var(--text)}.start-tut-input{position:absolute;opacity:0;width:0;height:0}.start-tut-box{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--well);border:var(--stroke-w) solid var(--panel-stroke);box-shadow:inset 0 2px 4px #00000059;color:transparent;font-size:15px;font-weight:900;line-height:1;transition:background .15s ease,color .15s ease}.start-tut-input:checked+.start-tut-box{background:var(--primary);color:#08121f;box-shadow:inset 0 1px #ffffff59,0 0 16px #4d9bff80}.start-tut-input:focus-visible+.start-tut-box{outline:2px solid var(--primary-bright);outline-offset:2px}@media(prefers-reduced-motion:reduce){.start-title,#start-play{animation:none}}.map-recall{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:clamp(9px,1vw,12px);color:var(--recall);padding:4px 10px;border-radius:var(--radius);border:var(--stroke-w) solid var(--panel-stroke);background:#1a0806b8}.map-recall-label{font-weight:700;color:var(--recall-glow)}.map-recall-gauge{position:relative;width:clamp(70px,9vw,130px);height:8px;border-radius:5px;overflow:hidden;background:#0006;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--recall) 22%,transparent)}.map-recall-fill{display:block;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--recall) 55%,transparent),var(--recall));box-shadow:0 0 10px #ff3b2f80;transition:width .4s cubic-bezier(.2,1,.4,1)}.map-recall-status{color:var(--muted)}.map-recall.near{color:var(--recall);border-color:color-mix(in srgb,var(--recall) 70%,transparent);box-shadow:0 0 16px #ff3b2f4d,inset 0 0 10px #ff3b2f1f;animation:recall-strobe 1.1s steps(2,end) infinite}.map-recall.near .map-recall-status{color:var(--recall);font-weight:700}@keyframes recall-strobe{0%{opacity:1}50%{opacity:.62}to{opacity:1}}@media(prefers-reduced-motion:reduce){.map-recall.near{animation:none}}#reward-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;background:#0a101acc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;cursor:pointer}#reward-overlay.visible{display:flex}.rw-skip-hint{margin-top:10px;font-weight:700;font-size:12px;letter-spacing:.4px;color:var(--muted);opacity:.7;pointer-events:none}.rw-fx{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:2}.rw-confetti{position:absolute;border-radius:2px;will-change:transform,opacity}.rw-card{position:relative;z-index:1;width:min(440px,92vw);padding:28px 32px 26px;text-align:center;background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);border-radius:calc(var(--radius) + 8px);box-shadow:0 22px 60px var(--panel-shadow),inset 0 2px #ffffff0f}.rw-badge{width:62px;height:62px;margin:-52px auto 10px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 35%,#ffe46b,#ffb054);border:var(--stroke-w) solid var(--panel-stroke);box-shadow:0 8px 20px #ffb05466,inset 0 2px 3px #fff9}.rw-badge-ico{width:32px;height:32px;color:#3a2708;stroke-width:2.4}.rw-card.rw-boss .rw-badge{background:radial-gradient(circle at 50% 35%,#ffe46b,#ff6b8b);box-shadow:0 8px 24px #ff6b8b80,inset 0 2px 3px #fff9}.rw-title{margin:0 0 18px;font-family:var(--font-display);font-weight:900;font-size:26px;letter-spacing:.5px;color:var(--accent);text-shadow:0 2px 0 var(--panel-stroke)}.rw-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.rw-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--well);border:2px solid var(--panel-stroke);border-radius:var(--radius);will-change:transform,opacity}.rw-ico{flex-shrink:0;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--panel-2);box-shadow:inset 0 1px #ffffff14}.rw-tabler{width:20px;height:20px;color:var(--accent)}.rw-label{flex:1;text-align:left;font-weight:800;font-size:14px;color:var(--text)}.rw-note{display:block;margin-top:1px;font-weight:600;font-size:11px;color:var(--muted)}.rw-note .coin-ico{width:11px;height:11px;vertical-align:-1px}.rw-val{position:relative;flex-shrink:0;display:inline-flex;align-items:center;gap:3px;font-family:var(--font-display);font-weight:900;font-size:18px;color:#ffe46b;will-change:transform}.rw-val .coin-ico{width:16px;height:16px}.rw-avarice{margin:10px 0 18px;padding:14px;font-weight:700;color:var(--muted);font-style:italic;background:var(--well);border:2px solid var(--panel-stroke);border-radius:var(--radius)}.rw-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;padding:14px 18px;background:linear-gradient(160deg,#3a2f16,#2c2410);border:var(--stroke-w) solid #7a5a1e;border-radius:var(--radius);box-shadow:inset 0 2px 8px #0006}.rw-total-label{font-family:var(--font-display);font-weight:900;font-size:15px;letter-spacing:.5px;color:#ffd98a;text-transform:uppercase}.rw-total-val{position:relative;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:900;font-size:34px;color:#ffe46b;text-shadow:0 2px 0 rgba(0,0,0,.5);will-change:transform}.rw-total-val .coin-ico{width:30px;height:30px}.rw-continue{width:100%}.rw-spark{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none;will-change:transform,opacity}.tut-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;pointer-events:none;opacity:0;transition:opacity .28s ease}.tut-root.active{opacity:1}.tut-root.closing{opacity:0}.tut-block{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:auto}.tut-root.interactive .tut-block,.tut-root.silent .tut-block{pointer-events:none}.tut-ring{position:fixed;pointer-events:none;border-radius:14px;opacity:0;box-shadow:0 0 0 100vmax #0a1018bd,0 0 0 3px var(--primary),0 0 26px 5px #4d9bff80;transition:opacity .2s ease}.tut-ring.visible{opacity:1}.tut-bubble{position:fixed;pointer-events:auto;width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:18px 20px 16px;background:var(--panel);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);box-shadow:0 12px 28px var(--panel-shadow),inset 0 1px #ffffff0f;opacity:0;transform:scale(.96);transition:opacity .2s ease,transform .2s cubic-bezier(.2,1.3,.4,1)}.tut-bubble.visible{opacity:1;transform:scale(1)}.tut-title{font-family:var(--font-display);font-weight:900;font-size:17px;letter-spacing:.5px;color:var(--primary-bright);margin-bottom:8px}.tut-body{color:var(--text);font-size:14px;line-height:1.5}.tut-body b{color:var(--accent);font-weight:800}.tut-ico{height:1.5em;width:auto;vertical-align:-.42em;margin:0 1px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.tut-cta .tut-ico{height:1.35em;vertical-align:-.34em}.tut-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.ui-btn.tut-skip{font-size:12px;padding:6px 10px;opacity:.7}.ui-btn.tut-skip:hover{opacity:1}.ui-btn.tut-next{font-size:14px;padding:8px 18px}.tut-cta{margin-left:auto;padding:7px 14px;border-radius:999px;background:#4d9bff29;border:2px solid var(--primary);color:var(--primary-bright);font-weight:800;font-size:13px;animation:tut-cta-pulse 1.5s ease-in-out infinite}@keyframes tut-cta-pulse{0%,to{box-shadow:0 0 #4d9bff00}50%{box-shadow:0 0 14px 2px #4d9bff80}}.tut-arrow{position:absolute;width:0;height:0;display:none}.tut-arrow[data-side=bottom]{top:calc(-1 * var(--stroke-w));transform:translate(-50%,-100%);border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:10px solid var(--panel-stroke)}.tut-arrow[data-side=top]{bottom:calc(-1 * var(--stroke-w));transform:translate(-50%,100%);border-left:9px solid transparent;border-right:9px solid transparent;border-top:10px solid var(--panel-stroke)}.tut-arrow[data-side=right]{left:calc(-1 * var(--stroke-w));transform:translate(-100%,-50%);border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:10px solid var(--panel-stroke)}.tut-arrow[data-side=left]{right:calc(-1 * var(--stroke-w));transform:translate(100%,-50%);border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:10px solid var(--panel-stroke)}@media(prefers-reduced-motion:reduce){.tut-cta{animation:none}}:root{--panel-grad: var(--panel);--panel-grad-2: var(--panel-2);--rail-strong: color-mix(in srgb, var(--primary) 55%, transparent);--rail-soft: color-mix(in srgb, var(--edge) 55%, transparent);--glow-primary: rgba(77, 155, 255, .5);--btn-radius: var(--radius);--btn-stroke: #0a0d13;--metal-rivets: none;--metal-sweat: none;--metal-brushed: none;--metal-hull: var(--panel);--metal-tex: none;--metal-bevel: 0 10px 26px var(--panel-shadow), inset 0 1px 0 rgba(255, 255, 255, .06), inset 0 0 0 1px rgba(255, 255, 255, .02)}.metal-plate{background:var(--panel-grad);box-shadow:var(--metal-bevel)}.ui-panel{position:relative;background:var(--panel-grad);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:14px 16px;box-shadow:0 10px 26px var(--panel-shadow),inset 0 1px #ffffff0f}.ui-panel[data-variant=soft]{background:var(--panel-grad-2)}.ui-panel[data-variant=flush]{background:var(--well);box-shadow:inset 0 1px 3px var(--panel-shadow)}.ui-panel[data-variant=commerce]{border-color:var(--panel-stroke);box-shadow:0 10px 26px var(--panel-shadow),inset 0 1px #ffffff0f,inset 0 0 0 1px color-mix(in srgb,var(--amber) 16%,transparent)}.ui-panel[data-tinted=true]{border-left:3px solid var(--tint)}.ui-panel-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var(--muted);margin-bottom:10px}.ui-btn{--btn-face: var(--panel-2);--btn-edge: var(--panel-shade);--btn-fg: #12161c;--btn-glow: transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--btn-face);color:var(--btn-fg);border:var(--stroke-w) solid var(--btn-stroke);border-radius:var(--btn-radius);box-shadow:inset 0 3px #ffffff52,inset 0 -9px 0 var(--btn-edge);padding:11px 18px 15px;font-family:inherit;font-weight:900;font-size:14px;letter-spacing:.3px;text-shadow:0 1px 0 rgba(255,255,255,.22);white-space:nowrap;cursor:pointer;transition:transform .08s ease,filter .15s ease,box-shadow .12s ease}.ui-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:inset 0 3px #ffffff57,inset 0 -9px 0 var(--btn-edge),0 0 18px var(--btn-glow)}.ui-btn:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff42,inset 0 -3px 0 var(--btn-edge)}.ui-btn:disabled{filter:grayscale(.6) brightness(.7);cursor:not-allowed;transform:none}.ui-btn.block{width:100%}.ui-btn-ico{display:inline-flex;align-items:center;font-size:1.05em}.ui-btn-ico svg{width:1.1em;height:1.1em}.ui-btn[data-variant=primary]{--btn-face: #5aa6ff;--btn-edge: #2f6bc2;--btn-glow: rgba(77, 155, 255, .5)}.ui-btn[data-variant=action]{--btn-face: #ffc84d;--btn-edge: #cf8a1e;--btn-glow: rgba(255, 176, 84, .45)}.ui-btn[data-variant=neutral]{--btn-face: #52698090;--btn-edge: #26333f;--btn-fg: var(--text);text-shadow:0 1px 0 rgba(0,0,0,.4)}.ui-btn[data-variant=nebula]{--btn-face: #bd90ff;--btn-edge: #7d47cc;--btn-glow: rgba(176, 107, 255, .45)}.ui-btn[data-variant=commerce]{--btn-face: #ffbe6b;--btn-edge: #cf8a1e;--btn-glow: rgba(255, 176, 84, .45)}.ui-btn[data-variant=danger]{--btn-face: #ff6b7a;--btn-edge: #c23346;--btn-glow: rgba(255, 90, 110, .4)}.ui-btn[data-variant=ghost]{--btn-face: #3d566e55;--btn-edge: #24333f;--btn-fg: var(--text);text-shadow:0 1px 0 rgba(0,0,0,.4)}.ui-gauge{--g-a: #4d9bff;--g-b: #6fb2ff;position:relative;height:14px;border-radius:999px;overflow:hidden;background:var(--well);box-shadow:inset 0 1px 3px var(--panel-shadow)}.ui-gauge-fill{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--g-a),var(--g-b));transition:width .35s cubic-bezier(.2,1.4,.4,1)}.ui-gauge.complete .ui-gauge-fill{background:linear-gradient(90deg,var(--amber),#ffd24a)}.ui-gauge.vertical{width:14px;height:100%}.ui-gauge.vertical .ui-gauge-fill{position:absolute;left:0;bottom:0;width:100%;height:0%;background:linear-gradient(0deg,var(--g-a),var(--g-b));transition:height .35s cubic-bezier(.2,1.4,.4,1)}.ui-gauge.vertical.complete .ui-gauge-fill{background:linear-gradient(0deg,var(--amber),#ffd24a)}@media(prefers-reduced-motion:reduce){.ui-gauge-fill{transition:none}}.ui-stat{background:var(--well);border:var(--stroke-w) solid var(--panel-stroke);border-radius:var(--radius);padding:9px 10px;display:flex;flex-direction:column;align-items:center;gap:2px}.ui-stat-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);display:flex;align-items:center;justify-content:center}.ui-stat-val{font-size:clamp(19px,1.7vw,26px);font-weight:900;line-height:1}.ui-stat.gold .ui-stat-val{color:var(--accent)}.ui-stat .ui-stat-val.low{color:var(--target)}.ui-stat .ui-stat-label .coin-ico{width:16px;height:16px;vertical-align:0}.ui-counter{flex:1;border-radius:var(--radius);padding:10px 6px;text-align:center;background:var(--well);border:var(--stroke-w) solid var(--panel-stroke);box-shadow:0 0 0 2px #4d9bff73 inset,0 6px 16px var(--panel-shadow)}.ui-counter.mult{box-shadow:0 0 0 2px #ff6b8b80 inset,0 6px 16px var(--panel-shadow)}.ui-counter-val{font-size:clamp(26px,2.4vw,40px);font-weight:900;line-height:1}.ui-counter.chips .ui-counter-val{color:var(--chips)}.ui-counter.mult .ui-counter-val{color:var(--mult)}.ui-counter-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-top:4px}.ui-counter-val.flash,.ui-stat-val.flash{animation:ui-flash .28s ease}@keyframes ui-flash{0%{transform:scale(1)}40%{transform:scale(1.16);filter:brightness(1.4)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.ui-counter-val.flash,.ui-stat-val.flash{animation:none}.ui-gauge-fill{transition:none}}
