:root{--rock-900: #22262a;--rock-800: #2c3136;--rock-700: #3a4046;--stone-600: #565e64;--paper: #f2f4ef;--paper-dim: rgba(242, 244, 239, .7);--green-500: #2f8a48;--green-400: #3aa35a;--green-300: #6ed18a;--green-900: #10301c;--sand: #d9c79b;--sand-ink: #2a2418;--teal-500: #2f6f96;--teal-300: #61b7d1;--alarm: #d94f3d;--scrim: rgba(12, 16, 14, .55);--r-common: #a9b3ad;--r-junk: #565e64;--r-uncommon: #6ed18a;--r-rare: #4ea8d8;--r-epic: #a97ce0;--r-legendary: #f0b23c;--r-mythic: #ff5fa2;--r-unknown: #f2f4ef;--bevel: inset 0 2px 0 rgba(255, 255, 255, .14), inset 0 -3px 0 rgba(0, 0, 0, .45), 0 4px 0 rgba(0, 0, 0, .35);--bevel-sunk: inset 0 3px 0 rgba(0, 0, 0, .5), inset 0 -2px 0 rgba(255, 255, 255, .08);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--display: "Bricolage Grotesque", "Arial Black", Impact, system-ui, sans-serif;--text: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace;--fs-d1: 44px;--fs-d2: 28px;--fs-d3: 20px;--fs-n1: 32px;--fs-t1: 15px;--fs-t2: 13px;--fs-t3: 11px;--z-hud: 10;--z-touch: 15;--z-meter: 20;--z-fx: 30;--z-toast: 40;--z-catch: 50;--z-scrim: 55;--z-panel: 60;--z-boot: 90;--z-loader: 95;--sa-t: env(safe-area-inset-top, 0px);--sa-r: env(safe-area-inset-right, 0px);--sa-b: env(safe-area-inset-bottom, 0px);--sa-l: env(safe-area-inset-left, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--rock-900);color:var(--paper);font-family:var(--text);font-weight:500;-webkit-text-size-adjust:100%}#app,#game{position:fixed;inset:0;width:100%;height:100%;display:block}h1,h2,h3{font-family:var(--display);font-weight:800;margin:0}p{margin:0}button{font-family:inherit;cursor:pointer;border:0;border-radius:0;color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--green-300);outline-offset:2px}img{max-width:100%}.hidden{display:none!important}.mono,.wallet-addr,#demo-tag{font-family:var(--mono)}.kicker,.mini,.t3{margin:0 0 var(--s2);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--green-300)}.n1{font:700 var(--fs-n1) / 1 var(--display);font-variant-numeric:tabular-nums}.ico{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.btn,:where(.panel button,.tabs button){display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:44px;padding:0 var(--s4);border-radius:0;font:700 var(--fs-t2) / 1 var(--text);letter-spacing:.1em;text-transform:uppercase;transition:transform 90ms ease,filter 90ms ease,background 90ms linear}.btn--ghost,:where(.panel button,.tabs button){height:36px;background:transparent;color:var(--paper-dim);box-shadow:inset 0 0 0 2px var(--stone-600)}.btn--ghost:hover,:where(.panel button:hover,.tabs button:hover){color:var(--paper);box-shadow:inset 0 0 0 2px var(--paper-dim)}.btn--primary,:where(.panel button.primary){height:44px;background:var(--green-500);color:var(--paper);box-shadow:var(--bevel)}.btn--primary:hover,:where(.panel button.primary:hover){background:var(--green-400);box-shadow:var(--bevel)}.btn--spend{position:relative;overflow:hidden;flex-direction:column;gap:2px;height:44px;background:var(--sand);color:var(--sand-ink);box-shadow:var(--bevel)}.btn--spend:hover{filter:brightness(1.06)}.btn--spend b{font:800 var(--fs-t2) / 1 var(--display);letter-spacing:.12em}.btn--spend span{font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.08em;opacity:.78}.btn--spend .hold-bar{position:absolute;left:0;bottom:0;width:100%;height:4px;background:var(--green-500);transform:scaleX(var(--hold, 0));transform-origin:0 50%}.btn:active,.btn--ghost:active,:where(.panel button:active,.tabs button:active){transform:translateY(3px);box-shadow:inset 0 2px #ffffff1a,inset 0 -1px #0006}.btn:disabled,.panel button:disabled{opacity:.34;cursor:not-allowed;filter:none;transform:none}.tabs{display:flex;gap:var(--s1);margin:0 0 var(--s3)}.tabs button{flex:1;padding:0 var(--s2);font-size:var(--fs-t3);letter-spacing:.08em}.tabs button.on{background:var(--skin, var(--green-500));color:var(--skin-ink, var(--paper));box-shadow:var(--bevel)}kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;background:#00000052;box-shadow:inset 0 -2px #0006,inset 0 1px #ffffff29;font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.06em}.chip{display:inline-flex;align-items:center;height:22px;padding:0 var(--s2);background:var(--rock-700);color:var(--paper);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.12em;text-transform:uppercase}.overlay{position:fixed;inset:0;z-index:var(--z-boot);display:grid;place-items:center;padding:var(--s5) var(--s3);background:url(../boot-hero.jpg) center bottom / cover no-repeat,var(--rock-900)}.overlay:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 44% 56% at 50% 46%,#0a0e10bd,#0a0e1029 80%),linear-gradient(180deg,#0a0e103d,#0a0e100f 46%,#0a0e1057)}.boot-card{position:relative;z-index:1;width:min(620px,calc(100vw - var(--s5)));max-height:calc(100dvh - var(--s5));overflow:auto;padding:var(--s5) var(--s5) var(--s4);background:var(--rock-900);box-shadow:var(--bevel)}.boot-card h1{margin:0 0 var(--s3);font-size:clamp(40px,8vw,64px);line-height:.88;letter-spacing:-.03em}.lede{margin:0 0 var(--s4);max-width:46ch;color:var(--paper-dim);font-size:var(--fs-t1);line-height:1.45}.loop{margin:0 0 var(--s4);padding:0;list-style:none}.loop li{display:grid;grid-template-columns:34px 1fr;gap:var(--s3);padding:var(--s3) 0;box-shadow:inset 0 2px 0 var(--rock-700);color:var(--paper-dim);font-size:var(--fs-t2);line-height:1.5}.loop b{font:800 var(--fs-t2) / 1.4 var(--display);color:var(--green-300);letter-spacing:.04em}.boot-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin:0 0 var(--s4);color:var(--paper-dim);font-size:var(--fs-t2);line-height:1.45}#enter-btn{width:100%;height:56px;font-size:var(--fs-t1);letter-spacing:.14em}.fine{margin:var(--s3) 0 0;color:var(--stone-600);font-size:var(--fs-t3);line-height:1.5}.loader{position:fixed;inset:0;z-index:var(--z-loader);display:grid;place-content:center;justify-items:center;gap:var(--s3);padding:var(--s4);background:var(--rock-900);text-align:center}.loader-mark{width:64px;height:64px;display:grid;place-items:center;animation:pulse 1.4s ease-in-out infinite}.loader-mark img{width:64px;height:64px;display:block}.loader h2{margin:0;font-size:var(--fs-d2);letter-spacing:.14em}.load-track{width:min(300px,74vw);height:8px;background:var(--rock-800);box-shadow:var(--bevel-sunk)}.load-track i{display:block;height:100%;width:4%;background:var(--green-400);transition:width .24s ease}.load-steps{display:flex;gap:var(--s2)}.load-steps .step{width:26px;height:4px;background:var(--rock-700)}.load-steps .step.on{background:var(--green-300)}.load-line{margin:0;min-height:16px;color:var(--stone-600);font:700 var(--fs-t3) / 1.4 var(--text);letter-spacing:.1em;text-transform:uppercase}.hud{position:fixed;inset:0;z-index:var(--z-hud);pointer-events:none}.hud-top{position:absolute;top:calc(var(--s4) + var(--sa-t));left:calc(var(--s4) + var(--sa-l));right:calc(var(--s4) + var(--sa-r));display:flex;align-items:flex-start;gap:var(--s4)}.hud-bottom{position:absolute;left:calc(var(--s4) + var(--sa-l));right:calc(var(--s4) + var(--sa-r));bottom:calc(var(--s4) + var(--sa-b));display:flex;align-items:flex-end;gap:var(--s4)}.brand-lock{display:flex;align-items:flex-start;gap:var(--s3)}.pill-mark{width:38px;height:38px;object-fit:contain;display:block}.brand{font:800 var(--fs-t3) / 1 var(--display);letter-spacing:.2em;color:var(--paper-dim)}.zone{margin-top:6px;font:800 var(--fs-d3) / 1 var(--display);letter-spacing:.02em;color:var(--paper)}.zone-hint{margin-top:5px;font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--green-300)}.hud-right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:var(--s2)}#demo-tag{height:22px;padding:0 var(--s2);display:inline-flex;align-items:center;background:var(--sand);color:var(--sand-ink);font:600 var(--fs-t3) / 1 var(--mono);letter-spacing:.1em}.hud-stats{display:flex;gap:2px}.hud-stats span{min-width:76px;padding:var(--s2) var(--s3) 7px;background:var(--rock-900);box-shadow:var(--bevel);text-align:right;font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.12em;color:var(--paper-dim)}.hud-stats em{display:block;margin-bottom:5px;font:700 var(--fs-d3) / 1 var(--display);font-style:normal;font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--paper)}.heading{--heading: 0;position:absolute;left:50%;top:0;transform:translate(-50%);width:360px;height:28px;overflow:hidden;background:var(--rock-900);box-shadow:var(--bevel)}.heading-band{position:absolute;left:0;top:0;height:100%;display:flex;width:2880px;transform:translate(calc(-1260px - var(--heading) * 114.591559px));will-change:transform}.heading .dial{position:relative;flex:0 0 720px;height:100%;background-image:repeating-linear-gradient(90deg,var(--rock-700) 0 1px,transparent 1px 30px);background-size:100% 3px;background-position:0 100%;background-repeat:repeat-x}.heading .dial b{position:absolute;top:1px;left:calc(var(--a) * 2px);transform:translate(-50%);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.06em;color:var(--paper-dim)}.heading .dial b.card-n{color:var(--paper)}.heading .dial b:after{content:"";position:absolute;left:50%;top:22px;width:2px;height:5px;margin-left:-1px;background:var(--paper-dim)}.heading .pip{position:absolute;bottom:0;left:calc(var(--bearing, 0) * 2px);transform:translate(-50%);width:4px;height:4px;background:var(--pip-color, var(--green-300))}.heading .pip:after{content:var(--tag, "");position:absolute;left:50%;bottom:4px;transform:translate(-50%);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.04em;white-space:nowrap;color:var(--pip-color, var(--green-300))}.heading .pip.locked{display:none}.heading .pip[data-bearing=lighthouse]{--pip-color: var(--green-300)}.heading .pip[data-bearing=main_dock]{--pip-color: var(--teal-300)}.heading .pip[data-bearing=caves]{--pip-color: var(--r-epic)}.heading .pip[data-bearing=east_beach]{--pip-color: var(--sand)}.heading .pip[data-bearing=the_drop]{--pip-color: var(--alarm)}.heading .pip[data-bearing=st_alon]{--pip-color: var(--r-legendary)}.heading-needle{position:absolute;left:50%;top:0;width:3px;height:100%;margin-left:-1.5px;background:var(--paper)}.rod-lock{display:flex;flex-direction:column;gap:var(--s1)}.slot{min-width:148px;height:42px;padding:0 var(--s3);display:flex;align-items:center;justify-content:center;gap:var(--s2);background:var(--rock-900);box-shadow:var(--bevel);font:700 var(--fs-t2) / 1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--paper)}.slot b{font-weight:700}.slot:before{content:"";width:4px;height:20px;background:var(--tier-color, var(--stone-600))}#rod-slot[data-tier="0"],#rod-slot.empty{--tier-color: var(--stone-600);color:var(--stone-600)}#rod-slot[data-tier="1"]{--tier-color: var(--sand)}#rod-slot[data-tier="2"]{--tier-color: var(--teal-300)}#rod-slot[data-tier="3"]{--tier-color: var(--green-300)}.stamina{width:148px;height:6px;background:var(--rock-800);box-shadow:var(--bevel-sunk)}.stamina i{display:block;height:100%;background:var(--green-400);transform:scaleX(var(--stam, 1));transform-origin:0 50%;transition:background .14s linear}.stamina[data-low="1"] i{background:var(--alarm)}#crosshair{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;color:var(--paper);transition:color .12s linear,opacity .12s linear}#crosshair:after{content:"";position:absolute;left:50%;top:50%;width:3px;height:3px;margin:-1.5px 0 0 -1.5px;background:currentColor}#crosshair i{position:absolute;background:currentColor;transition:transform .12s ease}#crosshair i:nth-child(1),#crosshair i:nth-child(3){left:50%;width:2px;height:6px;margin-left:-1px}#crosshair i:nth-child(1){top:0}#crosshair i:nth-child(3){bottom:0}#crosshair i:nth-child(2),#crosshair i:nth-child(4){top:50%;width:6px;height:2px;margin-top:-1px}#crosshair i:nth-child(2){right:0}#crosshair i:nth-child(4){left:0}#crosshair[data-state=idle]{color:var(--paper-dim)}#crosshair[data-state=water]{color:var(--green-300)}#crosshair[data-state=water] i:nth-child(1){transform:translateY(-3px)}#crosshair[data-state=water] i:nth-child(3){transform:translateY(3px)}#crosshair[data-state=water] i:nth-child(2){transform:translate(3px)}#crosshair[data-state=water] i:nth-child(4){transform:translate(-3px)}#crosshair[data-state=norod]{color:var(--alarm)}#crosshair[data-state=norod] i:nth-child(1),#crosshair[data-state=norod] i:nth-child(3){height:26px;top:0;bottom:auto}#crosshair[data-state=norod] i:nth-child(1){transform:rotate(45deg)}#crosshair[data-state=norod] i:nth-child(3){transform:rotate(-45deg)}#crosshair[data-state=norod] i:nth-child(2),#crosshair[data-state=norod] i:nth-child(4){opacity:0}#crosshair[data-state=norod]:after{opacity:0}#crosshair[data-state=interact]{color:var(--teal-300)}#crosshair[data-state=interact] i:nth-child(1),#crosshair[data-state=interact] i:nth-child(3){height:9px}#crosshair[data-state=interact] i:nth-child(2),#crosshair[data-state=interact] i:nth-child(4){width:9px}#crosshair[data-state=fight],#crosshair[data-state=hidden]{opacity:0}.prompt{position:absolute;left:50%;top:57%;transform:translate(-50%);min-height:24px;max-width:min(520px,82vw);text-align:center;font:700 var(--fs-t1) / 1.35 var(--text);letter-spacing:.06em;color:var(--paper);text-shadow:0 2px 0 rgba(0,0,0,.6)}.area-enter{position:absolute;left:50%;top:22%;transform:translate(-50%);min-width:240px;padding:var(--s2) var(--s5) var(--s3);text-align:center;background:var(--rock-900);box-shadow:var(--bevel);animation:areaIn .26s ease-out}.area-enter .kicker{display:block;margin:0 0 var(--s1);color:var(--green-300)}.area-enter b{display:block;font:800 var(--fs-d2) / 1 var(--display);letter-spacing:-.01em;color:var(--paper)}.objective{position:absolute;left:calc(var(--s4) + var(--sa-l));top:calc(108px + var(--sa-t));max-width:min(280px,calc(100vw - 32px));padding:var(--s2) var(--s3) var(--s3);background:var(--rock-900);box-shadow:var(--bevel)}.objective .kicker{display:block;margin:0 0 var(--s2)}.objective .row{display:grid;grid-template-columns:16px 1fr;gap:var(--s2);align-items:start}.objective .tick{display:block;width:14px;height:14px;margin-top:1px;color:var(--paper-dim)}.objective .label{font:700 var(--fs-t2) / 1.35 var(--text);color:var(--paper)}.objective.done .tick,.objective .row.done .tick{color:var(--green-300)}.objective.done .label,.objective .row.done .label{color:var(--green-300);text-decoration:line-through}.event-banner{position:absolute;left:50%;top:calc(44px + var(--sa-t));transform:translate(-50%);min-width:280px;max-width:min(460px,92vw);padding:var(--s2) var(--s4) var(--s3);text-align:center;background:var(--rock-900);box-shadow:var(--bevel)}.event-banner:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--sand)}.event-banner b{display:block;margin-top:2px;font:800 var(--fs-t1) / 1 var(--display);letter-spacing:.1em;color:var(--sand)}.event-banner span{display:block;margin-top:var(--s1);font:500 var(--fs-t2) / 1.35 var(--text);color:var(--paper-dim)}.cast-meter{position:fixed;left:50%;bottom:120px;transform:translate(-50%);z-index:var(--z-meter);width:min(420px,calc(100vw - 32px));padding:var(--s2) var(--s3) var(--s3);background:var(--rock-900);box-shadow:var(--bevel);pointer-events:none}.cast-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:7px}.cast-phase{font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--green-300)}.cast-label{font:500 var(--fs-t3) / 1 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--paper-dim)}.cast-track{height:14px;background:var(--rock-800);box-shadow:var(--bevel-sunk);overflow:hidden}.cast-track i{display:block;height:100%;width:0;background:var(--green-400)}.cast-meter[data-phase=charge] .cast-phase{color:var(--sand)}.cast-meter[data-phase=charge] .cast-track i{background:var(--sand)}.cast-meter[data-phase=bite] .cast-phase,.cast-meter.bite .cast-phase{color:var(--sand)}.cast-meter[data-phase=bite] .cast-track i,.cast-meter.bite .cast-track i{background:var(--sand);animation:bitePulse .32s steps(1) infinite}.cast-meter[data-phase=wait] .cast-track i{background:var(--teal-500)}.cast-meter[data-phase=fight] .cast-track i,.cast-meter[data-phase=reel] .cast-track i,.cast-meter.reel .cast-track i{background:var(--green-300)}.cast-meter[data-phase=snap] .cast-phase,.cast-meter.snap .cast-phase{color:var(--alarm)}.cast-meter[data-phase=snap] .cast-track i,.cast-meter.snap .cast-track i{background:var(--alarm)}.cast-meter[data-phase=land] .cast-track i{background:var(--green-300)}.tension-wrap{display:grid;grid-template-columns:1fr auto;gap:var(--s3);align-items:center;margin-top:var(--s2)}.tension-track{position:relative;height:22px;background:var(--rock-800);box-shadow:var(--bevel-sunk);overflow:hidden}.tension-track i{display:block;height:100%;width:0;background:var(--green-400)}.tension-track .snap-tick{position:absolute;left:87%;top:0;width:3px;height:100%;background:var(--paper);opacity:.85}.tension-band{min-width:74px;text-align:right;font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--green-300)}#cast-meter[data-band=hot] #tension-fill{background:var(--sand)}#cast-meter[data-band=snapping] #tension-fill{background:var(--alarm)}#cast-meter:has(#tension-band[data-band=hot]) #tension-fill{background:var(--sand)}#cast-meter:has(#tension-band[data-band=snapping]) #tension-fill{background:var(--alarm)}#tension-band[data-band=hot]{color:var(--sand)}#tension-band[data-band=snapping]{color:var(--alarm);animation:bitePulse .26s steps(1) infinite}.toast-stack{position:fixed;left:20px;bottom:120px;z-index:var(--z-toast);display:flex;flex-direction:column-reverse;gap:var(--s2);width:min(320px,calc(100vw - 40px));pointer-events:none}.toast{position:relative;padding:var(--s2) var(--s3) var(--s2) var(--s4);background:var(--rock-900);box-shadow:var(--bevel);font:700 var(--fs-t2) / 1.35 var(--text);color:var(--paper);animation:toastIn .16s ease-out}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--stone-600)}.toast[data-channel=reward]:before{background:var(--green-300)}.toast[data-channel=reward]{color:var(--paper)}.toast[data-channel=system]:before{background:var(--teal-300)}.toast[data-channel=flavour]{font-weight:500;color:var(--paper-dim)}.toast[data-channel=flavour]:before{background:var(--stone-600)}.toast.out{animation:toastOut .14s ease-in forwards}.catch-card{position:fixed;left:50%;top:max(96px,14vh);transform:translate(-50%);z-index:var(--z-catch);width:min(420px,calc(100vw - 32px));border-radius:4px;overflow:hidden;background:var(--rock-900);box-shadow:var(--bevel),0 0 0 3px var(--rar, var(--r-common)),0 0 34px 2px color-mix(in srgb,var(--rar, var(--r-common)) 45%,transparent);pointer-events:auto;animation:cardIn .16s cubic-bezier(.2,.9,.3,1.2)}.catch-card .catch-bar{height:4px;background:var(--rar, var(--r-common))}.catch-card[data-rarity=Junk]{--rar: var(--r-junk)}.catch-card[data-rarity=Common]{--rar: var(--r-common)}.catch-card[data-rarity=Uncommon]{--rar: var(--r-uncommon)}.catch-card[data-rarity=Rare]{--rar: var(--r-rare)}.catch-card[data-rarity=Epic]{--rar: var(--r-epic)}.catch-card[data-rarity=Legendary]{--rar: var(--r-legendary)}.catch-card[data-rarity=Mythic]{--rar: var(--r-mythic)}.catch-card[data-rarity="???"]{--rar: var(--r-unknown)}.catch-body{display:grid;grid-template-columns:96px 1fr auto;gap:var(--s3);align-items:center;padding:var(--s4) var(--s4) var(--s3)}.catch-art{width:96px;height:96px;display:grid;place-items:center;background:var(--rock-800);box-shadow:var(--bevel)}.catch-art .thumb{width:78px;height:78px;display:block}.catch-rarity{margin:0 0 var(--s1);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--rar, var(--r-common))}.catch-card h3{margin:0 0 var(--s1);font-size:var(--fs-d2);line-height:1;letter-spacing:-.02em}#catch-blurb{font:500 var(--fs-t2) / 1.35 var(--text);color:var(--paper-dim)}.catch-size-lock{text-align:right}.catch-size-k{display:block;margin-bottom:var(--s1);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.14em;color:var(--paper-dim)}#catch-size{font:800 var(--fs-n1) / 1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--paper)}#catch-size:after{content:"cm";margin-left:3px;font-size:var(--fs-t2);letter-spacing:0;color:var(--paper-dim)}.catch-foot{display:flex;align-items:center;gap:var(--s2);padding:0 var(--s4) var(--s3)}#catch-kind{flex:none}#catch-trade{font:500 var(--fs-t2) / 1.3 var(--text);color:var(--paper-dim)}.catch-keep{width:100%;height:48px;justify-content:center;border-radius:0}.catch-keep kbd{background:#00000047}.catch-card[data-rarity=Epic]:after,.catch-card[data-rarity=Legendary]:after,.catch-card[data-rarity=Mythic]:after,.catch-card[data-rarity="???"]:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 3px var(--rar),inset 0 0 40px var(--rar);opacity:0;pointer-events:none;animation:cardBurst .4s ease-out 1}#fx{position:fixed;inset:0;z-index:var(--z-fx);pointer-events:none;--fx-size: 0;--fx-color: var(--alarm)}#fx:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,transparent 0 62%,rgba(8,12,14,.17) 100%)}#fx:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 calc(var(--fx-size) * 150px) calc(var(--fx-size) * 34px) var(--fx-color);opacity:var(--fx-size)}#fx>.flash,#fx>.burst{position:absolute;opacity:0}#fx>.flash{inset:0;background:var(--fx-color)}#fx.flash>.flash{animation:fxFlash .18s ease-out 1}#fx>.burst{left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;box-shadow:0 0 0 6px var(--burst, var(--r-common))}#fx.burst>.burst{animation:fxBurst .6s cubic-bezier(.18,.7,.3,1) 1}#fx[data-rarity=Rare]>.burst,#fx>.burst[data-rarity=Rare]{--burst: var(--r-rare)}#fx[data-rarity=Epic]>.burst,#fx>.burst[data-rarity=Epic]{--burst: var(--r-epic)}#fx[data-rarity=Legendary]>.burst,#fx>.burst[data-rarity=Legendary]{--burst: var(--r-legendary)}#fx[data-rarity=Mythic]>.burst,#fx>.burst[data-rarity=Mythic]{--burst: var(--r-mythic)}#fx[data-rarity="???"]>.burst,#fx>.burst[data-rarity="???"]{--burst: var(--r-unknown)}.scrim{position:fixed;inset:0;z-index:var(--z-scrim);background:var(--scrim);opacity:0;visibility:hidden;transition:opacity .12s linear,visibility 0s linear .12s}.scrim.on{opacity:1;visibility:visible;transition:opacity .12s linear,visibility 0s}.panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:var(--z-panel);width:min(560px,calc(100vw - 32px));max-height:min(760px,calc(100dvh - 64px));overflow:auto;padding:var(--s5) var(--s4) var(--s5);background:var(--rock-900);box-shadow:inset 0 3px 0 var(--skin),var(--bevel);pointer-events:auto;--skin: var(--green-500);--skin-ink: var(--paper)}.panel[data-kind=shop],.panel[data-panel=shop]{--skin: var(--green-500);--skin-ink: var(--paper)}.panel[data-kind=inv],.panel[data-panel=inv],.panel[data-kind=pack]{--skin: var(--stone-600);--skin-ink: var(--paper)}.panel[data-kind=book],.panel[data-panel=book]{--skin: var(--paper);--skin-ink: var(--rock-900)}.panel[data-kind=board],.panel[data-panel=board],.panel[data-kind=log]{--skin: var(--sand);--skin-ink: var(--sand-ink)}.panel[data-kind=redeem],.panel[data-panel=redeem]{--skin: var(--teal-500);--skin-ink: var(--paper)}.panel .mini{margin-bottom:var(--s1);color:var(--skin)}.panel h2{margin:0 0 var(--s3);padding-bottom:var(--s3);font-size:var(--fs-d2);letter-spacing:-.02em;box-shadow:inset 0 -3px 0 var(--rock-700)}.panel .sub{margin:var(--s3) 0 0;color:var(--paper-dim);font-size:var(--fs-t2);line-height:1.45}.close-x{position:absolute;top:var(--s3);right:var(--s3);height:28px;padding:0 var(--s2);display:inline-flex;align-items:center;gap:6px;background:var(--rock-700);box-shadow:var(--bevel);color:var(--paper-dim);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.12em}.close-x:hover{background:var(--stone-600);color:var(--paper)}.close-x .ico{width:14px;height:14px}.wallet-line{display:flex;gap:2px;margin:0 0 var(--s3)}.wallet-line span{flex:1;padding:var(--s2) var(--s3) 7px;background:var(--rock-800);box-shadow:var(--bevel);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.12em;color:var(--paper-dim)}.wallet-line em{display:block;margin-bottom:5px;font:700 var(--fs-d3) / 1 var(--display);font-style:normal;font-variant-numeric:tabular-nums;color:var(--paper)}.wallet-addr{font:400 var(--fs-t3) / 1.3 var(--mono);letter-spacing:0;word-break:break-all;color:var(--paper-dim)}.shop-wallet{display:grid;grid-template-columns:1fr auto;gap:var(--s3);align-items:center;margin:0 0 var(--s3);padding:var(--s3);background:var(--rock-800);box-shadow:var(--bevel)}.shop-wallet b{display:block;font:700 var(--fs-t1) / 1.2 var(--text)}.shop-wallet span{color:var(--paper-dim);font-size:var(--fs-t3)}.cards{display:grid;gap:var(--s2)}.card{display:grid;grid-template-columns:72px 1fr auto;gap:var(--s3);align-items:center;padding:var(--s2);border-radius:4px;background:var(--rock-800);box-shadow:var(--bevel)}.card[data-rarity]{box-shadow:var(--bevel),inset 4px 0 0 var(--rar, var(--r-common))}.card[data-rarity=Junk]{--rar: var(--r-junk)}.card[data-rarity=Common]{--rar: var(--r-common)}.card[data-rarity=Uncommon]{--rar: var(--r-uncommon)}.card[data-rarity=Rare]{--rar: var(--r-rare)}.card[data-rarity=Epic]{--rar: var(--r-epic)}.card[data-rarity=Legendary]{--rar: var(--r-legendary)}.card[data-rarity=Mythic]{--rar: var(--r-mythic)}.card[data-rarity="???"]{--rar: var(--r-unknown)}.art{width:72px;height:72px;display:grid;place-items:center;background:var(--rock-900);box-shadow:var(--bevel-sunk)}.thumb{width:62px;height:62px;display:block}.copy b{display:block;margin-bottom:3px;font:700 var(--fs-t1) / 1.15 var(--text)}.copy span{display:block;color:var(--paper-dim);font-size:var(--fs-t2);line-height:1.35}.card button{min-width:84px}.kept{font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--stone-600);font-style:normal}.locker{display:flex;flex-wrap:wrap;gap:var(--s1);margin-top:var(--s3)}.locker span{padding:6px var(--s2);background:var(--rock-800);box-shadow:var(--bevel);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.08em}.empty-pack{margin:var(--s5) 0;color:var(--paper-dim);font-size:var(--fs-t2)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2);margin:var(--s2) 0 var(--s3)}.stat-card{padding:var(--s3) var(--s2);text-align:center;background:var(--rock-800);box-shadow:var(--bevel)}.stat-card .thumb{width:36px;height:36px;margin:0 auto var(--s2)}.stat-card b{display:block;font:800 var(--fs-n1) / 1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.03em}.stat-card span{color:var(--paper-dim);font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.1em;text-transform:uppercase}.rarity-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s1)}.stat-pill{padding:var(--s2) var(--s1);text-align:center;background:var(--rock-800);box-shadow:var(--bevel)}.stat-pill b{display:block;font:800 var(--fs-d3) / 1 var(--display);font-variant-numeric:tabular-nums}.stat-pill span{color:var(--paper-dim);font:700 var(--fs-t3) / 1.3 var(--text)}.tag{display:inline-block;margin-top:6px;padding:3px var(--s2);background:var(--rock-900);font:700 var(--fs-t3) / 1.2 var(--text);letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:var(--paper-dim)}.tag.sol{color:var(--teal-300)}.tag.token{color:var(--green-300)}.tag.merch{color:var(--sand)}.tag.mythic{color:var(--r-mythic)}.wallet-step{display:grid;gap:var(--s2);margin:0 0 var(--s4);padding:var(--s3);background:var(--rock-800);box-shadow:var(--bevel)}.wallet-label{font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dim)}.name-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s2)}.name-row input{font:700 var(--fs-t1) / 1 var(--text)!important;letter-spacing:.01em}.name-row .btn--ghost{height:44px}.wallet-step input{height:44px;padding:0 var(--s3);border:0;border-radius:0;background:var(--rock-900);box-shadow:var(--bevel-sunk),inset 3px 0 0 var(--green-500);color:var(--paper);font:500 14px/1 var(--mono)}.wallet-step input:focus-visible{outline:3px solid var(--green-300);outline-offset:2px}.wallet-step input[aria-invalid=true]{box-shadow:var(--bevel-sunk),inset 3px 0 0 var(--alarm)}.wallet-missing{color:var(--sand)}#wallet-connect{width:100%}.wallet-msg{font:500 var(--fs-t2) / 1.45 var(--text);color:var(--paper-dim)}.wallet-msg[data-state=bad]{color:var(--alarm)}.wallet-msg[data-state=good]{color:var(--green-300)}.spend-gate{display:grid;gap:var(--s2);margin:0 0 var(--s3);padding:var(--s3);background:var(--rock-800);box-shadow:var(--bevel),inset 4px 0 0 var(--sand)}.spend-gate b{font:700 var(--fs-t1) / 1.2 var(--text);color:var(--sand)}.spend-gate span{font:500 var(--fs-t2) / 1.45 var(--text);color:var(--paper-dim)}.challenge{width:100%;margin:0 0 var(--s2);padding:var(--s3);border:0;border-radius:0;resize:none;background:var(--rock-900);box-shadow:var(--bevel-sunk);color:var(--paper);font:400 12px/1.5 var(--mono)}.sig{width:100%;height:44px;margin:0 0 var(--s2);padding:0 var(--s3);border:0;border-radius:0;background:var(--rock-900);box-shadow:var(--bevel-sunk),inset 3px 0 0 var(--green-500);color:var(--paper);font:400 12px/1 var(--mono)}.btn--ghost.wide,.btn--primary.wide{width:100%;margin:0 0 var(--s3)}.chat{position:fixed;left:20px;bottom:236px;z-index:var(--z-toast);width:min(400px,calc(100vw - 40px));display:grid;gap:var(--s1);pointer-events:none}.chat-log{display:grid;gap:2px;align-content:end;max-height:40vh;overflow:hidden}.chat-line{padding:5px var(--s2);background:var(--rock-900);box-shadow:inset 0 2px #ffffff1a;font:500 var(--fs-t2) / 1.35 var(--text);color:var(--paper);overflow-wrap:anywhere}.chat-line b{color:var(--green-300);font-weight:700}.chat-line[data-self="1"] b{color:var(--sand)}.chat-line[data-kind=system]{color:var(--sand);font-style:italic}.chat-line.fading{opacity:0;transition:opacity .6s linear}.chat-form{pointer-events:auto}.chat-form input{width:100%;height:38px;padding:0 var(--s3);border:0;border-radius:0;background:var(--rock-900);box-shadow:var(--bevel-sunk),inset 3px 0 0 var(--green-500);color:var(--paper);font:500 var(--fs-t1) / 1 var(--text)}.chat-form input::placeholder{color:var(--stone-600)}.chat-form input:focus-visible{outline:3px solid var(--green-300);outline-offset:2px}.chat-hint{font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim);text-shadow:0 1px 6px rgba(0,0,0,.8)}.chat-hint.hidden{display:none!important}@media(max-width:760px){.chat{bottom:calc(200px + var(--sa-b));width:calc(100vw - 32px);left:calc(16px + var(--sa-l))}.chat-log{max-height:26vh}}.hud-stats .online em:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;vertical-align:2px;background:var(--green-300)}.hud-stats .online[data-state=connecting] em:before,.hud-stats .online[data-state=retrying] em:before{background:var(--sand)}.hud-stats .online[data-state=retrying] em{color:var(--paper-dim)}.you{display:grid;gap:var(--s2);margin:0 0 var(--s4);padding:var(--s3);background:var(--rock-800);box-shadow:var(--bevel)}.you-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--s2)}.you-row .btn--primary{height:36px}.you input{height:36px;min-width:0;padding:0 var(--s3);border:0;border-radius:0;background:var(--rock-900);box-shadow:var(--bevel-sunk);color:var(--paper);font:700 var(--fs-t1) / 1 var(--text)}.you input:focus-visible{outline:3px solid var(--green-300);outline-offset:2px}.you-classes{display:flex;flex-wrap:wrap;gap:var(--s1)}.you-classes button{height:30px;padding:0 var(--s2);font-size:var(--fs-t3);letter-spacing:.06em}.you-classes button.on{background:var(--green-500);color:var(--paper);box-shadow:var(--bevel)}.net-line{font:500 var(--fs-t2) / 1.4 var(--text);color:var(--paper-dim)}.net-line[data-state=retrying]{color:var(--sand)}.card.unlogged .art{opacity:.3}.card.unlogged .copy b,.card.unlogged .copy span{color:var(--stone-600)}.objective-list{list-style:none;margin:0 0 var(--s4);padding:0;display:grid;gap:2px}.objective-list li{display:grid;grid-template-columns:20px 1fr;align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);background:var(--rock-800);font:500 var(--fs-t2) / 1.35 var(--text);color:var(--paper-dim)}.objective-list li .ico{width:16px;height:16px;color:var(--stone-600)}.objective-list li.done,.objective-list li.done .ico{color:var(--green-300)}.rail{position:absolute;left:50%;bottom:calc(var(--s4) + var(--sa-b));transform:translate(-50%);display:flex;gap:var(--s2);pointer-events:auto}.rail-cell{position:relative;width:56px;height:56px;display:grid;place-items:center;align-content:center;gap:2px;padding:16px 0 2px;background:var(--rock-900);box-shadow:var(--bevel);color:var(--paper-dim);transition:color .1s linear,transform 90ms ease}.rail-cell:hover,.rail-cell.on{color:var(--paper)}.rail-cell.on{background:var(--green-900)}.rail-cell:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff1a,inset 0 -1px #0006}.rail-cell .ico{width:24px;height:24px}.rail-name{font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.08em}.rail-cell:after{content:attr(data-key);position:absolute;left:0;top:3px;width:100%;text-align:center;font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.1em;color:var(--stone-600)}.badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;background:var(--green-400);color:var(--paper);font:700 var(--fs-t3) / 1 var(--text);font-variant-numeric:tabular-nums;box-shadow:0 2px #0006}.touch{position:fixed;inset:0;z-index:var(--z-touch);pointer-events:none}.stick{position:absolute;left:calc(22px + var(--sa-l));bottom:calc(28px + var(--sa-b));width:116px;height:116px;border-radius:50%;box-shadow:inset 0 0 0 3px var(--paper);background:#141a1857;pointer-events:auto;touch-action:none}.stick i{position:absolute;left:38px;top:38px;width:40px;height:40px;border-radius:50%;background:var(--paper);box-shadow:0 3px #0006}.touch-actions{position:absolute;right:calc(18px + var(--sa-r));bottom:calc(24px + var(--sa-b));display:grid;grid-template-columns:64px 88px;grid-template-rows:64px 64px;gap:var(--s3);align-items:center;pointer-events:auto}.tbtn{display:grid;place-items:center;padding:0;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font:700 var(--fs-t3) / 1 var(--text);letter-spacing:.1em}.tbtn--sm{width:64px;height:64px;grid-column:1;background:var(--rock-900);color:var(--paper);box-shadow:var(--bevel)}.touch-actions [data-act=jump]{grid-row:1}.touch-actions [data-act=use]{grid-row:2}.tbtn--cast{grid-column:2;grid-row:1 / span 2;width:88px;height:88px;border-radius:50%;justify-self:center;align-self:center;background:var(--green-500);color:var(--paper);font:800 var(--fs-t2) / 1 var(--display);letter-spacing:.12em;box-shadow:inset 0 3px #fff3,inset 0 -5px #0006,0 6px #0006}.tbtn--cast.pressed,.tbtn--cast:active{background:var(--green-400);transform:translateY(5px);box-shadow:inset 0 3px #ffffff2e,inset 0 -3px #0006,0 1px #0006}.tbtn--sm:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffff1a,inset 0 -1px #0006}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes bitePulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes toastIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translate(-12px)}}@keyframes areaIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes cardIn{0%{opacity:0;transform:translate(-50%) scale(.94)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes cardBurst{0%{opacity:0}28%{opacity:1}to{opacity:0}}@keyframes fxFlash{0%{opacity:.55}to{opacity:0}}@keyframes fxBurst{0%{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(9)}}@media(max-width:760px){:root{--fs-t3: 12px;--fs-d1: 34px;--fs-d2: 24px;--fs-n1: 28px}.boot-grid{grid-template-columns:1fr}.boot-card{padding:var(--s4)}.hud-top{top:calc(10px + var(--sa-t));left:calc(10px + var(--sa-l));right:calc(10px + var(--sa-r));gap:var(--s2)}.pill-mark{width:30px;height:30px}.brand{display:none}.zone{margin-top:0;font-size:var(--fs-t1)}.hud-stats span{min-width:0;padding:6px var(--s2) 5px}.hud-stats em{font-size:var(--fs-t1);margin-bottom:3px}.heading{top:58px;width:min(300px,calc(100vw - 24px))}.rail{top:calc(104px + var(--sa-t));bottom:auto;gap:var(--s1)}.objective{top:calc(170px + var(--sa-t));left:calc(10px + var(--sa-l));max-width:min(220px,58vw)}.event-banner{top:calc(170px + var(--sa-t));z-index:2;min-width:0;width:min(340px,calc(100vw - 24px))}.rail-cell{width:56px;height:56px;padding:0}.rail-cell .ico{width:28px;height:28px}.rail-name,.rail-cell:after{display:none}.hud-bottom{left:calc(10px + var(--sa-l));right:calc(10px + var(--sa-r));bottom:calc(152px + var(--sa-b))}.slot,.stamina{min-width:128px;width:128px}.cast-meter{bottom:calc(230px + var(--sa-b));width:min(420px,calc(100vw - 24px))}.toast-stack{left:12px;bottom:calc(320px + var(--sa-b));width:min(280px,calc(100vw - 24px))}.catch-card{top:max(72px,10vh)}.catch-body{grid-template-columns:72px 1fr;grid-template-areas:"art copy" "size size"}.catch-art{grid-area:art;width:72px;height:72px}.catch-art .thumb{width:60px;height:60px}.catch-copy{grid-area:copy}.catch-size-lock{grid-area:size;text-align:left}.panel{top:auto;bottom:0;left:0;transform:none;width:100vw;max-height:72dvh;padding:var(--s4) var(--s3) calc(var(--s4) + var(--sa-b))}.card{grid-template-columns:56px 1fr auto}.art{width:56px;height:56px}.thumb{width:48px;height:48px}.rarity-row{grid-template-columns:repeat(2,1fr)}}@media(max-height:480px)and (max-width:960px){.heading{top:44px}.rail{top:calc(76px + var(--sa-t))}.objective{display:none}.event-banner{top:calc(136px + var(--sa-t))}.hud-bottom{bottom:calc(152px + var(--sa-b))}.cast-meter{bottom:calc(100px + var(--sa-b))}.toast-stack{bottom:calc(190px + var(--sa-b))}.catch-card{top:calc(56px + var(--sa-t))}}@media(prefers-reduced-motion:reduce){.loader-mark{animation:none}.load-track i,.stamina i,#crosshair,#crosshair i,.rail-cell,.btn,.panel button,.scrim{transition:none}.toast,.area-enter,.catch-card,#cast-meter .cast-track i,#tension-band[data-band=snapping]{animation:none}#fx:after{box-shadow:inset 0 0 0 calc(var(--fx-size) * 10px) var(--fx-color)}.catch-card[data-rarity=Epic]:after,.catch-card[data-rarity=Legendary]:after,.catch-card[data-rarity=Mythic]:after,.catch-card[data-rarity="???"]:after{animation:none;opacity:1}#fx.flash>.flash,#fx.burst>.burst{animation:none;opacity:0}.heading-band{will-change:auto}}
