:root{font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;color:#fff;--ink:#29232c;--sand:#eed984;--blue:#242940}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at center,#555344,#282934 75%);display:flex;justify-content:center;overflow:hidden}button{font:inherit;font-weight:900;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;color:inherit}button:focus-visible{outline:4px solid #fff;outline-offset:3px}button:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.65}button:not(:disabled):active{transform:translateY(3px);box-shadow:none}button svg{display:block}button,dialog{border-color:var(--ink)}[hidden]{display:none!important}.game{position:relative;isolation:isolate;width:min(100vw,calc(100dvh * 9 / 16));height:100dvh;max-width:620px;overflow:hidden;background:var(--sand);box-shadow:0 0 80px #0005;container-type:inline-size;user-select:none}.game>canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.outlined{-webkit-text-stroke:1.1px var(--ink);paint-order:stroke fill;text-shadow:0 2px 0 var(--ink);font-weight:1000;letter-spacing:.6px}.hud{position:absolute;top:max(3.5%,env(safe-area-inset-top));left:5%;right:5%;height:46px;display:flex;gap:9px;align-items:center;z-index:10}.toy-button{border:3px solid var(--ink);border-radius:14px;background:#414763;box-shadow:inset 0 3px 0 #fff4,inset 0 -5px 0 #0003,0 3px 0 #211d26;font-weight:1000;text-shadow:0 2px 0 #0006;-webkit-text-stroke:.6px var(--ink);paint-order:stroke fill;transition:transform .1s}.pause-button{width:41px;height:43px;flex-shrink:0;display:grid;place-items:center;padding:0}.coin-pill{height:42px;min-width:99px;border:3px solid var(--ink);border-radius:26px;box-shadow:inset 0 3px 0 #ffffff20,inset 0 -3px 0 #0002;background:#484d68;display:flex;align-items:center;gap:12px;padding:3px 15px 3px 3px}.coin-pill strong{font-size:22px;-webkit-text-stroke:1px var(--ink);paint-order:stroke fill;text-shadow:0 2px 0 var(--ink)}.wave-label{font-size:clamp(18px,5.2cqw,30px);margin-left:auto;white-space:nowrap}.progress-hud{position:absolute;top:11.9%;left:5%;right:5%;height:28px;z-index:5}.xp-track{height:15px;border:3px solid var(--ink);border-radius:5px;background:#7f7444;overflow:hidden}.xp-track>div{background:#08c2f3;box-shadow:inset 0 3px 0 #6deeff;height:100%;width:0;transition:width .2s}.level-badge{position:absolute;right:-1px;top:-10px;background:#2c3455;border:3px solid var(--ink);border-radius:9px;transform:rotate(0);display:grid;place-items:center;width:37px;height:40px;font-size:24px;box-shadow:inset 0 0 0 4px #394364}.progress-hud>#xp-label{font-size:9px;color:#656043;position:absolute;left:4px;top:20px;font-weight:bold;text-shadow:0 1px #fff4}.prep-mode .progress-hud{display:none}.speed-button{position:absolute;left:5%;top:17.5%;padding:4px 12px;font-size:18px;border-radius:20px;height:35px;z-index:5}.prep-screen{position:absolute;inset:12% 0 0;display:flex;flex-direction:column;padding:0 5% 3.5%;gap:0}.prep-title{text-align:center;flex-shrink:0;margin-top:3px}.prep-title h1{font-size:clamp(23px,6.6cqw,38px);margin:0;line-height:1.2;letter-spacing:.8px}.prep-title p{font-size:clamp(10px,2.75cqw,15px);font-weight:bold;margin:9px 0 0;color:#5d3d32}.bag-area{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:33px 23px 22px}.bag-shell{width:83%;max-height:100%;position:relative;background:#b97439;border:3px solid var(--ink);border-radius:18px;padding:16px 12px 12px;box-shadow:inset 0 4px 0 #e8a657,inset 0 -5px 0 #8f5328,0 7px 0 #68432466;isolation:isolate}.bag-shell:before,.bag-shell:after{content:"";position:absolute;bottom:9%;width:20px;height:48%;background:#9e5b2f;border:3px solid var(--ink);border-radius:14px;z-index:-2}.bag-shell:before{left:-17px;transform:rotate(6deg)}.bag-shell:after{right:-17px;transform:rotate(-6deg)}.bedroll{position:absolute;top:-26px;left:9%;right:9%;height:37px;border:3px solid var(--ink);background:repeating-linear-gradient(90deg,#2e9b97 0 13px,#6fe2d3 13px 38px,#237e7f 38px 42px,#6fe2d3 42px 70px);border-radius:11px;z-index:-1;box-shadow:inset 0 4px 0 #a8f3d3}.bag-flap{position:absolute;width:41%;height:35px;top:-31px;left:30%;border-radius:40% 40% 45% 45%;background:#f6dc76;border:3px solid var(--ink);box-shadow:inset 0 -5px 0 #caa74f;display:grid;place-items:center}.bag-flap span{color:#a8772a;font-size:23px;text-shadow:0 1px #fff8}.inventory{position:relative;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));grid-template-rows:repeat(var(--rows,3),minmax(0,1fr));gap:7px;aspect-ratio:var(--cols,3)/var(--rows,3);width:100%;touch-action:none}.cell{background:#dfcda7;border-radius:13px;box-shadow:inset 0 2px 0 #f6e6bd;min-width:0;min-height:0}.cell.target{background:#fbe783;box-shadow:inset 0 0 0 3px #e08a18}.inventory-item{position:absolute;border:2px solid #3b353e;background:linear-gradient(140deg,var(--weapon),color-mix(in srgb,var(--weapon) 65%,#111));border-radius:12px;z-index:2;display:grid;place-items:center;padding:1px;box-shadow:inset 0 3px 0 #ffffff65,inset 0 -4px 0 #0003,0 2px 0 #0003;touch-action:none;overflow:hidden}.inventory-item .weapon-art{height:92%;width:92%;filter:drop-shadow(0 2px 0 #0002)}.inventory-item.selected,.stash-item.selected{outline:3px solid #ffe450;outline-offset:0}.rank{position:absolute;bottom:3px;right:4px;font-size:11px;-webkit-text-stroke:.8px var(--ink);paint-order:stroke fill;text-shadow:0 1px var(--ink)}.capacity{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:10px;color:#67422d;white-space:nowrap;font-weight:bold;background:#e8c28b;border:2px solid #67422d;padding:1px 7px;border-radius:8px}.expand-button{position:absolute;right:0;bottom:22px;width:46px;height:54px;background:#f9b52b;border-radius:11px;padding:0}.expand-button>span{font-size:35px;line-height:.9}.expand-button small{display:block;font-size:10px;color:#fff}.item-info{height:56px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#533a32;font-size:12px;font-weight:bold;text-align:center;margin-top:2px}.item-info>div{display:flex;gap:5px}.item-info button{border:2px solid #5a4037;border-radius:7px;background:#f0cf96;color:#54392f;font-size:10px;padding:5px 9px;box-shadow:inset 0 2px #fff5;min-height:27px}.stash-section{position:relative;flex-shrink:0;min-height:115px;height:22%;max-height:160px;padding:9px 0 0}.stash-label{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:9px;font-weight:900;color:#593f34}.stash-label small{font-size:8px;font-weight:bold;color:#765643}.stash{display:flex;align-items:center;gap:10px;height:calc(100% - 20px);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#8e613f transparent;padding:6px 3px 3px;touch-action:pan-x;min-height:91px}.stash-item{position:relative;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;width:calc(100% / 3 - 7px);height:100%;flex-shrink:0;padding:4px 4px 0;border-radius:12px;touch-action:none}.stash-item .weapon-art{height:calc(100% - 19px);min-height:55px;width:100%;max-width:92px;filter:drop-shadow(2px 3px 0 #0002)}.stash-item>span:not(.rank){font-size:10px;color:#fff4df;-webkit-text-stroke:.8px var(--ink);paint-order:stroke fill;letter-spacing:.3px}.stash-item .rank{right:10px;bottom:23px;color:#fff5b9;background:#49394d;border:2px solid var(--ink);border-radius:5px;padding:1px 4px;font-size:9px}.empty-stash{position:absolute;top:40px;left:10%;right:10%;text-align:center;font-size:11px;line-height:1.5;color:#795440;pointer-events:none}.prep-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px;flex-shrink:0;height:64px}.prep-controls .toy-button{font-size:clamp(14px,4.2cqw,23px);padding:8px 3px;border-radius:14px;border-width:3px;line-height:1}.toy-button small{display:block;font-size:7px;letter-spacing:.4px;margin-top:7px;-webkit-text-stroke:0;text-shadow:0 1px #0004}.cyan{background:#04bee8}.green{background:#2ed83a}.yellow{background:#ffbd13}.battle-bottom{position:absolute;bottom:0;left:0;right:0;z-index:3;background:#bd9075;padding:8px 7% 3%;border-top:4px solid var(--ink);height:17%}.battle-meta{position:absolute;top:-39px;left:6%;right:6%;display:flex;justify-content:space-between;align-items:center;font-size:20px}.battle-meta #kills{font-size:15px}.hp-track{position:absolute;top:-12px;left:7%;right:7%;height:20px;border:3px solid var(--ink);border-radius:7px;background:#286242;box-shadow:0 2px 0 #171a26}.hp-track>div{height:100%;background:#24e148;box-shadow:inset 0 3px 0 #a2f6a4;transition:width .15s}.combat-gear{display:flex;justify-content:center;gap:10px;height:100%;padding-top:13px;overflow-x:auto;scrollbar-width:none}.gear-slot{flex-shrink:0;position:relative;border:3px solid var(--ink);border-radius:17px;background:#19c73e;aspect-ratio:1/1;height:min(100%,78px);min-height:42px;overflow:hidden;box-shadow:inset 0 4px 0 #80ef69,inset 0 -5px 0 #129332}.gear-slot .weapon-art{width:100%;height:100%;padding:5px;position:relative;z-index:2}.gear-cooldown{position:absolute;inset:0;background:#102129aa;transform-origin:bottom;pointer-events:none;z-index:3}.gear-slot .rank{z-index:4}.skill-screen{position:absolute;inset:0;background:#201f24b3;z-index:20;display:flex;flex-direction:column;align-items:center;padding:19% 6% 8%;backdrop-filter:blur(1px)}.level-celebration{color:#ffde42;font-size:20px;letter-spacing:2px}.skill-screen h2{font-size:clamp(29px,8.3cqw,48px);margin:12px -5% 0;line-height:1.1;white-space:nowrap;-webkit-text-stroke:2px var(--ink);text-shadow:0 3px var(--ink)}.skill-intro{font-weight:bold;font-size:11px;color:#e6dfc7;margin:13px 0 0}.skill-choices{width:100%;display:flex;flex-direction:column;gap:clamp(20px,5cqh,45px);margin-top:clamp(32px,7cqh,65px);flex:1;justify-content:center;padding-bottom:8px}.skill-card{position:relative;text-align:left;display:flex;align-items:center;width:92%;margin-left:8%;min-height:100px;padding:13px 13px 13px 52px;background:linear-gradient(#38df07,#29b407);border:3px solid var(--ink);border-radius:0 0 16px 0;box-shadow:inset 0 3px 0 #8cff4b,inset 0 -5px 0 #1c8c1e,0 4px 0 #0003;color:#fff}.skill-card.blue{background:linear-gradient(#06cbff,#0088ee);box-shadow:inset 0 3px 0 #67e8ff,inset 0 -5px 0 #0865c0,0 4px 0 #0003}.skill-card .skill-icon{position:absolute;left:-36px;top:-15px;width:79px;height:91px;border:3px solid #224c31;border-radius:13px;background:linear-gradient(140deg,#4cf416,#36b908);box-shadow:inset 0 3px 0 #b1ff97,0 4px 0 #12502c;display:grid;place-items:center}.skill-card.blue .skill-icon{background:linear-gradient(140deg,#18ddff,#00a9e8);border-color:#115173;box-shadow:inset 0 3px 0 #a9f6ff,0 4px 0 #16516f}.skill-icon svg{width:62px;height:73px;filter:drop-shadow(0 2px 0 #0002)}.skill-card strong{font-size:clamp(17px,4.8cqw,26px);line-height:1.2;-webkit-text-stroke:1px var(--ink);paint-order:stroke fill;text-shadow:0 2px var(--ink)}.skill-card small{display:block;margin-top:9px;font-size:10px;line-height:1.3;font-weight:bold;color:#f2ffe1;text-shadow:0 1px #184331}.skill-card .skill-value{color:#ffed41;display:block;font-size:1.06em;margin-top:4px}.skills-left{font-size:18px;margin:13px 0 7px}.skill-paused{font-size:10px;color:#dad3b8;text-shadow:0 1px #222}.toast{position:absolute;left:7%;right:7%;bottom:20%;padding:12px 15px;background:#fff1c9;color:#503a34;border:3px solid var(--ink);border-radius:13px;text-align:center;font-size:12px;font-weight:900;line-height:1.4;box-shadow:0 4px 0 #0003;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .15s,transform .15s;z-index:30}.toast.show{opacity:1;transform:translateY(0)}dialog{position:absolute;inset:0;margin:auto;border:4px solid var(--ink);border-radius:20px;background:#bc8e70;color:#fff;width:90%;max-height:85%;padding:22px;box-shadow:inset 0 4px 0 #e7c095,0 10px 0 #0004;overflow-y:auto;font-size:13px}dialog::backdrop{background:#202024b3}dialog h2{font-size:28px;text-align:center;margin:0 0 16px}dialog p{line-height:1.6;font-size:12px;color:#46332f;font-weight:bold}dialog .toy-button{width:100%;padding:12px;font-size:18px;min-height:48px;margin-top:10px}dialog .dialog-actions{display:flex;gap:8px}dialog .dialog-actions .toy-button{font-size:13px}.shop-grid{display:flex;gap:8px;margin:20px -8px 8px}.shop-card{min-width:0;flex:1;border:3px solid var(--ink);border-radius:11px;padding:8px 5px;background:#dfbc8d;display:flex;flex-direction:column;align-items:center;text-align:center}.shop-card>.weapon-art{width:100%;height:85px}.shop-card h3{font-size:12px;color:#3c2b2d;margin:8px 0;min-height:28px}.shop-card .toy-button{font-size:14px;padding:8px 2px;min-height:40px;margin-top:auto}.shop-card .toy-button small{font-size:10px;margin:0}.shop-card .size{font-size:9px;color:#6f4c36;margin-bottom:8px}.skill-list{padding:0;list-style:none;color:#493532;font-size:12px;line-height:1.8}.skill-list li{border-bottom:1px solid #8c5c3d;padding:7px 0}.paused-stamp{position:absolute;z-index:6;top:43%;left:0;right:0;text-align:center;pointer-events:none;font-size:45px}.drag-ghost{position:fixed;z-index:100;pointer-events:none;background:#dfc478dd;border:3px solid #ffe453;outline:2px solid #604832;border-radius:12px;display:grid;place-items:center;box-shadow:0 12px 20px #0005}.drag-ghost .weapon-art{width:90%;height:90%}.dragging{opacity:.25}.mergeable{animation:glow .7s ease-in-out infinite alternate}.stash-section.drop-target{background:#ffeb9f66;border-radius:10px}.game.skill-mode .hud,.game.skill-mode .progress-hud{z-index:21;pointer-events:none}.game.skill-mode .progress-hud #xp-label{color:#e8d9b6}.game.skill-mode .wave-label{opacity:.6}.save-note{font-size:9px;text-align:center;color:#6b4735;margin:10px 0 0}.menu-sound{display:flex;justify-content:center}.menu-sound svg{width:25px;height:25px}.help-list{padding-left:18px;line-height:1.7;color:#48312b;font-size:12px;font-weight:bold}.help-list li{margin-bottom:8px}@keyframes glow{to{filter:drop-shadow(0 0 5px #ffef7f);border-color:#fff5a2}}@media(max-height:730px){.hud{top:3%;height:38px}.pause-button{width:36px;height:37px}.coin-pill{height:37px;min-width:88px}.coin-pill strong{font-size:19px}.prep-title h1{font-size:23px}.prep-title p{font-size:10px;margin-top:6px}.bag-area{padding-top:29px;padding-bottom:20px}.bag-shell{width:72%;padding:12px 10px 10px}.item-info{height:49px;font-size:10px}.stash-section{min-height:93px;height:20%}.stash{min-height:72px}.prep-controls{height:54px;margin-top:7px}.prep-controls .toy-button{font-size:15px}.prep-controls .toy-button small{font-size:6px;margin-top:5px}.skill-screen{padding-top:18%;padding-bottom:7%}.skill-screen h2{font-size:29px}.level-celebration{font-size:17px}.skill-choices{gap:25px;margin-top:25px}.skill-card{min-height:84px;padding-left:45px}.skill-card strong{font-size:17px}.skill-card small{font-size:9px;margin-top:5px}.skill-card .skill-icon{width:68px;height:78px;left:-31px;top:-9px}.skill-icon svg{width:52px;height:62px}.skills-left{font-size:15px}.stash-label{font-size:8px}.stash-label small{font-size:7px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.skill-screen{padding-top:18dvh;padding-bottom:6dvh}.wave-label,.prep-title h1{-webkit-text-stroke:2px var(--ink)}.skill-card strong{-webkit-text-stroke:1.8px var(--ink)}#health-label{display:flex;align-items:center;gap:5px}#health-label svg{width:26px;height:29px;filter:drop-shadow(0 2px 0 #0004)}@media(max-height:730px){.skill-screen{padding-top:18dvh;padding-bottom:5dvh}}
.inventory-item.rotated .weapon-art,.stash-item.rotated .weapon-art{transform:rotate(90deg)}#stash-scroll{display:flex;gap:5px}#stash-scroll button{background:#e3be8d;color:#5c3a2e;border:2px solid #704e38;border-radius:6px;font-size:20px;line-height:20px;padding:0 8px}

/* PNG sprites share a single atlas in the bag, shop, skills, drag and combat. */
.weapon-art{display:flex;align-items:center;justify-content:center;container-type:size;width:100%;height:100%;pointer-events:none;flex-shrink:0}
.weapon-sprite{display:block;flex-shrink:0;width:min(100cqw,calc(100cqh * var(--sprite-ratio)));aspect-ratio:var(--sprite-ratio);background-image:url('./assets/weapons/weapons-v1-af0a4784d067.webp');background-repeat:no-repeat;pointer-events:none}
.skill-icon .weapon-art{width:62px;height:73px;filter:drop-shadow(0 2px 0 #0002)}
@media(max-height:730px){.skill-icon .weapon-art{width:52px;height:62px}}

/* Hand-painted PNG interface icons share the same warm gold and teal palette. */
.ui-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;container-type:size;vertical-align:-.15em;flex-shrink:0;pointer-events:none}
.ui-icon>span{display:block;flex-shrink:0;width:min(100cqw,calc(100cqh * var(--icon-ratio)));aspect-ratio:var(--icon-ratio);background-image:url('./assets/ui/interface-v1-e0f3e9c8bf0e.webp');background-repeat:no-repeat}
.pause-button{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#57c4b7,#267e7e);border-color:#3d3433;box-shadow:inset 0 2px 0 #b5f1d8,inset 0 -4px 0 #1e6267,0 3px 0 #4e3b32}
.pause-button .ui-icon{width:25px;height:28px}
.hud-coin{display:flex;align-items:center;justify-content:center}
.hud-coin .ui-icon{width:32px;height:32px;filter:drop-shadow(0 1px 0 #261c2b70)}
.coin-pill{gap:8px;padding-left:3px}
.currency{display:inline-flex;align-items:center;justify-content:center;gap:.25em;white-space:nowrap;vertical-align:middle}
.currency>.ui-coin{width:1.35em;height:1.35em}
#rotate{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:2px 7px;min-height:32px;background:linear-gradient(#f9e3ad,#e9bc72);border-radius:9px;font-size:10px;line-height:1.1;box-shadow:inset 0 2px #fff8,0 2px #79513955}
#rotate>.ui-icon{width:25px;height:25px}
.item-info>div{align-items:center}.item-info button{min-height:32px}
.skill-icon>.ui-coins{width:65px;height:70px;filter:drop-shadow(0 2px 0 #0002)}
@media(max-height:730px){.pause-button{width:38px;height:38px}.pause-button .ui-icon{width:23px;height:25px}.hud-coin .ui-icon{width:28px;height:28px}.skill-icon>.ui-coins{width:55px;height:60px}}

/* Fit every equipped weapon, including a full 4×4 bag, inside the combat tray. */
.battle-bottom{height:14%;padding:6px 5% 2%}
.combat-gear{display:grid;grid-template-columns:repeat(var(--gear-cols,4),var(--gear-size,48px));grid-auto-rows:var(--gear-size,48px);gap:6px;align-content:center;justify-content:center;padding:12px 0 0;overflow:visible;min-height:0}
.gear-slot{width:100%;height:100%;min-height:0;aspect-ratio:1;border-width:2px;border-radius:11px}
.gear-slot .weapon-art{padding:3px}.gear-slot .rank{font-size:var(--gear-rank,10px);bottom:2px;right:3px;-webkit-text-stroke:.6px var(--ink)}

/* Nine-slice PNG frame: the leather face stretches as slots are unlocked,
   while the roll, buckles and outer corners retain their own dimensions. */
.bag-shell{--bag-top:clamp(42px,12cqw,65px);--bag-side:clamp(27px,8cqw,42px);--bag-bottom:clamp(27px,8cqw,42px);padding:8px;border:0;border-radius:0;background:none;box-shadow:none;max-height:none}
.bag-shell:before{content:"";position:absolute;inset:calc(-1 * var(--bag-top)) calc(-1 * var(--bag-side)) calc(-1 * var(--bag-bottom));width:auto;height:auto;bottom:calc(-1 * var(--bag-bottom));border-style:solid;border-color:transparent;border-width:var(--bag-top) var(--bag-side) var(--bag-bottom);border-image:url('./assets/backpack/backpack-v1-4285b147df3b.webp') 320 240 210 240 fill / var(--bag-top) var(--bag-side) var(--bag-bottom) / 0 stretch;background:none;border-radius:0;box-shadow:none;transform:none;z-index:-1;pointer-events:none}
.bag-shell:after{content:none}.bedroll,.bag-flap{display:none}
.inventory .cell{background:linear-gradient(145deg,#ead9af,#dcc594);border:1px solid #f6e7c3;box-shadow:inset 0 2px 2px #fff6,inset 0 -2px 2px #b5936155}
.inventory .cell.target{background:#fbe783;box-shadow:inset 0 0 0 3px #e08a18}
.bag-shell .capacity{bottom:calc(-1 * var(--bag-bottom) - 16px);background:#e7c99a;border-color:#765036;color:#65422e;z-index:1}
@media(max-height:730px){.bag-shell{padding:8px}}

/* All eleven skills use their own painted PNG icons, including the HUD heart. */
.skill-art{display:inline-flex;align-items:center;justify-content:center;container-type:size;width:100%;height:100%;flex-shrink:0;pointer-events:none;vertical-align:middle}
.skill-sprite{display:block;flex-shrink:0;width:min(100cqw,calc(100cqh * var(--skill-ratio)));aspect-ratio:var(--skill-ratio);background-image:url('./assets/skills/skills-v1-8cdaf7f90c72.webp');background-repeat:no-repeat}
.skill-icon>.skill-art{width:64px;height:73px;filter:drop-shadow(0 2px 0 #0003)}
#health-label>.skill-art{width:26px;height:29px;filter:drop-shadow(0 2px 0 #0004)}
@media(max-height:730px){.skill-icon>.skill-art{width:54px;height:62px}}

/* Keep pocket art out of the vertically stretched side bands of the frame.
   Each pocket reuses an unmodified PNG region at its natural aspect ratio. */
.bag-shell:before{clip-path:polygon(0 0,100% 0,100% var(--bag-top),calc(100% - var(--bag-side) + 3px) var(--bag-top),calc(100% - var(--bag-side) + 3px) 100%,calc(var(--bag-side) - 3px) 100%,calc(var(--bag-side) - 3px) var(--bag-top),0 var(--bag-top))}
.bag-pocket{position:absolute;top:50%;width:calc(var(--bag-side) + 6px);aspect-ratio:220/435;transform:translateY(-50%);background-image:url('./assets/backpack/backpack-v1-4285b147df3b.webp');background-repeat:no-repeat;background-size:570% 288.275862%;background-position:var(--pocket-x) 51.282051%;z-index:-2;pointer-events:none}
.bag-pocket-left{left:calc(-1 * var(--bag-side));--pocket-x:1.160542%}
.bag-pocket-right{right:calc(-1 * var(--bag-side));--pocket-x:99.032882%}

/* Special-wave notices stay at the edge of the arena. */
.prep-title .special-prep{font-size:clamp(9px,2.5cqw,13px);line-height:1.35;margin:7px auto 0;max-width:96%;color:#5f3824;background:#ffe8acb8;border:1px solid #ad794b;border-radius:8px;padding:5px 7px}
.special-status{position:absolute;top:17.5%;right:5%;max-width:57%;padding:5px 9px;border:2px solid #35333b;border-radius:12px;background:#34374de8;color:var(--special-color);font-weight:900;font-size:clamp(8px,2.5cqw,13px);z-index:5;pointer-events:none;text-align:center}

/* A held item stays under the pointer while the reserve scrolls underneath. */
.stash-drag-edge{position:absolute;z-index:4;top:29px;bottom:6px;width:29px;display:grid;place-items:center;pointer-events:none;border-radius:10px;background:linear-gradient(90deg,#efd28edb,#d5ab6755);border:1px solid #86604066;box-shadow:0 2px #573f3733;opacity:.8}.stash-drag-left{left:0}.stash-drag-right{right:0;transform:none;background:linear-gradient(270deg,#efd28edb,#d5ab6755)}.stash-drag-edge.edge-active{background:#b6e8a5ec;border-color:#5b885a;opacity:1}.stash-drag-edge .game-chevron{width:20px;height:20px}.stash-drag-hint{position:absolute;z-index:5;left:50%;top:-15px;transform:translateX(-50%);padding:4px 8px;border:1px solid #987748;border-radius:7px;color:#60432f;background:#f4dfb8f5;font-size:8px;font-weight:900;white-space:nowrap;pointer-events:none}.stash-item.merge-target,.inventory-item.merge-target{outline:3px solid #c7ff9a;background:#b5f08a33;box-shadow:0 0 9px #ddffa766}
