@font-face{font-family:Riffic;src:url(../fonts/RifficFree-Bold.ttf) format("truetype");font-weight:700;font-display:swap}:root{--ink: #1a1817;--steel: #5c646d;--steel-hi: #8a949e;--steel-dark: #4a525a;--steel-deep: #2b3036;--hazard: #f5b800;--asphalt: #524b46;--sand: #d99b52;--crit-a: #ff5500;--crit-b: #ffe600;--toxic: #39ff14;--xp: #00e5ff;--mutant: #9b30ff;--eye: #ff2a85;--heart: #ff3b3b;--paper: #f3ead8;--display: "Riffic", "Arial Rounded MT Bold", ui-rounded, system-ui, sans-serif;--hazard-stripes: repeating-linear-gradient(-45deg, var(--hazard) 0 10px, var(--ink) 10px 20px)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;width:100%}body{font-family:var(--display);color:var(--paper);background:var(--ink);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.app-root{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:radial-gradient(ellipse at center,rgba(245,184,0,.08),transparent 60%),repeating-linear-gradient(-45deg,#201d1b 0,#201d1b 18px,#1a1817 18px,#1a1817 36px)}.app-shell{position:relative;aspect-ratio:9 / 16;width:min(100%,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))*.5625));max-height:100%;overflow:hidden;container-type:size;background:var(--ink);box-shadow:0 0 0 3px var(--ink),0 30px 80px #000000b3}.page{--u: calc(100cqw / 540);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;font-size:calc(var(--u) * 16)}.game-stack{position:relative;width:100%;height:100%;overflow:hidden;background:#1a1817}.game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none}.game-bg{pointer-events:none;will-change:transform}.ink-text{color:var(--paper);text-shadow:calc(var(--u) * 2) calc(var(--u) * 2) 0 var(--ink),calc(var(--u) * -2) calc(var(--u) * 2) 0 var(--ink),calc(var(--u) * 2) calc(var(--u) * -2) 0 var(--ink),calc(var(--u) * -2) calc(var(--u) * -2) 0 var(--ink),0 calc(var(--u) * 4) 0 var(--ink)}.steel{position:relative;background:linear-gradient(180deg,var(--steel-hi),var(--steel) 45%,var(--steel-dark));border:calc(var(--u) * 3) solid var(--ink);border-radius:calc(var(--u) * 14);box-shadow:inset 0 calc(var(--u) * 2) 0 #ffffff40,0 calc(var(--u) * 5) 0 var(--ink)}.steel.dark{background:linear-gradient(180deg,#3d434a,#2b3036)}.steel:before{content:"";position:absolute;inset:calc(var(--u) * 6);pointer-events:none;background:radial-gradient(circle,#23272c 40%,transparent 45%) top left / calc(var(--u) * 8) calc(var(--u) * 8) no-repeat,radial-gradient(circle,#23272c 40%,transparent 45%) top right / calc(var(--u) * 8) calc(var(--u) * 8) no-repeat,radial-gradient(circle,#23272c 40%,transparent 45%) bottom left / calc(var(--u) * 8) calc(var(--u) * 8) no-repeat,radial-gradient(circle,#23272c 40%,transparent 45%) bottom right / calc(var(--u) * 8) calc(var(--u) * 8) no-repeat}.hazard-bar{height:calc(var(--u) * 12);background:repeating-linear-gradient(-45deg,var(--hazard) 0 calc(var(--u) * 10),var(--ink) calc(var(--u) * 10) calc(var(--u) * 20));border-block:calc(var(--u) * 3) solid var(--ink)}.btn{font-family:var(--display);font-size:calc(var(--u) * 18);color:var(--ink);letter-spacing:calc(var(--u) * .5);border:calc(var(--u) * 3) solid var(--ink);border-radius:calc(var(--u) * 14);padding:calc(var(--u) * 10) calc(var(--u) * 18);background:linear-gradient(180deg,#ffd84a,var(--hazard));box-shadow:inset 0 calc(var(--u) * 3) 0 #ffffff73,0 calc(var(--u) * 6) 0 var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u) * 6);transition:transform .08s ease,box-shadow .08s ease,filter .12s;white-space:nowrap}.btn:active:not(:disabled){transform:translateY(calc(var(--u) * 4));box-shadow:inset 0 calc(var(--u) * 3) 0 #ffffff73,0 calc(var(--u) * 2) 0 var(--ink)}.btn:disabled{filter:grayscale(.85) brightness(.75);cursor:default}.btn.green{background:linear-gradient(180deg,#8dff6a,#2fbf1a)}.btn.red{background:linear-gradient(180deg,#ff7a6a,#d8352a);color:#fff}.btn.steel-btn{background:linear-gradient(180deg,var(--steel-hi),var(--steel));color:#fff}.btn.cyan{background:linear-gradient(180deg,#8cf6ff,#00b8e0)}.btn.small{font-size:calc(var(--u) * 13);padding:calc(var(--u) * 6) calc(var(--u) * 10);border-radius:calc(var(--u) * 10);box-shadow:inset 0 calc(var(--u) * 2) 0 #ffffff73,0 calc(var(--u) * 4) 0 var(--ink)}.btn.big{font-size:calc(var(--u) * 30);padding:calc(var(--u) * 14) calc(var(--u) * 26);border-radius:calc(var(--u) * 20)}.btn .ico{height:1.2em;width:auto}.chip{display:inline-flex;align-items:center;gap:calc(var(--u) * 4);font-size:calc(var(--u) * 11);padding:calc(var(--u) * 2) calc(var(--u) * 8);border-radius:calc(var(--u) * 20);border:calc(var(--u) * 2) solid var(--ink);background:var(--ink);color:var(--hazard)}.currency-bar{display:flex;gap:calc(var(--u) * 8);padding:calc(var(--u) * 10) calc(var(--u) * 12) calc(var(--u) * 6)}.currency{flex:1;display:flex;align-items:center;gap:calc(var(--u) * 6);padding:calc(var(--u) * 4) calc(var(--u) * 10) calc(var(--u) * 4) calc(var(--u) * 4);border-radius:calc(var(--u) * 30);background:#1a1817d9;border:calc(var(--u) * 3) solid var(--ink);box-shadow:inset 0 0 0 calc(var(--u) * 2) var(--steel-dark);font-size:calc(var(--u) * 18)}.currency img{height:calc(var(--u) * 32);width:calc(var(--u) * 32);object-fit:contain}.armory{background-size:cover;background-position:center}.armory-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1a181773,#1a1817d1 40%,#1a1817f2)}.armory-content{position:relative;flex:1;overflow-y:auto;overflow-x:hidden;touch-action:pan-y;padding-bottom:calc(var(--u) * 130);scrollbar-width:none}.armory-content::-webkit-scrollbar{display:none}.logo{text-align:center;margin:calc(var(--u) * 4) 0 calc(var(--u) * 6);line-height:.92}.logo .l1{font-size:calc(var(--u) * 52);color:var(--hazard);transform:rotate(-3deg);display:inline-block}.logo .l2{font-size:calc(var(--u) * 58);color:#fff;display:block;transform:rotate(-3deg);margin-top:calc(var(--u) * -4)}.logo .tag{display:inline-block;margin-top:calc(var(--u) * 6)}.section{margin:calc(var(--u) * 16) calc(var(--u) * 14) 0}.section-title{display:flex;align-items:center;gap:calc(var(--u) * 8);font-size:calc(var(--u) * 20);margin-bottom:calc(var(--u) * 8);color:var(--hazard)}.section-title:after{content:"";flex:1;height:calc(var(--u) * 8);background:repeating-linear-gradient(-45deg,var(--hazard) 0 calc(var(--u) * 6),transparent calc(var(--u) * 6) calc(var(--u) * 12));opacity:.6}.home-scrim{background:linear-gradient(180deg,#1a181759,#1a18178c 45%,#1a1817eb)}.home-main{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:0 calc(var(--u) * 20) calc(var(--u) * 120)}.home-logo{margin:calc(var(--u) * 2) 0 calc(var(--u) * 10)}.home-logo .l1{font-size:calc(var(--u) * 44)}.home-logo .l2{font-size:calc(var(--u) * 50)}.hero-card{position:relative;flex:1;min-height:0;width:calc(var(--u) * 330);margin-right:calc(var(--u) * 70);padding:0;display:flex;flex-direction:column;overflow:hidden;cursor:pointer;font-family:var(--display);color:#fff;text-align:left;border-radius:calc(var(--u) * 22);background:radial-gradient(circle at 50% 40%,var(--hero-color, #ff8a1f),#2b2826 72%)}.hero-card:before{z-index:2}.hc-art{position:relative;flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:center;background:repeating-linear-gradient(-45deg,rgba(0,0,0,.08) 0 calc(var(--u) * 14),transparent calc(var(--u) * 14) calc(var(--u) * 28))}.hc-art img{max-width:92%;max-height:96%;object-fit:contain;filter:drop-shadow(0 calc(var(--u) * 8) 0 rgba(0,0,0,.35))}.hero-card.locked .hc-art img{filter:brightness(.15)}.hc-lock{position:absolute;top:40%;font-size:calc(var(--u) * 56)}.hc-plate{position:relative;z-index:1;padding:calc(var(--u) * 10) calc(var(--u) * 14) calc(var(--u) * 14);background:linear-gradient(180deg,#3d434a,#2b3036);border-top:calc(var(--u) * 3) solid var(--ink)}.hc-name{font-size:calc(var(--u) * 32);line-height:1}.hc-title{font-size:calc(var(--u) * 13);color:var(--hazard);margin:calc(var(--u) * 2) 0 calc(var(--u) * 8)}.hc-chips{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 6)}.hc-chips .chip{color:#fff;font-size:calc(var(--u) * 12)}.hc-chips .chip.ult{color:var(--crit-b)}.hc-swap{position:absolute;top:calc(var(--u) * 12);right:calc(var(--u) * 12);z-index:3;font-size:calc(var(--u) * 12);padding:calc(var(--u) * 5) calc(var(--u) * 10);border-radius:calc(var(--u) * 20);border:calc(var(--u) * 2) solid var(--ink);background:linear-gradient(180deg,#ffd84a,var(--hazard));color:var(--ink);box-shadow:0 calc(var(--u) * 3) 0 var(--ink);animation:swap-bob 1.6s ease-in-out infinite}@keyframes swap-bob{50%{transform:translateY(calc(var(--u) * -3))}}.loadout{width:calc(var(--u) * 330);margin-right:calc(var(--u) * 70);margin-top:calc(var(--u) * 12);display:flex;align-items:center;gap:calc(var(--u) * 10);padding:calc(var(--u) * 8) calc(var(--u) * 14);cursor:pointer;font-family:var(--display);color:#fff;text-align:left}.loadout img{height:calc(var(--u) * 40);width:calc(var(--u) * 40);object-fit:contain}.lo-info{flex:1;display:flex;flex-direction:column;gap:calc(var(--u) * 4)}.lo-name{font-size:calc(var(--u) * 16)}.lo-go{font-size:calc(var(--u) * 30);color:var(--hazard)}.side-rail{position:absolute;right:calc(var(--u) * 8);top:30%;display:flex;flex-direction:column;gap:calc(var(--u) * 14);z-index:5}.rail-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 3);background:none;border:0;padding:0;cursor:pointer;font-family:var(--display);width:calc(var(--u) * 74)}.rail-icon{width:calc(var(--u) * 60);height:calc(var(--u) * 60);display:flex;align-items:center;justify-content:center;border-radius:calc(var(--u) * 16);transition:transform .1s}.rail-btn:active .rail-icon{transform:translateY(calc(var(--u) * 3)) scale(.95)}.rail-icon img{width:82%;height:82%;object-fit:contain;position:relative;z-index:1}.rail-q{font-size:calc(var(--u) * 32);color:var(--hazard)}.rail-label{font-size:calc(var(--u) * 9.5);letter-spacing:calc(var(--u) * .3);white-space:nowrap}.rail-badge{position:absolute;top:calc(var(--u) * -6);right:calc(var(--u) * 2);min-width:calc(var(--u) * 22);height:calc(var(--u) * 22);padding:0 calc(var(--u) * 5);border-radius:calc(var(--u) * 11);background:var(--heart);border:calc(var(--u) * 2) solid var(--ink);color:#fff;font-size:calc(var(--u) * 12);display:flex;align-items:center;justify-content:center;z-index:2;animation:badge-pop 1.2s ease-in-out infinite}@keyframes badge-pop{50%{transform:scale(1.15)}}.sheet-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;background:#0a090899;display:flex;align-items:flex-end}.sheet{width:100%;max-height:88%;min-height:62%;display:flex;flex-direction:column;border-radius:calc(var(--u) * 24) calc(var(--u) * 24) 0 0;border-bottom:0;box-shadow:0 calc(var(--u) * -6) 0 var(--ink)}.sheet-head{display:flex;align-items:center;gap:calc(var(--u) * 10);padding:calc(var(--u) * 14) calc(var(--u) * 16) calc(var(--u) * 8);border-bottom:calc(var(--u) * 6) solid transparent;border-image:var(--hazard-stripes) 1}.sheet-head img{height:calc(var(--u) * 40);width:calc(var(--u) * 40);object-fit:contain}.sheet-head h2{flex:1;margin:0;font-size:calc(var(--u) * 26);font-weight:700;color:var(--hazard)}.sheet-head .icon-btn{width:calc(var(--u) * 40);height:calc(var(--u) * 40)}.sheet-body{flex:1;min-height:0;overflow-y:auto;touch-action:pan-y;padding:calc(var(--u) * 10) calc(var(--u) * 14) calc(var(--u) * 30);scrollbar-width:none}.sheet-body::-webkit-scrollbar{display:none}.sheet-body .section{margin:calc(var(--u) * 12) 0 0}.sheet-body .currency-bar{padding:0 0 calc(var(--u) * 4)}.survivor-list{display:flex;flex-direction:column;gap:calc(var(--u) * 12)}.survivor-row{display:flex;gap:calc(var(--u) * 12);padding:calc(var(--u) * 12)}.survivor-row.sel{border-color:var(--hazard);box-shadow:inset 0 0 0 calc(var(--u) * 2) var(--ink),0 calc(var(--u) * 5) 0 var(--ink),0 0 calc(var(--u) * 18) #f5b80073}.sr-portrait{width:calc(var(--u) * 130);flex:0 0 auto;border-radius:calc(var(--u) * 12);border:calc(var(--u) * 3) solid var(--ink);background:radial-gradient(circle at 50% 35%,var(--hero-color, #ff8a1f),#2b2826 75%);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.sr-portrait img{width:110%;height:auto}.survivor-row.locked .sr-portrait img{filter:brightness(.15)}.sr-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:calc(var(--u) * 5)}.sr-action{margin-top:calc(var(--u) * 2)}.ach-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u) * 8);margin-bottom:calc(var(--u) * 12)}.ach-stat{display:flex;flex-direction:column;align-items:center;padding:calc(var(--u) * 10) calc(var(--u) * 4);font-size:calc(var(--u) * 14);color:#cfc7b8}.ach-stat b{font-size:calc(var(--u) * 26);color:var(--hazard);display:inline}.ach-stat span{font-size:calc(var(--u) * 10);margin-top:calc(var(--u) * 2)}.mission-trophy{width:calc(var(--u) * 40);height:calc(var(--u) * 40);object-fit:contain;filter:grayscale(1) brightness(.55)}.mission.ready .mission-trophy,.mission.claimed .mission-trophy{filter:none}.mission.ready{box-shadow:inset 0 0 0 calc(var(--u) * 2) var(--toxic),0 calc(var(--u) * 5) 0 var(--ink)}.hero-name{font-size:calc(var(--u) * 28);line-height:1}.hero-title{font-size:calc(var(--u) * 13);color:var(--hazard)}.hero-skill{background:#1a18178c;border-radius:calc(var(--u) * 8);padding:calc(var(--u) * 6) calc(var(--u) * 8);font-size:calc(var(--u) * 11.5);line-height:1.25;font-family:system-ui,sans-serif;font-weight:700;color:#e9e2d4}.hero-skill b{font-family:var(--display);font-weight:700;display:block;font-size:calc(var(--u) * 13);color:#fff;margin-bottom:calc(var(--u) * 2)}.hero-skill b.ult{color:var(--crit-b)}.weapon-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u) * 10)}.weapon-card{padding:calc(var(--u) * 10);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 6);text-align:center}.weapon-card.equipped{background:linear-gradient(180deg,#ffe58a,var(--hazard) 50%,#c89400);color:var(--ink)}.weapon-card.equipped .w-blurb{color:#3a2e00}.weapon-card .w-art{height:calc(var(--u) * 82);display:flex;align-items:center;justify-content:center}.weapon-card .w-art img{max-height:100%;max-width:calc(var(--u) * 110);transform:rotate(35deg);filter:drop-shadow(0 calc(var(--u) * 4) 0 rgba(0,0,0,.4))}.weapon-card.locked .w-art img{filter:brightness(.1)}.w-name{font-size:calc(var(--u) * 15);line-height:1.05}.w-evo{font-size:calc(var(--u) * 11);color:var(--toxic)}.weapon-card.equipped .w-evo{color:#145c00}.w-blurb{font-family:system-ui,sans-serif;font-weight:700;font-size:calc(var(--u) * 10.5);color:#e9e2d4;line-height:1.2;min-height:2.4em}.w-stats{display:flex;gap:calc(var(--u) * 4);flex-wrap:wrap;justify-content:center}.w-actions{display:flex;flex-direction:column;gap:calc(var(--u) * 8);width:100%;margin-top:auto}.w-actions .btn{width:100%}.lv-pips{display:flex;gap:calc(var(--u) * 3)}.lv-pips i{width:calc(var(--u) * 12);height:calc(var(--u) * 7);border-radius:calc(var(--u) * 2);background:#1a1817;border:calc(var(--u) * 1.5) solid var(--ink)}.lv-pips i.on{background:var(--xp)}.stat-row{display:flex;align-items:center;gap:calc(var(--u) * 10);padding:calc(var(--u) * 10) calc(var(--u) * 12);margin-bottom:calc(var(--u) * 10)}.stat-icon{font-size:calc(var(--u) * 30);width:calc(var(--u) * 46);height:calc(var(--u) * 46);display:grid;place-items:center;background:var(--ink);border-radius:calc(var(--u) * 10)}.stat-info{flex:1;min-width:0}.stat-name{font-size:calc(var(--u) * 16)}.stat-val{font-size:calc(var(--u) * 12);color:var(--crit-b)}.chest-row{display:flex;gap:calc(var(--u) * 10)}.chest-card{flex:1;padding:calc(var(--u) * 10);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 6);text-align:center}.chest-card img{height:calc(var(--u) * 80);width:auto}.chest-card .c-name{font-size:calc(var(--u) * 14)}.chest-card .c-desc{font-family:system-ui,sans-serif;font-weight:700;font-size:calc(var(--u) * 10.5);color:#e9e2d4}.chest-card.epic{background:linear-gradient(180deg,#b26bff,var(--mutant) 50%,#5a1a9e)}.mission{display:flex;align-items:center;gap:calc(var(--u) * 10);padding:calc(var(--u) * 8) calc(var(--u) * 12);margin-bottom:calc(var(--u) * 8)}.mission-info{flex:1;min-width:0}.mission-desc{font-size:calc(var(--u) * 13)}.mission-bar{height:calc(var(--u) * 10);border-radius:calc(var(--u) * 6);background:var(--ink);margin-top:calc(var(--u) * 4);overflow:hidden}.mission-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--toxic),#2fbf1a)}.mission-prog{font-size:calc(var(--u) * 10);color:#cfc7b8;margin-top:calc(var(--u) * 2)}.play-dock{position:absolute;left:0;right:0;bottom:0;padding:calc(var(--u) * 14) calc(var(--u) * 20) calc(var(--u) * 20);background:linear-gradient(180deg,transparent,rgba(26,24,23,.95) 35%);display:flex;justify-content:center}.play-dock .btn{width:100%}.stage-select{background:var(--ink)}.topbar{display:flex;align-items:center;gap:calc(var(--u) * 10);padding:calc(var(--u) * 12)}.topbar h2{margin:0;flex:1;font-size:calc(var(--u) * 26);font-weight:700}.stage-card{position:relative;margin:0 calc(var(--u) * 24);flex:1;border:calc(var(--u) * 4) solid var(--ink);border-radius:calc(var(--u) * 22);overflow:hidden;background-size:cover;background-position:center;box-shadow:0 calc(var(--u) * 8) 0 var(--ink);display:flex;flex-direction:column;justify-content:flex-end}.stage-card.locked{filter:grayscale(.9) brightness(.5)}.stage-num{position:absolute;top:calc(var(--u) * 14);left:calc(var(--u) * 14);font-size:calc(var(--u) * 20);padding:calc(var(--u) * 4) calc(var(--u) * 14)}.stage-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:calc(var(--u) * 90)}.stage-info{padding:calc(var(--u) * 16);background:linear-gradient(180deg,transparent,rgba(26,24,23,.92) 30%)}.stage-name{font-size:calc(var(--u) * 34);line-height:1}.stage-theme{color:var(--hazard);font-size:calc(var(--u) * 14);margin:calc(var(--u) * 4) 0 calc(var(--u) * 8)}.stage-mech{font-family:system-ui,sans-serif;font-weight:700;font-size:calc(var(--u) * 14);line-height:1.3;color:#f3ead8;background:#1a1817b3;border-left:calc(var(--u) * 6) solid var(--hazard);padding:calc(var(--u) * 8) calc(var(--u) * 10);border-radius:calc(var(--u) * 6)}.stage-boss{margin-top:calc(var(--u) * 8);font-size:calc(var(--u) * 13);color:#ff8a8a}.stage-nav{display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * 12);padding:calc(var(--u) * 18) calc(var(--u) * 16) calc(var(--u) * 22)}.dots{display:flex;gap:calc(var(--u) * 6)}.dots i{width:calc(var(--u) * 12);height:calc(var(--u) * 12);border-radius:50%;background:var(--steel-dark);border:calc(var(--u) * 2) solid var(--ink)}.dots i.on{background:var(--hazard)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--u) * 20);background:#0f0d0c99}.modal-title{font-size:calc(var(--u) * 46);color:var(--hazard);transform:rotate(-2deg);margin-bottom:calc(var(--u) * 4)}.modal-sub{font-size:calc(var(--u) * 15);margin-bottom:calc(var(--u) * 14)}.perk-cards{display:flex;flex-direction:column;gap:calc(var(--u) * 12);width:100%}.perk-card{display:flex;align-items:center;gap:calc(var(--u) * 12);padding:calc(var(--u) * 16) calc(var(--u) * 14) calc(var(--u) * 12);cursor:pointer;text-align:left;font-family:var(--display);color:#fff;overflow:hidden}.perk-card:after{content:"";position:absolute;left:0;right:0;top:0;height:calc(var(--u) * 8);background:repeating-linear-gradient(-45deg,var(--perk-color, var(--hazard)) 0 calc(var(--u) * 8),var(--ink) calc(var(--u) * 8) calc(var(--u) * 16));border-bottom:calc(var(--u) * 2) solid var(--ink)}.perk-card:active{transform:scale(.97)}.perk-icon{flex:0 0 auto;width:calc(var(--u) * 64);height:calc(var(--u) * 64);border-radius:calc(var(--u) * 14);display:grid;place-items:center;font-size:calc(var(--u) * 34);background:var(--ink);border:calc(var(--u) * 3) solid var(--perk-color, var(--hazard))}.perk-body{flex:1;min-width:0}.perk-title{font-size:calc(var(--u) * 20);line-height:1.05}.perk-cat{margin:calc(var(--u) * 4) 0}.perk-rarity{margin-left:calc(var(--u) * 4);font-size:calc(var(--u) * 10)}.perk-card.rarity-rare{box-shadow:0 0 0 calc(var(--u) * 3) var(--rarity-color),0 0 calc(var(--u) * 18) #00e5ff73}.perk-card.rarity-epic{box-shadow:0 0 0 calc(var(--u) * 3) var(--rarity-color),0 0 calc(var(--u) * 24) #ff2a8599;animation:epic-glow 1.2s ease-in-out infinite alternate}@keyframes epic-glow{to{box-shadow:0 0 0 calc(var(--u) * 3) var(--rarity-color),0 0 calc(var(--u) * 36) #ff2a85e6}}.perk-text{font-family:system-ui,sans-serif;font-weight:800;font-size:calc(var(--u) * 13);line-height:1.25;color:#f3ead8}.stack-pips{display:flex;gap:calc(var(--u) * 4);margin-top:calc(var(--u) * 6)}.stack-pips i{width:calc(var(--u) * 18);height:calc(var(--u) * 8);border-radius:calc(var(--u) * 3);background:var(--ink);border:calc(var(--u) * 1.5) solid var(--ink)}.stack-pips i.on{background:var(--perk-color, var(--hazard))}.stack-pips i.next{background:#fff;animation:pip .6s ease-in-out infinite alternate}@keyframes pip{to{opacity:.3}}.reroll{margin-top:calc(var(--u) * 18)}.pause-panel{width:100%;max-width:calc(var(--u) * 400);padding:calc(var(--u) * 22);display:flex;flex-direction:column;gap:calc(var(--u) * 14);align-items:stretch;text-align:center}.pause-perks{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 6);justify-content:center}.summary{width:100%;padding:calc(var(--u) * 18);display:flex;flex-direction:column;gap:calc(var(--u) * 10)}.summary-stats{display:flex;gap:calc(var(--u) * 8)}.summary-stat{flex:1;background:var(--ink);border-radius:calc(var(--u) * 10);padding:calc(var(--u) * 8) calc(var(--u) * 4);text-align:center}.summary-stat b{display:block;font-size:calc(var(--u) * 22);font-weight:700}.summary-stat span{font-size:calc(var(--u) * 10);color:#cfc7b8}.reward-row{display:flex;align-items:center;gap:calc(var(--u) * 10);background:#1a181799;border-radius:calc(var(--u) * 10);padding:calc(var(--u) * 6) calc(var(--u) * 12);font-size:calc(var(--u) * 18)}.reward-row img{height:calc(var(--u) * 36);width:calc(var(--u) * 36);object-fit:contain}.reward-row .r-name{flex:1}.reward-row .r-val{color:var(--crit-b);font-size:calc(var(--u) * 22)}.summary-actions{display:flex;gap:calc(var(--u) * 10);margin-top:calc(var(--u) * 6)}.summary-actions .btn{flex:1}.chest-open{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 14)}.chest-open .chest-img{height:calc(var(--u) * 180);width:auto;filter:drop-shadow(0 calc(var(--u) * 10) 0 rgba(0,0,0,.5))}.chest-rays{position:absolute;width:calc(var(--u) * 520);height:calc(var(--u) * 520);background:repeating-conic-gradient(rgba(245,184,0,.35) 0 10deg,transparent 10deg 20deg);border-radius:50%;mask-image:radial-gradient(circle,#000 30%,transparent 70%);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);animation:spin 8s linear infinite;pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:absolute;top:calc(var(--u) * 80);left:50%;transform:translate(-50%);z-index:40;padding:calc(var(--u) * 8) calc(var(--u) * 18);font-size:calc(var(--u) * 15);white-space:nowrap;pointer-events:none}.icon-btn{width:calc(var(--u) * 48);height:calc(var(--u) * 48);padding:0;font-size:calc(var(--u) * 22)}.how-to{font-family:system-ui,sans-serif;font-weight:700;font-size:calc(var(--u) * 15);line-height:1.45;color:#e9e2d4;padding:calc(var(--u) * 12) calc(var(--u) * 14)}.how-to b{color:var(--hazard);font-family:var(--display);font-weight:700}.tabs{display:flex;gap:calc(var(--u) * 6);margin:calc(var(--u) * 6) 0 calc(var(--u) * 4)}.tab{flex:1;display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * 6);padding:calc(var(--u) * 8) calc(var(--u) * 6);border:calc(var(--u) * 3) solid var(--ink);border-radius:calc(var(--u) * 12);background:linear-gradient(180deg,#3d434a,#2b3036);color:#cfc7b8;font-family:var(--display);font-size:calc(var(--u) * 13);cursor:pointer;box-shadow:0 calc(var(--u) * 4) 0 var(--ink)}.tab img{height:calc(var(--u) * 24);width:calc(var(--u) * 24);object-fit:contain}.tab.on{background:linear-gradient(180deg,#ffd84a,var(--hazard));color:var(--ink)}.mission-icon{flex:0 0 auto;width:calc(var(--u) * 40);height:calc(var(--u) * 40);display:grid;place-items:center;font-size:calc(var(--u) * 24);border-radius:calc(var(--u) * 10);background:var(--ink);filter:grayscale(.35) brightness(.85)}.mission.ready .mission-icon,.mission.claimed .mission-icon{filter:none}.mission.claimed{opacity:.6}.ach-tier{color:var(--hazard);margin-left:calc(var(--u) * 4)}.ach-tier small{color:#8a8378;font-size:.75em}.mission-sub{font-family:system-ui,sans-serif;font-weight:800;font-size:calc(var(--u) * 11);color:#e6ddcb;margin-top:calc(var(--u) * 2)}.ach-claim{white-space:nowrap}.ico{height:1.25em;width:1.25em;object-fit:contain;vertical-align:-.28em}.perk-art{width:82%;height:82%;object-fit:contain}.stat-art,.mission-art{width:86%;height:86%;object-fit:contain}.lock-art{width:calc(var(--u) * 64);height:calc(var(--u) * 64);object-fit:contain}.hc-lock{font-size:0}.dbg-fab{position:absolute;left:calc(var(--u) * 8);top:20%;z-index:15;width:calc(var(--u) * 46);height:calc(var(--u) * 46);border-radius:50%;border:calc(var(--u) * 3) solid var(--ink);background:#1a1817bf;display:grid;place-items:center;cursor:pointer}.dbg-fab-art{width:78%;height:78%;object-fit:contain}.dbg-overlay{justify-content:flex-start;padding:calc(var(--u) * 10);background:#0f0d0c8c}.dbg-panel{width:100%;max-height:100%;display:flex;flex-direction:column;padding:calc(var(--u) * 10);gap:calc(var(--u) * 8)}.dbg-head{display:flex;align-items:center;gap:calc(var(--u) * 8);font-size:calc(var(--u) * 18)}.dbg-head .dbg-sub{flex:1}.dbg-body{overflow-y:auto;flex:1;min-height:0;padding-right:calc(var(--u) * 4)}.dbg-home{position:relative;padding-bottom:calc(var(--u) * 80)}.dbg-tabs{margin-bottom:calc(var(--u) * 6)}.dbg-title{font-size:calc(var(--u) * 13);color:var(--hazard);margin:calc(var(--u) * 12) 0 calc(var(--u) * 6);letter-spacing:.04em}.dbg-sub{font-family:system-ui,sans-serif;font-weight:700;font-size:calc(var(--u) * 10);color:#cfc7b8;line-height:1.25}.dbg-row{display:flex;align-items:center;gap:calc(var(--u) * 4);padding:calc(var(--u) * 5) 0;border-bottom:1px solid rgba(255,255,255,.06)}.dbg-label{flex:1;min-width:0;font-size:calc(var(--u) * 13)}.dbg-val{min-width:calc(var(--u) * 54);text-align:center;font-size:calc(var(--u) * 15)}.dbg-val small{color:#8a8378;font-size:.65em}.btn.tiny{font-size:calc(var(--u) * 11);padding:calc(var(--u) * 4) calc(var(--u) * 8);border-radius:calc(var(--u) * 8);min-width:calc(var(--u) * 30)}.dbg-chips{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 6);margin:calc(var(--u) * 6) 0}.dbg-chip{--chip: var(--hazard);display:inline-flex;align-items:center;gap:calc(var(--u) * 4);font-family:var(--display);font-size:calc(var(--u) * 11);color:#e6ddcb;background:var(--ink);border:calc(var(--u) * 2) solid #3a3532;border-radius:calc(var(--u) * 20);padding:calc(var(--u) * 4) calc(var(--u) * 10);cursor:pointer}.dbg-chip img{height:calc(var(--u) * 20);width:calc(var(--u) * 20);object-fit:contain}.dbg-chip.on{color:var(--ink);background:var(--chip);border-color:var(--ink)}.dbg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(var(--u) * 6)}.dbg-spawn{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * 6) calc(var(--u) * 4);cursor:pointer;font-family:var(--display);font-size:calc(var(--u) * 9);color:#fff;text-align:center}.dbg-spawn img{height:calc(var(--u) * 40);width:100%;object-fit:contain}.dbg-sticky{position:sticky;bottom:0;padding:calc(var(--u) * 10) 0;background:linear-gradient(transparent,#1a1817f2 30%)}.dbg-sticky .btn{width:100%}.dbg-spawn{position:relative}.dbg-zone{position:absolute;top:calc(var(--u) * 3);right:calc(var(--u) * 4);font-size:calc(var(--u) * 9);color:var(--hazard)}
