:root{--acid:#ddf477;--cyan:#86e6db;--muted:#a1b1a6}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;background:#10191c;color:#e9eee3;font-family:system-ui,sans-serif;user-select:none;-webkit-user-select:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:none}.viewport{position:fixed;inset:0;width:100%;height:100dvh;overflow:hidden;touch-action:none}canvas{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:0;left:0;right:0;padding:calc(18px + env(safe-area-inset-top)) calc(20px + env(safe-area-inset-right)) 15px calc(20px + env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(#071014cc,transparent);pointer-events:none}.floorinfo strong{font:700 29px monospace;color:var(--acid)}.floorinfo strong span{font-size:10px;margin-left:8px}.floorinfo>span{margin-left:12px;font-size:11px;color:#c2cfbd}.hearts{display:flex;gap:5px;margin-top:10px}.hearts i{display:block;width:23px;height:5px;background:#9fe1c2;transform:skew(-15deg)}.hearts .empty{background:#4b5d54}.actions{display:flex;gap:7px;pointer-events:auto}.actions button{border:1px solid #71847655;background:#15231dcc;color:#dce9d7;border-radius:6px;font-size:11px;padding:9px 12px}.wavehud{position:absolute;top:calc(86px + env(safe-area-inset-top));left:calc(20px + env(safe-area-inset-left));display:flex;gap:10px;font-size:10px;pointer-events:none;color:#a7baab}.wavehud b{font-weight:400;color:#d5e4c4}.bottomhud{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none;font-size:10px;color:#b0c0b0;text-shadow:0 1px 4px #000}.bottomhud b{color:var(--acid);font:12px monospace}.overlay{position:absolute;inset:0;background:#071014a6;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;z-index:4;padding:25px}.tag{font:10px monospace;letter-spacing:4px;color:var(--acid)}h2{font-size:48px;margin:15px 0 8px;font-weight:900;letter-spacing:3px}.overlay p{font-size:12px;line-height:2;color:#bdccbd}.overlay small{font-size:10px;line-height:2;color:#9faf9e}.primary{background:var(--acid);border:0;color:#171d15;padding:15px 25px;min-width:220px;font-weight:800;margin:20px 0;box-shadow:4px 4px 0 #718044}.choices{width:min(390px,100%);display:grid;gap:10px;margin-top:15px}.choice{border:1px solid #687545;background:#1c261ff2;color:#e9eee3;padding:13px;text-align:left}.choice b{display:block;color:var(--acid);font-size:14px}.choice span{font-size:10px;color:#a9b5a8}.choice:hover{background:#35452a;border-color:var(--acid)}.toast{position:absolute;top:25%;left:0;right:0;pointer-events:none;text-align:center;white-space:pre-line;font-size:22px;font-weight:800;color:var(--acid);opacity:0;transition:opacity .3s;z-index:2;text-shadow:0 3px 12px #000}.toast.show{opacity:1}.joy{display:none;position:fixed;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;background:#152e2d88;border:1px solid #86e6db66;box-shadow:0 0 20px #86e6db12;z-index:3;pointer-events:none}.joy i{position:absolute;left:27px;top:27px;width:30px;height:30px;border-radius:50%;background:#86e6db55;border:1px solid #86e6db99}@media(max-width:600px){h2{font-size:38px}.hud{padding-left:14px;padding-right:14px}.floorinfo strong{font-size:25px}.floorinfo>span{margin-left:8px;font-size:10px}.actions button{font-size:10px;padding:8px}.bottomhud{left:14px;right:14px;font-size:9px}}@media(max-height:430px){.hud{padding-top:10px}.wavehud{top:70px}.overlay h2{font-size:30px;margin:8px}.overlay p{margin:5px}.primary{margin:10px}.overlay small{font-size:9px}.choices{gap:5px}.choice{padding:8px}}

.joy{width:154px;height:154px;background:#152e2d55;border-width:2px}.joy i{left:49px;top:49px;width:54px;height:54px;background:#86e6db55}.bottomhud{gap:12px}.dragging .bottomhud span:last-child{opacity:0}

.motionfx{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0}.falling .motionfx{opacity:.7;background:repeating-linear-gradient(0deg,transparent 0 30px,#c7efaa33 31px 60px,transparent 61px 170px);mask-image:linear-gradient(90deg,#000,transparent 17%,transparent 83%,#000);animation:fallrush .065s linear infinite}.landing .motionfx{background:#f9f3c4;animation:impactflash .35s ease-out both}@keyframes fallrush{from{background-position:0 0}to{background-position:0 -170px}}@keyframes impactflash{from{opacity:.35}to{opacity:0}}

.choice .penalty{display:block;color:#ff9e88;font-size:12px;line-height:1.5;margin-top:7px}.choice span{line-height:1.5}

.hearts{display:none}

.cashhud{color:#eadc91!important;font:700 13px monospace}.overlay.shop{justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:calc(25px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom))}.shop-panel{width:min(680px,100%);margin:auto 0;flex-shrink:0}.shop-heading{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.shop-heading h2{font-size:29px;letter-spacing:1px;margin:8px 0}.shop-wallet{font:700 28px monospace;color:#eadc91}.shop-help{font-size:11px!important;margin:5px 0 14px;line-height:1.6!important}.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.shop-buy{min-height:130px;display:flex;flex-direction:column;gap:6px;touch-action:pan-y;border-radius:6px}.shop-buy b{font-size:14px}.shop-buy .penalty{font-size:10px;margin-top:0}.shop-price{font:700 18px monospace;color:#eadc91;margin-top:auto;padding-top:8px}.shop-buy:disabled{cursor:default;background:#16201e;border-color:#40514a}.shop-buy:disabled .shop-price{color:#7e8e80}.shop-buy.sold{opacity:.5}.shop-controls{display:flex;gap:10px;margin:16px 0 8px}.shop-controls button{flex:1;min-width:0;min-height:48px;font-size:13px;touch-action:pan-y}.shop-controls .primary{padding:10px;margin:0;box-shadow:none}.shop-controls #shop-reroll{background:#223630;border:1px solid #658d76;color:#cbe8d5;border-radius:4px}.shop-controls #shop-reroll:disabled{opacity:.4;cursor:default}@media(max-height:430px){.shop-panel{width:min(650px,100%)}.shop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-buy{padding:10px;min-height:125px}.shop-heading h2{font-size:24px}.shop-controls{margin-top:10px}}

.viewport.shopping{touch-action:pan-y}

.shop-buy{min-width:0;overflow-wrap:anywhere}@media(max-width:480px){.shop-grid{gap:7px}.shop-buy{padding:10px 8px;min-height:190px}.shop-buy b{font-size:12px}.shop-buy span{font-size:10px}.shop-buy .penalty{font-size:10px}.shop-price{font-size:17px}}

.boss-banner{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px;pointer-events:none;z-index:3;background:linear-gradient(#080a16aa,transparent 28%,#280c1477 48%,transparent 72%,#080a16aa)}.boss-intro .boss-banner{display:flex}.boss-banner small{font:11px monospace;letter-spacing:3px;color:#ffc3a1}.boss-banner strong{font-size:clamp(32px,7vw,64px);font-weight:900;color:#ff5d48;letter-spacing:3px;text-shadow:0 0 25px #ff442277,0 4px 0 #301719;animation:bossentry .35s ease-out both}@keyframes bossentry{from{transform:scale(1.22);opacity:0}to{transform:scale(1);opacity:1}}

.survival-clock{display:none;position:absolute;top:20%;left:50%;transform:translate(-50%,-50%);width:clamp(90px,calc(31vh - 125px),174px);height:clamp(90px,calc(31vh - 125px),174px);z-index:2;text-align:center;pointer-events:none;container-type:inline-size}.clock-face{position:absolute;inset:22%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}.survival-clock small{display:block;font-size:clamp(8px,6.3cqw,11px);white-space:nowrap;color:#fff;text-shadow:0 1px 3px #041019,0 0 5px #041019}.survival-clock strong{display:flex;flex-direction:column;align-items:center;line-height:1;color:#edf6ff}.survival-clock b{font:800 25cqw/1.05 monospace;letter-spacing:-2px;color:#fff;text-shadow:0 2px 3px #041019,0 0 7px #041019}.survival-clock span{font-size:clamp(9px,7cqw,12px);margin-top:4px;text-shadow:0 1px 3px #041019,0 0 5px #041019}.survival-clock.urgent{filter:drop-shadow(0 0 4px #ff75552b)}.survival-intro .boss-banner strong{color:#ffcf84;text-shadow:0 0 25px #ff9b4477,0 4px 0 #302419}

.cash-popups{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.cash-popup{position:absolute;white-space:nowrap;font:800 16px monospace;color:#f5e7a0;text-shadow:0 2px 2px #101913,0 0 7px #c5b96266;will-change:transform,opacity}

.shop-upgrade{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 16px;padding:10px;background:#1b2d29;border:1px solid #476658;border-radius:5px}.shop-upgrade span{font-size:11px;color:#aac5b5}.shop-upgrade button{flex-shrink:0;padding:10px 12px;background:#314b3c;border:1px solid #8ba675;border-radius:4px;color:#e2f4c0;font-weight:700;font-size:12px;touch-action:pan-y}.shop-upgrade button:disabled{opacity:.4}

.shop-equipped{font-size:11px!important;line-height:1.5!important;text-align:left;margin:0 0 10px!important;color:#aec4bd!important}.shop-buy.weapon-card{border-color:var(--rarity);border-top-width:3px;background:linear-gradient(160deg,#23322f,#121c1e);box-shadow:inset 0 0 16px #ffffff05}.weapon-card b,.weapon-card .weapon-grade{color:var(--rarity)}.weapon-card .weapon-grade{font-size:10px;line-height:1.4}.shop-buy.weapon-card:disabled{border-color:var(--rarity);opacity:1}.shop-buy.weapon-card.sold:disabled{opacity:.5}.weapon-compare h2{font-size:28px;letter-spacing:1px}.weapon-compare-head{--equipment-card-gap:12px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--equipment-card-gap);margin:20px 0}.weapon-compare-head>div{padding:14px 10px;border:1px solid var(--rarity,#536e65);background:#13231f;border-top-width:3px;display:flex;flex-direction:column;gap:7px;min-width:0}.weapon-compare-head b{font-size:16px;color:var(--rarity,#dae7e1)}.weapon-compare-head span{font-size:11px;color:#a9c2b7}.weapon-compare-head.single-equipment>div{grid-column:1 / -1;justify-self:center;box-sizing:border-box;width:calc((100% - var(--equipment-card-gap))/2)}.equipment-attributes{margin:8px 0 0;font-size:11px}.equipment-attributes>div{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid #354b43}.equipment-attributes dt{color:#a9c2b7;min-width:0}.equipment-attributes dd{margin:0;color:#e3f0e9;text-align:right;flex-shrink:0}.weapon-replace-note{font-size:11px!important;margin:12px 0!important}.weapon-compare #equipment-cancel{background:#24362f;border:1px solid #6f887c;color:#cfddd6;border-radius:4px}.weapon-compare .shop-controls .primary{min-width:0}@media(max-width:480px){.weapon-compare-head{--equipment-card-gap:8px}.weapon-compare-head b{font-size:14px}.weapon-compare .shop-controls button{font-size:11px}}

/* Portrait play surface; screen size never changes the world grid. */
.weapon-compare-head span{overflow-wrap:anywhere}.weapon-compare .shop-controls{flex-wrap:wrap}.weapon-compare .shop-controls button{flex-basis:120px}
.viewport{inset:0 auto 0 50%;transform:translateX(-50%);width:min(100vw,56.25dvh);height:100dvh;box-shadow:0 0 60px #000}.joy{position:absolute}body{background:#050a0c}

.stage-clear{display:none;position:absolute;inset:0;align-items:center;justify-content:center;pointer-events:none;z-index:3;background:linear-gradient(transparent 25%,#07191588 50%,transparent 75%)}.stage-clear strong{color:#dfff78;font-size:clamp(46px,10vw,76px);font-weight:900;letter-spacing:.18em;padding-left:.18em;text-shadow:0 3px 16px #000,0 0 28px #a4d76766;animation:bossentry .25s ease-out both}

.pause-panel{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;background:#07101499;text-align:center}.pause-panel[hidden]{display:none}.pause-panel strong{font-size:28px;color:var(--acid);text-shadow:0 3px 12px #000}.pause-panel .primary{margin:0;min-height:52px;font-size:18px}.viewport.paused #pause{visibility:hidden}

.time-stop{display:none;position:absolute;top:23%;left:0;right:0;text-align:center;color:#c8e8ff;font-size:14px;letter-spacing:2px;pointer-events:none;z-index:3}.shield-hud{position:absolute;top:68px;left:20px;color:#77cfff;font-size:11px;pointer-events:none;z-index:2}

.test-open{position:absolute;left:15px;bottom:65px;z-index:6;font-size:11px;padding:7px 10px;background:#173033dd;color:#9bd2c0;border:1px solid #4c796e;border-radius:5px}.equipment-test{position:absolute;inset:0;z-index:8;background:#071014ee;display:flex;align-items:center;justify-content:center;padding:22px 18px}.equipment-test[hidden],.equipment-test [hidden]{display:none}.test-content{width:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;padding:4px 2px 10px}.test-content h2{margin:8px 0;font-size:26px}.test-content p,.test-content small{font-size:11px;line-height:1.6;color:#a5bbb5}.test-content label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;color:#cce3d8;font-size:13px}.test-content select{min-width:0;width:64%;padding:9px;background:#182e32;color:#e3f1e9;border:1px solid #44675f;border-radius:5px;font:inherit}.test-check{justify-content:flex-start!important}.test-check input{accent-color:#c5f57a}.test-buttons{display:flex;gap:10px;margin:16px 0 10px}.test-buttons button{flex:1;margin:0;padding:11px 5px;font-size:13px}.test-result:empty{display:none}.test-result{padding:12px;background:#112a2b;border:1px solid #406a5d;border-radius:6px}.test-result b,.test-result span,.test-result small{display:block}.test-result b{margin:5px 0;color:var(--rarity)}.test-result span{font-size:11px;line-height:1.5;color:#b7cdc5}.test-result dl{margin-bottom:0}

.equipment-special-effects{margin-top:8px;border-top:1px solid #354b43;padding-top:12px;text-align:left;overflow-wrap:anywhere}.equipment-special-effects>small{color:#e3f0e9;font-size:11px}.equipment-special-effects p{margin:7px 0 0!important;font-size:11px!important;line-height:1.65!important;color:#a9c2b7!important}

.skate-trick-popup{font:900 22px sans-serif;letter-spacing:2px;text-shadow:0 2px 1px #172f48,0 0 5px #35efff,0 0 13px #ff55d8;filter:drop-shadow(0 0 4px #6deaff);}

.skate-cooldown{position:absolute;width:28px;height:28px;z-index:2;pointer-events:none;transform:translate(30px,-50%);filter:drop-shadow(0 0 3px #43dbf9)}.skate-cooldown[hidden]{display:none}.skate-cooldown svg{width:100%;height:100%;overflow:visible}.skate-cd-track{fill:#102331bb;stroke:#426579;stroke-width:2.5}.skate-cd-fill{fill:none;stroke:#80f6ff;stroke-width:2.5;stroke-linecap:round}.skate-cooldown span{position:absolute;inset:0;display:grid;place-items:center;color:#eaffff;font:800 9px monospace;text-shadow:0 1px 2px #10202c}

.snake-entry{color:#b8e8cf;font-size:14px;margin:10px 0;text-decoration:none}.snake-tools{position:absolute;left:50%;top:112px;transform:translateX(-50%);z-index:4;width:min(88%,360px);text-align:center}.snake-tools[hidden]{display:none}.snake-tools>div:last-child{display:flex;justify-content:center;gap:6px;margin-top:6px}.snake-tools button{padding:6px 10px;font-size:12px;background:#142923e8;color:#dce9d7;border:1px solid #718476;border-radius:5px}.snake-health{border:1px solid #8bc8a5;border-radius:5px;padding:4px;font-size:12px;color:#fff;background:linear-gradient(to right,#537c5a var(--snake-hp,100%),#172921 var(--snake-hp,100%))}

.snake-scene .wavehud{flex-direction:column;gap:3px;max-width:90%}

.perf-panel{position:fixed;top:calc(env(safe-area-inset-top) + 62px);right:10px;z-index:1000;width:min(390px,calc(100% - 20px));max-height:calc(100% - 170px);overflow:auto;padding:10px;background:#0b171bf2;border:1px solid #668a82;border-radius:8px;color:#d8f6e9;box-shadow:0 5px 25px #0009;touch-action:pan-y}.perf-panel[hidden]{display:none}.perf-panel header,.perf-panel footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.perf-panel button{font-size:12px;padding:5px 9px;background:#223c38;color:#e5fff2;border:1px solid #65877d;border-radius:5px}.perf-panel pre{font:11px/1.55 monospace;white-space:pre-wrap;margin:8px 0}.perf-panel p,.perf-panel small{font:11px/1.5 sans-serif}.perf-panel svg{width:100%;height:45px;background:#162a27}.perf-panel footer{margin-top:8px}#perf-open{position:fixed;right:8px;top:42%;z-index:1000;font-size:12px;padding:6px 8px;color:#e5fff2;background:#223c38;border:1px solid #65877d;border-radius:5px;touch-action:manipulation}
#perf-open[hidden]{display:none}
.perf-panel footer{flex-wrap:wrap}

.boss-health{position:absolute;top:calc(109px + env(safe-area-inset-top));left:5%;width:90%;z-index:3;pointer-events:none;padding:9px 12px 11px;border:1px solid #ad685b;border-radius:7px;background:linear-gradient(110deg,#231c22ed,#111f27ed);box-shadow:0 3px 14px #0008}.boss-health[hidden]{display:none}.boss-health>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}.boss-health strong{color:#ffe2c4;font-size:13px;letter-spacing:1px}.boss-health span{font:11px monospace;color:#e5baa4}.boss-health-track{height:15px;border:1px solid #623c3c;border-radius:3px;background:#0e171d;overflow:hidden}.boss-health-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#c73943,#f36c4e,#ffd080);box-shadow:0 0 12px #ff805b88;transition:width .12s linear}.snake-tools{top:calc(180px + env(safe-area-inset-top))}

.toast.settlement{display:none}.cash-popup.settlement-popup{white-space:pre-line;text-align:center;font:700 14px/1.5 sans-serif;color:#dcffbb!important;text-shadow:0 2px 4px #000;max-width:90%}.paused .settlement-popup{visibility:hidden}

/* Underground bar passives. The opaque outer mask covers the battlefield, never the HUD. */
.drink-darkness{display:none;position:absolute;inset:0;z-index:2;pointer-events:none}
.hud,.wavehud,.bottomhud,.shield-hud{z-index:3}
.drinks-hud{position:absolute;top:calc(111px + env(safe-area-inset-top));left:14px;z-index:3;max-width:min(330px,85%);color:#d0e6df;font-size:10px;text-shadow:0 1px 3px #000}
.drinks-hud[hidden]{display:none}.drinks-hud summary{cursor:pointer;padding:6px 10px;border:1px solid #9caab54d;border-radius:5px;background:#10252be8;touch-action:manipulation}
.drinks-hud>div{max-height:34dvh;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:#0a171ff2;border:1px solid #597179;border-radius:5px;padding:4px 10px}
.drinks-hud p{margin:7px 0}.drinks-hud b{color:var(--drink-color)}.drinks-hud span{display:block;line-height:1.5;margin-top:2px;color:#c1cfcc}
.shop-buy.drink-card{border-color:var(--drink-color);background:linear-gradient(120deg,#1c2632,#18272a);box-shadow:inset 3px 0 var(--drink-color)}
.shop-buy.drink-card b{color:var(--drink-color)}.shop-buy.drink-card>span{color:#edb49e}.shop-buy.drink-card .drink-gift{color:#b7e2ce}
.drink-test{border-top:1px solid #66818455;margin-top:14px;padding-top:10px}.drink-test .test-buttons{margin:6px 0}.drink-test small{display:block;font-size:10px;color:#adbdaf}

/* World-space feedback is occluded by the vision mask; boss health remains readable. */
.cash-popups,.skate-cooldown{z-index:1}
.viewport:has(.boss-health:not([hidden])) .drinks-hud{top:calc(174px + env(safe-area-inset-top));left:auto;right:14px}

.terrain-tabs{display:flex;gap:8px;margin:10px 0}.terrain-tabs button{flex:1;padding:10px 7px;border:1px solid #687d70;border-radius:5px;background:#172820;color:#d8e8d7;font-size:12px}.terrain-tabs button:disabled{opacity:.55}.terrain-expand{width:100%;margin:10px 0}.terrain-expand strong{float:right;color:#ddf477}.terrain-rare{border-color:#bb99d2}.terrain-rare b{color:#d4b2ef}.terrain-owned{text-align:left;margin-top:12px;font-size:12px}.terrain-owned p{line-height:1.5}.terrain-adrenaline{position:absolute;left:20px;bottom:95px;z-index:3;max-width:220px;padding:12px;border:1px solid #f0a275;border-radius:6px;background:#4b2b1c;color:#ffe1b5;font-size:12px}.terrain-adrenaline[hidden]{display:none}

.terrain-currency{display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;vertical-align:middle;color:#8fd8ff;font-family:monospace;font-weight:700}.terrain-cube{width:20px;height:23px;overflow:visible;flex:none;filter:drop-shadow(0 0 3px #168cf0aa)}.cube-top{fill:#337fbb}.cube-left{fill:#134477}.cube-right{fill:#0a2d57}.cube-edge{fill:none;stroke:#75ceff;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round}.cube-highlight{fill:none;stroke:#d5f3ff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.shop-wallet .terrain-cube{width:28px;height:31px}.shop-wallet .terrain-currency{gap:8px}.terrain-tabs .terrain-currency{font-size:12px;gap:3px}.terrain-tabs .terrain-cube{width:16px;height:18px}.cashhud .terrain-cube{width:14px;height:16px}.cashhud .terrain-currency{gap:3px;font-size:12px}.terrain-shop .shop-price{display:block;align-self:flex-end;font-size:17px}.terrain-shop .shop-controls #terrain-reroll{background:#172e40;border:1px solid #4f8eb4;color:#bbddf4;border-radius:4px}.terrain-shop .shop-controls #terrain-reroll:disabled{opacity:.4}.terrain-expand{display:grid;grid-template-columns:1fr auto;text-align:left}.terrain-expand>b,.terrain-expand>span{grid-column:1}.terrain-expand>strong{grid-column:2;grid-row:1/3;align-self:center}.terrain-shop>small .terrain-cube{width:13px;height:15px}.terrain-shop>small .terrain-currency{font-size:11px}.drink-test select{max-width:100%}
.terrain-currency>span{font:inherit;color:inherit}.shop-price .terrain-currency{font-size:17px}.terrain-expand strong .terrain-currency{font-size:16px}.shop-wallet .terrain-currency{font-size:28px}

/* Quality effects stay inside each purchase button and never intercept taps. */
.shop-quality .shop-buy{position:relative;isolation:isolate;overflow:hidden}
.shop-quality .shop-buy>:not(.shop-item-fx){position:relative;z-index:1}
.shop-quality .shop-item-fx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;border-radius:inherit;opacity:var(--shop-fx-strength)}
.shop-item-fx::before,.shop-item-fx::after{content:"";position:absolute;pointer-events:none}
.shop-item-fx::before{inset:0;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--rarity) 28%,transparent),transparent 72%);animation:shop-quality-breathe var(--shop-fx-cycle) ease-in-out infinite}
.shop-item-fx::after{inset:-60% -100%;background:linear-gradient(115deg,transparent 42%,color-mix(in srgb,var(--rarity) 8%,transparent) 46%,color-mix(in srgb,var(--rarity) 48%,transparent) 49%,#ffffff65 50%,transparent 54%);transform:translateX(-38%);opacity:0}
.shop-item-fx i{display:none}
.shop-quality [data-tier="3"] .shop-item-fx::after{animation:shop-quality-sweep var(--shop-fx-cycle) ease-in-out infinite}
.shop-quality [data-tier="4"] .shop-item-fx::after{background:repeating-linear-gradient(115deg,transparent 0% 23%,#be8fdf35 25%,#f0d4ff77 26%,transparent 28% 50%);animation:shop-quality-sweep var(--shop-fx-cycle) ease-in-out infinite}
.shop-quality [data-tier="4"]:not(:disabled){box-shadow:inset 0 0 20px #be8fdf12,0 0 9px #be8fdf16}
.shop-quality [data-tier="5"]:not(:disabled){background:linear-gradient(155deg,#3a3021,#1b201e 65%);box-shadow:inset 0 0 24px #e8b5651c,0 0 12px #e8b56524}
.shop-quality [data-tier="5"] .shop-item-fx::before{background:radial-gradient(ellipse at 50% 0%,#ffc85965,transparent 75%);animation-duration:calc(var(--shop-fx-cycle)*.8)}
.shop-quality [data-tier="5"] .shop-item-fx::after{background:linear-gradient(115deg,transparent 40%,#e8b56518 44%,#ffd98999 49%,#fff4c7bb 50%,#e8b56528 52%,transparent 57%);animation:shop-quality-sweep calc(var(--shop-fx-cycle)*.8) ease-in-out infinite}
.shop-quality [data-tier="5"] .shop-price{color:#ffe2a4;text-shadow:0 0 10px #e8b56565}
.shop-quality [data-tier="5"] .shop-item-fx i{display:block;position:absolute;width:12px;height:12px;left:12%;top:15%;background:#fff3bd;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);opacity:0;animation:shop-quality-spark calc(var(--shop-fx-cycle)*.85) ease-in-out infinite}
.shop-quality [data-tier="5"] .shop-item-fx i:nth-child(2){left:82%;top:32%;width:8px;height:8px;animation-delay:-.9s}
.shop-quality [data-tier="5"] .shop-item-fx i:nth-child(3){left:65%;top:82%;width:10px;height:10px;animation-delay:-1.8s}
.shop-quality [data-tier="5"] .shop-item-fx i:nth-child(4){left:25%;top:65%;width:6px;height:6px;animation-delay:-2.7s}
.shop-quality .shop-buy:nth-child(2) .shop-item-fx::after{animation-delay:-1.1s}
.shop-quality .shop-buy:nth-child(3) .shop-item-fx::after{animation-delay:-2.2s}
.shop-quality .shop-buy:disabled .shop-item-fx{display:none}
.shop-quality .shop-buy:disabled .shop-price{text-shadow:none;color:#7e8e80}
.shop-promoted .shop-heading,.shop-promoted .shop-upgrade{animation:shop-quality-promote .85s ease-out both}
@keyframes shop-quality-breathe{0%,100%{opacity:.22}50%{opacity:.8}}
@keyframes shop-quality-sweep{0%,12%{transform:translateX(-38%);opacity:0}20%{opacity:.8}64%{opacity:.8}78%,100%{transform:translateX(38%);opacity:0}}
@keyframes shop-quality-spark{0%,12%,65%,100%{opacity:0;transform:scale(.35) rotate(-35deg)}32%{opacity:1;transform:scale(1) rotate(0deg)}48%{opacity:.45;transform:scale(.65) rotate(25deg)}}
@keyframes shop-quality-promote{0%{filter:brightness(1.8);transform:translateY(3px)}100%{filter:brightness(1);transform:translateY(0)}}
/* High grades: masked conic highlights travel around the rounded card rim. */
@property --shop-orbit-angle{syntax:"<angle>";initial-value:0deg;inherits:false}
.shop-quality :is([data-tier="4"],[data-tier="5"]):not(:disabled)::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;padding:2px;background:conic-gradient(from var(--shop-orbit-angle),#683a9277 0deg,#bc73ff 65deg,#f8dcff 90deg,#7ff5ff 105deg,#683a9233 150deg,#683a9233 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:var(--shop-fx-strength);animation:shop-quality-orbit calc(var(--shop-fx-cycle)*1.25) linear infinite}
.shop-quality [data-tier="4"]:not(:disabled){background:linear-gradient(155deg,#31203e,#151f29 70%);box-shadow:inset 0 0 24px #be8fdf20,0 0 12px #be8fdf35}
.shop-quality [data-tier="4"] .shop-item-fx::before{inset:-40%;background:radial-gradient(ellipse at 15% 25%,#bd64ff85,transparent 47%),radial-gradient(ellipse at 85% 75%,#41e1f56b,transparent 44%);animation:shop-quality-aurora calc(var(--shop-fx-cycle)*1.5) ease-in-out infinite alternate}
.shop-quality [data-tier="5"]:not(:disabled){background:linear-gradient(150deg,#473117,#221e18 65%,#3a2916);box-shadow:inset 0 0 30px #ffbe392b,0 0 7px #ffd16a60,0 0 20px #e8a63b35}
.shop-quality [data-tier="5"]:not(:disabled)::before{padding:3px;background:conic-gradient(from var(--shop-orbit-angle),#8b581a66 0deg,#e5a12d 35deg,#fff6ca 70deg,#fff 76deg,#ffd16a 84deg,#8b581a44 115deg 180deg,#e5a12d 215deg,#fff6ca 250deg,#fff 256deg,#ffd16a 264deg,#8b581a44 295deg 360deg);animation-duration:calc(var(--shop-fx-cycle)*.85)}
.shop-quality [data-tier="5"] .shop-item-fx::before{inset:-60%;background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0deg 18deg,#ffce5e38 24deg,#fff0b94d 27deg,transparent 34deg 60deg);opacity:.65;animation:shop-quality-rays calc(var(--shop-fx-cycle)*5) linear infinite;mask-image:radial-gradient(ellipse,#000,transparent 68%);-webkit-mask-image:radial-gradient(ellipse,#000,transparent 68%)}
.shop-quality [data-tier="5"] .shop-item-fx::after{background:linear-gradient(115deg,transparent 22%,#ffbf4133 31%,#ffd36e99 39%,#fff3b9d9 46%,#fffbe9e6 49% 53%,#ffc54c88 60%,transparent 72%);animation-duration:calc(var(--shop-fx-cycle)*.7)}
.shop-quality [data-tier="5"] .shop-item-fx i{width:18px;height:18px;left:12%;top:32%;filter:drop-shadow(0 0 5px #ffd36c);animation:shop-quality-twinkle calc(var(--shop-fx-cycle)*.2*var(--spark-speed,1)) ease-in-out infinite}
.shop-quality [data-tier="5"] .shop-item-fx i:nth-child(2){left:80%;top:14%;width:12px;height:12px;animation-delay:-.09s}
.shop-quality [data-tier="5"] .shop-item-fx i:nth-child(3){left:70%;top:78%;width:16px;height:16px;animation-delay:-.19s}
.shop-quality [data-tier="5"] .shop-item-fx i:nth-child(4){left:23%;top:72%;width:10px;height:10px;animation-delay:-.28s}
@keyframes shop-quality-twinkle{0%,78%,100%{opacity:0;transform:scale(.35) rotate(-15deg)}18%{opacity:.3;transform:scale(.65) rotate(-5deg)}36%{opacity:1;transform:scale(1.1) rotate(0deg)}55%{opacity:.5;transform:scale(.85) rotate(10deg)}}
.shop-quality [data-tier="5"] .shop-item-fx::after{mask-image:linear-gradient(to bottom,#0003 0% 43%,#000 55% 65%,#0007 100%);-webkit-mask-image:linear-gradient(to bottom,#0003 0% 43%,#000 55% 65%,#0007 100%)}
.shop-quality [data-tier="5"]>b,.shop-quality [data-tier="5"]>span:not(.shop-item-fx),.shop-quality [data-tier="5"] .shop-price{text-shadow:0 1px 2px #000,0 0 4px #000}
@keyframes shop-quality-orbit{to{--shop-orbit-angle:360deg}}
@keyframes shop-quality-rays{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes shop-quality-aurora{from{transform:translate(-8%,-5%) rotate(-12deg);opacity:.4}to{transform:translate(8%,5%) rotate(12deg);opacity:.85}}
/* Blue keeps its lateral sweep; epic and legendary light rises as soft wisps. */
.shop-quality :is([data-tier="4"],[data-tier="5"]) .shop-item-fx::before,.shop-quality :is([data-tier="4"],[data-tier="5"]) .shop-item-fx::after{inset:0 -25% -55%;background:radial-gradient(ellipse 16% 38% at 38% 75%,color-mix(in srgb,var(--rarity) 55%,transparent),transparent 74%),radial-gradient(ellipse 13% 33% at 68% 68%,color-mix(in srgb,var(--rarity) 40%,transparent),transparent 75%);filter:blur(5px);mask-image:linear-gradient(transparent,#000 35%,#0007 85%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 35%,#0007 85%,transparent);animation:shop-quality-smoke-rise calc(var(--shop-fx-cycle)*1.5) ease-in-out infinite;transform:none;opacity:0}
.shop-quality :is([data-tier="4"],[data-tier="5"]) .shop-item-fx::after{background-position:20px 30px;animation-delay:calc(var(--shop-fx-cycle)*-.75);animation-duration:calc(var(--shop-fx-cycle)*1.7)}
@keyframes shop-quality-smoke-rise{0%{transform:translate(3%,24%) scaleX(.9);opacity:0}25%{opacity:.4}60%{transform:translate(-5%,-10%) scaleX(1.15);opacity:.3}100%{transform:translate(4%,-42%) scaleX(1.3);opacity:0}}
@media(prefers-reduced-motion:reduce){.shop-quality .shop-buy::before,.shop-quality .shop-buy::after,.shop-quality .shop-item-fx::before,.shop-quality .shop-item-fx::after,.shop-quality .shop-item-fx i,.shop-promoted .shop-heading,.shop-promoted .shop-upgrade{animation:none!important}.shop-quality .shop-item-fx::before{opacity:.4}.shop-quality [data-tier="5"]::after{opacity:.35}}


/* Three sparse glitter layers combine into a dense, fine iridescent finish. */
.shop-glitter{position:absolute;inset:16% 2% 3%;pointer-events:none;mask-image:linear-gradient(transparent,#0007 24%,#000 60%,#0008);-webkit-mask-image:linear-gradient(transparent,#0007 24%,#000 60%,#0008)}
.shop-glitter>s{position:absolute;inset:0;display:block;background-size:100px 120px;animation:shop-quality-glitter 1.6s ease-in-out infinite alternate;opacity:.5}
.shop-glitter>s:nth-child(1){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22120%22%3E%3Ccircle%20cx%3D%222.22%22%20cy%3D%2271.59%22%20r%3D%220.59%22%20fill%3D%22%23b8ecff%22%20opacity%3D%220.97%22%2F%3E%3Ccircle%20cx%3D%2283.23%22%20cy%3D%2260.46%22%20r%3D%220.79%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.47%22%2F%3E%3Ccircle%20cx%3D%2279.98%22%20cy%3D%2272.90%22%20r%3D%220.78%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.63%22%2F%3E%3Ccircle%20cx%3D%2296.56%22%20cy%3D%2259.26%22%20r%3D%220.53%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.87%22%2F%3E%3Ccircle%20cx%3D%2279.17%22%20cy%3D%2231.50%22%20r%3D%220.58%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.44%22%2F%3E%3Ccircle%20cx%3D%2271.69%22%20cy%3D%22100.95%22%20r%3D%220.41%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.72%22%2F%3E%3Ccircle%20cx%3D%225.43%22%20cy%3D%2283.08%22%20r%3D%220.77%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.74%22%2F%3E%3Ccircle%20cx%3D%2288.42%22%20cy%3D%228.53%22%20r%3D%220.48%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.52%22%2F%3E%3Ccircle%20cx%3D%2238.53%22%20cy%3D%22104.14%22%20r%3D%220.80%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.41%22%2F%3E%3Ccircle%20cx%3D%2240.62%22%20cy%3D%22111.41%22%20r%3D%220.48%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.71%22%2F%3E%3Ccircle%20cx%3D%2236.12%22%20cy%3D%226.13%22%20r%3D%220.66%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%2245.14%22%20cy%3D%2267.21%22%20r%3D%220.63%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.95%22%2F%3E%3Ccircle%20cx%3D%2229.25%22%20cy%3D%2246.90%22%20r%3D%220.49%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.51%22%2F%3E%3Ccircle%20cx%3D%2262.67%22%20cy%3D%22113.86%22%20r%3D%220.44%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.56%22%2F%3E%3Ccircle%20cx%3D%2268.17%22%20cy%3D%2221.48%22%20r%3D%220.79%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.76%22%2F%3E%3Ccircle%20cx%3D%229.03%22%20cy%3D%2287.67%22%20r%3D%220.37%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.89%22%2F%3E%3Ccircle%20cx%3D%2251.85%22%20cy%3D%2279.98%22%20r%3D%220.42%22%20fill%3D%22%23b8ecff%22%20opacity%3D%220.73%22%2F%3E%3Ccircle%20cx%3D%2240.79%22%20cy%3D%2279.31%22%20r%3D%220.85%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.94%22%2F%3E%3Ccircle%20cx%3D%2222.61%22%20cy%3D%22114.60%22%20r%3D%220.82%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.70%22%2F%3E%3Ccircle%20cx%3D%2223.21%22%20cy%3D%22104.67%22%20r%3D%220.79%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.89%22%2F%3E%3Ccircle%20cx%3D%2211.26%22%20cy%3D%2245.96%22%20r%3D%220.64%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.59%22%2F%3E%3Ccircle%20cx%3D%2230.19%22%20cy%3D%2221.95%22%20r%3D%220.62%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.59%22%2F%3E%3Ccircle%20cx%3D%2283.98%22%20cy%3D%2236.17%22%20r%3D%220.64%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.62%22%2F%3E%3Ccircle%20cx%3D%2257.04%22%20cy%3D%2287.94%22%20r%3D%220.61%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.61%22%2F%3E%3Ccircle%20cx%3D%2239.47%22%20cy%3D%2280.13%22%20r%3D%220.68%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.62%22%2F%3E%3C%2Fsvg%3E");animation-delay:-0.0s;animation-duration:1.3s}
.shop-glitter>s:nth-child(2){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22120%22%3E%3Ccircle%20cx%3D%2221.60%22%20cy%3D%22101.36%22%20r%3D%220.46%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.51%22%2F%3E%3Ccircle%20cx%3D%2240.74%22%20cy%3D%2210.61%22%20r%3D%220.45%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.43%22%2F%3E%3Ccircle%20cx%3D%2221.53%22%20cy%3D%2248.21%22%20r%3D%220.76%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.60%22%2F%3E%3Ccircle%20cx%3D%2280.78%22%20cy%3D%2235.29%22%20r%3D%220.49%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.87%22%2F%3E%3Ccircle%20cx%3D%2284.57%22%20cy%3D%2258.62%22%20r%3D%220.67%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.54%22%2F%3E%3Ccircle%20cx%3D%2289.31%22%20cy%3D%2213.88%22%20r%3D%220.73%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.49%22%2F%3E%3Ccircle%20cx%3D%2219.02%22%20cy%3D%2262.05%22%20r%3D%220.71%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.76%22%2F%3E%3Ccircle%20cx%3D%2264.63%22%20cy%3D%2240.44%22%20r%3D%220.62%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.72%22%2F%3E%3Ccircle%20cx%3D%223.32%22%20cy%3D%2245.72%22%20r%3D%220.57%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.80%22%2F%3E%3Ccircle%20cx%3D%2292.04%22%20cy%3D%2291.86%22%20r%3D%220.76%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.40%22%2F%3E%3Ccircle%20cx%3D%2255.21%22%20cy%3D%222.58%22%20r%3D%220.80%22%20fill%3D%22%23d0b9ff%22%20opacity%3D%220.57%22%2F%3E%3Ccircle%20cx%3D%2265.00%22%20cy%3D%2250.29%22%20r%3D%220.70%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.42%22%2F%3E%3Ccircle%20cx%3D%2237.66%22%20cy%3D%2256.13%22%20r%3D%220.38%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.58%22%2F%3E%3Ccircle%20cx%3D%2257.61%22%20cy%3D%2268.52%22%20r%3D%220.68%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.86%22%2F%3E%3Ccircle%20cx%3D%2222.64%22%20cy%3D%2262.19%22%20r%3D%220.57%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.84%22%2F%3E%3Ccircle%20cx%3D%222.37%22%20cy%3D%2217.17%22%20r%3D%220.65%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.51%22%2F%3E%3Ccircle%20cx%3D%2256.37%22%20cy%3D%2298.12%22%20r%3D%220.69%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.77%22%2F%3E%3Ccircle%20cx%3D%2276.59%22%20cy%3D%22104.03%22%20r%3D%220.75%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.44%22%2F%3E%3Ccircle%20cx%3D%224.50%22%20cy%3D%22108.40%22%20r%3D%220.37%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%2233.23%22%20cy%3D%2253.25%22%20r%3D%220.60%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.81%22%2F%3E%3Ccircle%20cx%3D%2233.67%22%20cy%3D%22102.80%22%20r%3D%220.63%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.94%22%2F%3E%3Ccircle%20cx%3D%2294.65%22%20cy%3D%2243.43%22%20r%3D%220.47%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.89%22%2F%3E%3Ccircle%20cx%3D%2228.53%22%20cy%3D%2277.20%22%20r%3D%220.49%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.82%22%2F%3E%3Ccircle%20cx%3D%2289.71%22%20cy%3D%2225.00%22%20r%3D%220.59%22%20fill%3D%22%23d0b9ff%22%20opacity%3D%220.96%22%2F%3E%3Ccircle%20cx%3D%2264.40%22%20cy%3D%2299.99%22%20r%3D%220.73%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.82%22%2F%3E%3C%2Fsvg%3E");animation-delay:-0.57s;animation-duration:1.67s}
.shop-glitter>s:nth-child(3){background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22120%22%3E%3Ccircle%20cx%3D%2240.98%22%20cy%3D%2215.14%22%20r%3D%220.83%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.65%22%2F%3E%3Ccircle%20cx%3D%2294.25%22%20cy%3D%2276.77%22%20r%3D%220.60%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.39%22%2F%3E%3Ccircle%20cx%3D%2259.07%22%20cy%3D%2223.52%22%20r%3D%220.73%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.57%22%2F%3E%3Ccircle%20cx%3D%2265.00%22%20cy%3D%2211.31%22%20r%3D%220.45%22%20fill%3D%22%23b8ecff%22%20opacity%3D%220.88%22%2F%3E%3Ccircle%20cx%3D%2289.98%22%20cy%3D%2285.75%22%20r%3D%220.77%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.64%22%2F%3E%3Ccircle%20cx%3D%2210.94%22%20cy%3D%2242.80%22%20r%3D%220.56%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.86%22%2F%3E%3Ccircle%20cx%3D%2232.61%22%20cy%3D%2241.02%22%20r%3D%220.66%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.78%22%2F%3E%3Ccircle%20cx%3D%2240.85%22%20cy%3D%2272.35%22%20r%3D%220.75%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.92%22%2F%3E%3Ccircle%20cx%3D%2264.11%22%20cy%3D%22103.29%22%20r%3D%220.84%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.59%22%2F%3E%3Ccircle%20cx%3D%2247.46%22%20cy%3D%2272.31%22%20r%3D%220.53%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.68%22%2F%3E%3Ccircle%20cx%3D%2274.30%22%20cy%3D%22115.03%22%20r%3D%220.44%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.58%22%2F%3E%3Ccircle%20cx%3D%2284.85%22%20cy%3D%2233.38%22%20r%3D%220.76%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.50%22%2F%3E%3Ccircle%20cx%3D%2246.07%22%20cy%3D%2265.35%22%20r%3D%220.76%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.65%22%2F%3E%3Ccircle%20cx%3D%2252.56%22%20cy%3D%2223.17%22%20r%3D%220.41%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.55%22%2F%3E%3Ccircle%20cx%3D%2273.11%22%20cy%3D%22102.90%22%20r%3D%220.36%22%20fill%3D%22%23d0b9ff%22%20opacity%3D%220.92%22%2F%3E%3Ccircle%20cx%3D%2291.70%22%20cy%3D%2262.68%22%20r%3D%220.44%22%20fill%3D%22%23b8ecff%22%20opacity%3D%220.74%22%2F%3E%3Ccircle%20cx%3D%2260.89%22%20cy%3D%22116.26%22%20r%3D%220.47%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.81%22%2F%3E%3Ccircle%20cx%3D%2216.40%22%20cy%3D%2212.75%22%20r%3D%220.65%22%20fill%3D%22%23b8ecff%22%20opacity%3D%220.54%22%2F%3E%3Ccircle%20cx%3D%2282.38%22%20cy%3D%22102.20%22%20r%3D%220.41%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.41%22%2F%3E%3Ccircle%20cx%3D%2243.24%22%20cy%3D%22117.83%22%20r%3D%220.41%22%20fill%3D%22%23f3bddb%22%20opacity%3D%220.72%22%2F%3E%3Ccircle%20cx%3D%2256.08%22%20cy%3D%2243.64%22%20r%3D%220.62%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.68%22%2F%3E%3Ccircle%20cx%3D%2263.11%22%20cy%3D%2264.92%22%20r%3D%220.81%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.60%22%2F%3E%3Ccircle%20cx%3D%2269.08%22%20cy%3D%222.23%22%20r%3D%220.83%22%20fill%3D%22%23ffe6a5%22%20opacity%3D%220.42%22%2F%3E%3Ccircle%20cx%3D%2226.39%22%20cy%3D%2278.05%22%20r%3D%220.56%22%20fill%3D%22%23fff4cf%22%20opacity%3D%220.72%22%2F%3E%3Ccircle%20cx%3D%2289.32%22%20cy%3D%223.85%22%20r%3D%220.78%22%20fill%3D%22%23ffd277%22%20opacity%3D%220.42%22%2F%3E%3C%2Fsvg%3E");animation-delay:-1.14s;animation-duration:2.04s}
@keyframes shop-quality-glitter{0%,12%{opacity:.12;transform:translateY(1px)}44%{opacity:.8}72%{opacity:.28}100%{opacity:.65;transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.shop-glitter>s{animation:none!important;opacity:.4}}

.shop-buy .equipment-replacement{display:block;text-align:left;font-size:10px;line-height:1.5;color:#f0cba5}.bar-shop .shop-controls #bar-reroll{background:#28303e;border:1px solid #788ca9;border-radius:4px;color:#d6e4f5}.terrain-expand:disabled{opacity:.5}

.shop-quality .shop-buy{min-height:280px;height:auto}.shop-buy .shop-item-description{display:block;width:100%;text-align:left;line-height:1.75}.shop-buy .equipment-replacement{width:100%}

/* Monochrome category emblems inherit the same rarity color as their product. */
.shop-equipment-icon{position:relative;display:flex;align-items:center;justify-content:center;align-self:center;flex:0 0 64px;width:64px;height:64px;margin:auto 0;border:2px solid var(--rarity,#86e6db);border-radius:10px;background:#193139;box-shadow:inset 0 0 0 2px #15373b,inset 0 0 9px color-mix(in srgb,var(--icon-emission,var(--rarity)) 17%,transparent),0 0 10px color-mix(in srgb,var(--icon-emission,var(--rarity)) 46%,transparent),0 0 19px color-mix(in srgb,var(--icon-emission,var(--rarity)) 22%,transparent);overflow:hidden;pointer-events:none}
.shop-equipment-icon svg{display:block;position:static;width:48px;height:48px;overflow:visible}
.shop-equipment-icon::after{content:"";position:absolute;top:3px;right:3px;width:7px;height:8px;background:var(--rarity,#86e6db);clip-path:polygon(0 0,100% 0,100% 100%)}

.shop-buy.weapon-card[data-tier="1"]{--rarity:#a8b7b5!important}

/* Every purchasable stock category shares the same framed icon; compact for expansion. */
.terrain-expand{grid-template-columns:44px 1fr auto;column-gap:8px;align-items:center}
.terrain-expand>b,.terrain-expand>span:not(.shop-equipment-icon){grid-column:2}
.terrain-expand>strong{grid-column:3}
.terrain-expand>.shop-equipment-icon{grid-column:1;grid-row:1/3;width:36px;height:36px;flex-basis:36px;margin:0;border-radius:7px}
.terrain-expand .shop-equipment-icon svg{width:28px;height:28px}
.weapon-compare-head .shop-equipment-icon{align-self:center;margin:8px 0;width:64px;height:64px;border:2px solid var(--rarity);border-radius:10px;background:#193139;position:relative;display:flex;align-items:center;justify-content:center}
.all-icons-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 15px;padding:8px;border:1px solid #48665b;border-radius:6px;background:#10251f}.all-icons-controls span{font-size:11px;color:#cfddd4}.all-icons-controls button{padding:7px 14px;border:1px solid #6b877b;border-radius:4px;background:#21382d;color:#ddf477;touch-action:manipulation}

.cash-popup.damage-popup{
  --damage-color:#fff2d0;
  font:900 18px/1 "Arial Black",NeonUI,sans-serif;
  font-family:"Arial Black",NeonUI,sans-serif!important;
  color:color-mix(in srgb,#fff var(--damage-flash),var(--damage-color));
  -webkit-text-stroke:var(--damage-stroke) color-mix(in srgb,#fff var(--damage-flash),#09080a);
  paint-order:stroke fill;
  text-shadow:none;
  transform-origin:50% 50%;
}
.cash-popup.damage-critical{--damage-color:#ffd04a;font-size:23px}

.actions{flex-wrap:wrap;justify-content:flex-end;max-width:220px;gap:4px}.actions button{padding:9px 8px}
.sound-settings{position:absolute;z-index:16;right:12px;top:calc(85px + env(safe-area-inset-top));width:min(320px,calc(100% - 24px));padding:16px;background:#101b25f5;border:1px solid #597b90;box-shadow:0 8px 30px #0008;touch-action:manipulation;pointer-events:auto}.sound-settings[hidden]{display:none}.sound-settings header{display:flex;align-items:center;justify-content:space-between}.sound-settings header button{font-size:22px;padding:0 8px}.sound-settings p{font-size:11px;color:#9eb4c3;margin:6px 0 18px}.sound-settings button{background:#203444;color:#e2eff6;border:1px solid #536e80;padding:7px 9px}.sound-level-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin:16px 0}.sound-level-row label{grid-column:1/-1;font-size:13px;display:flex;justify-content:space-between}.sound-level-row output{color:#ffd883;font:700 13px monospace}.sound-level-row input{width:100%;margin:0;min-height:30px;accent-color:#ffd06a;touch-action:pan-x}.sound-level-row button{font-size:11px}.sound-settings small{display:block;line-height:1.6;color:#acc5ce;font-size:11px}

.sound-settings{max-height:calc(100dvh - 115px - env(safe-area-inset-top));overflow-y:auto;overscroll-behavior:contain}.casing-sound-library{border-top:1px solid #597b9055;margin-top:18px;padding-top:14px}.casing-sound-library label{display:block;font-size:12px;color:#e2eff6;margin-bottom:10px}.casing-sound-library select{width:100%;min-height:36px;background:#172936;color:#e2eff6;border:1px solid #536e80;font-size:12px;padding:5px}.casing-sound-buttons{display:flex;gap:6px;margin:10px 0}.casing-sound-buttons button{flex:1;font-size:11px}.casing-sound-library small{margin:8px 0 12px}

.boss-health-track{position:relative;overflow:visible}.boss-health-track>#boss-health-fill{transition:none;border-radius:2px}.boss-health-track>#boss-health-edge{position:absolute;top:-4px;width:2px;height:22px;background:#fffdf3;box-shadow:0 0 8px #fff5c9;transform:translateX(-1px);opacity:0}.boss-health-track>#boss-health-drops{position:absolute;inset:0;pointer-events:none}.boss-health-track>#boss-health-drops>i{position:absolute;top:0;height:100%;background:#fff5d7;box-shadow:0 -5px 0 #fff0c929,0 -10px 0 #fff0c914;transition:none;transform-origin:left center}

/* Separate lock controls prevent a lock tap from buying the stock. */
.shop-stock-slot{position:relative;display:flex;flex-direction:column;min-width:0}.shop-stock-slot>.shop-buy{width:100%;flex:1}.shop-purchase-row>.shop-lock{position:static;display:flex;align-items:center;justify-content:center;width:32px;height:43px;min-height:43px;padding:5px;border:1px solid #50606b;border-radius:0;background:#182127;color:#bdc9d0;touch-action:pan-y}.shop-stock-slot.locked .shop-lock{border-color:#fff;background:#fff;color:#111}.shop-purchase-row>.shop-lock:disabled{opacity:.4}

.shop-lock-icon{display:block;flex:none;width:19px;height:19px;pointer-events:none}.shop-lock>span{pointer-events:none}

/* High rarity cards: dark purple/gold, glitter only, including the GPU fallback. */
.shop-quality :is([data-tier="4"],[data-tier="5"]) .shop-item-fx::before,
.shop-quality :is([data-tier="4"],[data-tier="5"]) .shop-item-fx::after{display:none}
.shop-quality [data-tier="4"]:not(:disabled){background:#21152f}
.shop-quality [data-tier="5"]:not(:disabled){background:#302411}

/* Pause controls share the portrait game's cyan plate styling. */
:is(#viewport,.difficulty-transition-cover) .pause-panel{z-index:35;background:#050b12c9;padding:20px;box-sizing:border-box;overflow:auto}
.pause-card{width:min(310px,100%);box-sizing:border-box;padding:28px 22px 18px;border:1px solid #4c8499;background:linear-gradient(145deg,#172733f5,#0b141ff5);box-shadow:0 20px 70px #0008,0 0 30px #57bed914;display:flex;flex-direction:column;gap:24px}
.pause-eyebrow{font-size:10px;letter-spacing:2px;color:#86a6b5}.pause-card #pause-title{font-size:30px;letter-spacing:5px;color:#bcefff}.pause-volume{padding:14px;border:1px solid #35505f;background:#07101a66}.pause-volume-heading{display:flex;align-items:center;gap:10px;font-size:13px}.pause-volume-heading output{margin-left:auto;color:#a5eaff;font-variant-numeric:tabular-nums}.pause-volume input{width:100%;height:32px;margin:8px 0 0;accent-color:#69d9f4;cursor:pointer;touch-action:pan-y}.pause-icon svg,.pause-action svg{width:26px;height:26px;flex-shrink:0}.pause-volume-heading .pause-icon{display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px;background:#162d3c;border:1px solid #486c80;color:#bcefff}.pause-icon.is-muted{opacity:.5}.pause-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pause-actions .pause-action{margin:0;min-height:92px;padding:14px 6px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;font-size:13px;border:1px solid #4d788e;background:#172a39;color:#c9edfa}.pause-actions .primary{background:#64c8e4;color:#07151e;border-color:#a9efff}.pause-action:hover,.pause-icon:hover{filter:brightness(1.16)}.pause-card button:focus-visible,.pause-volume input:focus-visible{outline:2px solid #dbf8ff;outline-offset:4px}.pause-home-note{font-size:11px;color:#91a4b2}.pause-card svg{pointer-events:none}@media(max-height:600px){.pause-card{padding:18px;gap:15px}.pause-actions .pause-action{min-height:76px}}

.pause-actions{grid-template-columns:repeat(2,minmax(0,1fr))}:is(#viewport,.difficulty-transition-cover) .pause-actions .pause-action{min-width:0;width:100%;letter-spacing:0;min-height:92px}

.energy-hud{position:absolute;top:calc(151px + env(safe-area-inset-top));left:14px;z-index:4;padding:5px 9px;border:1px solid #87e9ff66;border-radius:6px;background:#101d31db;color:#87e9ff;font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none}

.normal-time-track{display:none}.survival-clock.normal-timer{top:var(--timer-top,164px);width:min(76%,340px);height:57px;transform:translateX(-50%) scale(var(--timer-scale,1));container-type:normal}.normal-timer #clock-spectrum{display:none}.normal-timer .clock-face{inset:0 0 18px;flex-direction:row;justify-content:space-between;gap:8px}.normal-timer small{font-size:15px;font-weight:800}.normal-timer strong{flex-direction:row;gap:4px}.normal-timer b{font:800 21px/1 monospace;letter-spacing:0}.normal-timer span{font-size:11px;margin:0}.normal-timer .normal-time-track{display:block;position:absolute;bottom:0;left:0;right:0;height:11px;overflow:hidden;border:1px solid #8bcbd06b;border-radius:6px;background:#071820dc;box-shadow:0 2px 9px #0008}.normal-time-track i{display:block;height:100%;background:linear-gradient(90deg,#43bfc2,#b9fff0);transform-origin:left;transform:scaleX(var(--remaining,1))}.normal-timer.urgent .normal-time-track i{background:#ffb477}

.normal-timer .clock-face{display:block}.normal-timer small{position:absolute;left:var(--timer-label-left,0%);top:50%;transform:translate(var(--timer-label-shift,0%),-50%);font-size:var(--timer-label-size,15px);line-height:1.1}.normal-timer strong{position:absolute;right:0;top:50%;transform:translateY(-50%);opacity:var(--timer-number-opacity,1)}

/* Final seconds: blink the complete timer strip; pause holds the visual phase. */
@keyframes deadline-warning{0%,100%{opacity:1;filter:drop-shadow(0 0 5px #ff8855aa)}50%{opacity:.35;filter:none}}
.survival-clock.urgent{animation:deadline-warning .65s ease-in-out infinite}
.paused .survival-clock.urgent{animation-play-state:paused}

.cash-popup.cash-pickup-popup{font:900 20px/1.15 monospace;color:#85ffac;text-shadow:0 2px 2px #082a19,0 0 8px #42ff8666}

.cash-popup.stage-cue-popup{font:900 clamp(44px,12vw,68px)/1 "Microsoft YaHei",sans-serif;color:#fff2ae!important;-webkit-text-stroke:1px #704c12;text-shadow:0 3px 2px #151522,0 0 12px #ffbd4599,0 0 26px #ffbd4544;z-index:4}

/* Clockwise radial cooldown wipe above the player health bar. */
.bomb-cooldown{position:absolute;width:42px;height:42px;z-index:1;pointer-events:none;transform:translate(-50%,-100%);border:1px solid #657b83;border-radius:0;background:#102025;overflow:hidden;box-shadow:0 1px 3px #0009}
.bomb-cooldown[hidden]{display:none}
.bomb-cooldown img{display:block;width:100%;height:100%;padding:3px;box-sizing:border-box}
.bomb-cd-mask{position:absolute;inset:0;background:conic-gradient(from 0deg,transparent 0deg var(--bomb-cd-angle,0deg),#07121de0 var(--bomb-cd-angle,0deg) 360deg)}
.bomb-cooldown.ready{border-color:#9de4c6;box-shadow:0 0 5px #9de4c655}

.bomb-cooldown{opacity:.65}
.cash-popup.bomb-name-popup{font:900 24px/1.2 "Microsoft YaHei",sans-serif;color:#fff2ae!important;letter-spacing:1px;text-shadow:0 2px 2px #102025,0 0 8px #ffd45c99;z-index:3}

.player-avatar-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;color:#cde8df;font-size:13px}.player-avatar-setting select{max-width:65%;padding:7px;border:1px solid #46766a;border-radius:6px;background:#142c2b;color:#d8f7ea;font:inherit}

.cat-emission-setting{display:grid;gap:8px;margin:12px 0;color:#cde8df;font-size:13px}.cat-emission-setting span{display:flex;justify-content:space-between}.cat-emission-setting input{width:100%;accent-color:#9de4c6}

.eye-appearance-settings{margin:10px 0;padding:10px;border:1px solid #46766a;color:#cde8df;font-size:13px}.eye-appearance-settings label{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:8px 0}.eye-appearance-settings input[type=range]{width:100%;accent-color:#9de4c6}.eye-appearance-settings input[type=color]{width:42px;height:28px;border:0;padding:0;background:none}

#pause-panel .pause-card{max-height:calc(100% - 8px);overflow-y:auto;overscroll-behavior:contain;flex-shrink:0}.eye-appearance-settings small{font-size:11px;color:#92afa6}

#perf-header-actions{display:flex;gap:6px}
#perf-panel > header{position:sticky;top:0;background:#0b171b;z-index:1}
