:root{--ink:#2b2016;--paper:#fdf3d8;--coral:#e2543e;--gold:#f2c14e;--leaf:#41c46f;--sky:#3f8fe0;--plum:#c94fd8;--card-border:3px solid var(--ink);font-family:Trebuchet MS,Segoe UI,Verdana,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{-webkit-user-select:none;user-select:none;touch-action:none;background:#151923;width:100%;height:100%;overflow:hidden}#game-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hidden{display:none!important}#hud{pointer-events:none;color:var(--ink);font-weight:700;position:absolute;inset:0}#xp-bar{background:#2b201659;height:14px;position:absolute;top:0;left:0;right:0}#xp-fill{background:linear-gradient(90deg, var(--leaf), #8ee6a8);width:0%;height:100%;transition:width .15s ease-out}#level-badge{background:var(--gold);border:var(--card-border);border-radius:999px;padding:4px 12px;font-size:14px;position:absolute;top:18px;left:12px;box-shadow:0 3px #2b201673}#hud-top{align-items:center;gap:16px;display:flex;position:absolute;top:20px;left:50%;transform:translate(-50%)}#hp-wrap{border:var(--card-border);background:#fdf3d8e0;border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 6px;display:flex}#hp-bar{border:2px solid var(--ink);background:#d8c8ab;border-radius:999px;width:150px;height:14px;overflow:hidden}#hp-fill{background:linear-gradient(90deg, var(--coral), #f08a6d);width:100%;height:100%;transition:width .12s linear}#hp-text{text-align:right;min-width:58px;font-size:13px}#timer-wrap{border:var(--card-border);background:#fdf3d8e0;border-radius:999px;flex-direction:column;align-items:center;padding:5px 16px;line-height:1.1;display:flex}#timer-value{letter-spacing:1px;font-size:20px}#phase-label{opacity:.75;font-size:11px}#run-stats{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:18px;right:14px}#kill-count,#coin-count{border:var(--card-border);background:#fdf3d8e0;border-radius:999px;padding:4px 12px;font-size:14px}#coin-count{color:#8a6a10}#weapon-slots{gap:8px;display:flex;position:absolute;bottom:14px;left:12px}.weapon-slot{border:var(--card-border);background:#fdf3d8e6;border-radius:12px;align-items:center;gap:7px;min-width:76px;padding:5px 9px;font-size:12px;font-weight:700;display:flex;box-shadow:0 3px #2b201666}.weapon-slot .slot-text{flex-direction:column;line-height:1.15;display:flex}.item-icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 3px 2px #2b201659);image-rendering:auto}.weapon-slot .item-icon{flex-shrink:0;width:30px;height:30px}.modifier-chip{align-items:center;gap:4px;display:inline-flex}.modifier-chip .item-icon{width:16px;height:16px}.upgrade-card .item-icon{width:92px;height:92px;margin:0 auto 6px;display:block}.shop-item .item-icon{flex-shrink:0;width:54px;height:54px}#pause-inventory{border:var(--card-border);background:#fdf3d8f0;border-radius:16px;flex-direction:column;gap:12px;width:min(560px,92vw);max-height:44vh;margin-bottom:16px;padding:12px 16px;display:flex;overflow-y:auto;box-shadow:0 5px #2b201673}.inv-group h3{letter-spacing:1.5px;text-transform:uppercase;color:var(--coral);margin-bottom:8px;font-size:13px}.inv-cards{flex-wrap:wrap;gap:8px;display:flex}.inv-empty{opacity:.65;font-size:13px;font-style:italic;font-weight:500}.pause-item{background:var(--paper);border:2px solid #2b2016bf;border-radius:12px;align-items:center;gap:8px;padding:6px 12px 6px 6px;display:flex;box-shadow:0 3px #2b201659}.pause-item .item-icon{flex-shrink:0;width:48px;height:48px}.pause-item strong{font-size:13px;line-height:1.2;display:block}.pips{gap:3px;margin-top:4px;display:inline-flex}.pips i{background:#2b201624;border:1.5px solid #2b20168c;border-radius:50%;width:9px;height:9px}.pips i.on{background:var(--coral);border-color:var(--ink)}.weapon-slot small{opacity:.7;font-weight:400;display:block}#modifier-slots{flex-direction:column;gap:4px;display:flex;position:absolute;bottom:76px;left:12px}.modifier-chip{border:2px solid var(--ink);color:var(--ink);background:#41c46feb;border-radius:999px;width:fit-content;padding:3px 9px;font-size:11px;font-weight:800;box-shadow:0 2px #2b201666}#boss-banner{background:var(--coral);color:var(--paper);border:var(--card-border);letter-spacing:1px;text-shadow:2px 2px #2b201680;border-radius:16px;padding:14px 34px;font-size:clamp(18px,4vw,30px);font-weight:900;animation:.45s cubic-bezier(.2,1.6,.4,1) banner-in;position:absolute;top:26%;left:50%;transform:translate(-50%)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%)scale(.4)}to{opacity:1;transform:translate(-50%)scale(1)}}#boss-hp{text-align:center;width:min(420px,70vw);position:absolute;top:64px;left:50%;transform:translate(-50%)}#boss-name{color:var(--paper);text-shadow:1px 1px 0 var(--ink);font-size:13px}#boss-hp-bar{border:3px solid var(--ink);background:#fdf3d880;border-radius:999px;height:12px;overflow:hidden}#boss-hp-fill{background:linear-gradient(90deg, #8a1030, var(--coral));width:100%;height:100%;transition:width .15s linear}#damage-vignette{opacity:0;transition:opacity .4s ease-out;position:absolute;inset:0;box-shadow:inset 0 0 120px 40px #e2543e8c}#journal-toast{background:var(--paper);border:var(--card-border);border-radius:12px;max-width:300px;padding:10px 14px;font-size:13px;animation:.4s ease-out banner-in;position:absolute;bottom:84px;right:14px;box-shadow:0 4px #2b201666}#journal-toast strong{color:var(--coral);display:block}#controls-hint{border:var(--card-border);max-width:min(620px,100vw - 32px);color:var(--ink);text-align:center;pointer-events:auto;z-index:3;background:#fdf3d8f5;border-radius:12px;align-items:center;gap:10px;padding:9px 12px 9px 16px;font-size:13px;line-height:1.35;display:flex;position:absolute;bottom:76px;left:50%;transform:translate(-50%);box-shadow:0 4px #2b201666}#controls-hint-dismiss{width:26px;height:26px;color:var(--ink);cursor:pointer;background:#2b20161a;border:0;border-radius:50%;flex:none;font-size:20px;line-height:1}#touch-controls{pointer-events:none;position:absolute;inset:0}#touch-stick,#touch-aim{pointer-events:auto;background:#2b201640;border:3px solid #fdf3d880;border-radius:50%;width:118px;height:118px;position:absolute;bottom:26px}#touch-stick{left:22px}#touch-aim{right:108px}#touch-knob,#aim-knob{border:3px solid var(--ink);background:#fdf3d8bf;border-radius:50%;width:52px;height:52px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#dash-button{border:var(--card-border);background:var(--gold);pointer-events:auto;border-radius:50%;width:74px;height:74px;font-size:14px;font-weight:900;position:absolute;bottom:40px;right:22px;box-shadow:0 4px #2b201673}.overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--paper);text-align:center;background:#1519238c;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay h1{letter-spacing:2px;color:var(--gold);text-shadow:4px 4px 0 var(--ink), 8px 8px 0 #e2543e99;font-size:clamp(38px,9vw,72px);font-weight:900}.overlay h2{color:var(--gold);text-shadow:3px 3px 0 var(--ink);font-size:clamp(26px,5vw,40px);font-weight:900}.tagline{opacity:.92;font-size:clamp(14px,2.5vw,19px);font-style:italic}.overlay-sub{opacity:.85}.button-column{flex-direction:column;gap:10px;width:min(320px,84vw);display:flex}.overlay button{color:var(--ink);background:var(--paper);border:var(--card-border);cursor:pointer;border-radius:14px;padding:12px 20px;font-family:inherit;font-size:17px;font-weight:800;transition:transform 80ms ease-out,box-shadow 80ms ease-out;box-shadow:0 4px #2b20168c}.overlay button:hover{transform:translateY(-2px)}.overlay button:active{transform:translateY(2px);box-shadow:0 1px #2b20168c}#title-start-button,#new-game-button,#setup-start-button{background:var(--coral);color:var(--paper);font-size:22px}#title-start-button{padding:16px 24px;font-size:clamp(22px,3vw,28px)}#settings-quit-button{background:#d8c8ab}.camera-picker{justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.camera-picker button{border-radius:10px;padding:8px 12px;font-size:14px}.camera-picker button.active{background:var(--leaf)}.story-screen{z-index:5;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:radial-gradient(circle at 14% 18%,#f2c14e2e,#0000 25%),#11141cd6}.story-sheet{background:var(--paper);width:min(1050px,100%);max-height:100%;color:var(--ink);border:4px solid var(--ink);text-align:left;border-radius:18px;padding:clamp(16px,3vw,28px);animation:.32s cubic-bezier(.2,1.25,.4,1) story-sheet-in;overflow-y:auto;box-shadow:8px 9px #e2543ef2,13px 14px #0000006b}.story-heading{text-align:center;justify-items:center;gap:3px;margin-bottom:clamp(12px,2.4vh,22px);display:grid}.story-series{background:var(--gold);border:2px solid var(--ink);letter-spacing:1.5px;border-radius:999px;padding:5px 10px 4px;font-size:11px;font-weight:900}.story-heading h2{color:var(--ink);text-shadow:2px 2px #f2c14ecc;margin-top:5px;font-size:clamp(24px,4vw,39px);line-height:1.02}.story-heading p{opacity:.7;font-size:13px;font-weight:700}.story-layout{grid-template-columns:minmax(0,1.55fr) minmax(220px,.75fr);align-items:stretch;gap:clamp(14px,2.6vw,26px);display:grid}.story-art{aspect-ratio:2;border:4px solid var(--ink);isolation:isolate;background-color:#26324a;border-radius:9px;width:100%;position:relative;overflow:hidden;box-shadow:0 5px #2b20163d}.story-art-image{object-fit:fill;pointer-events:none;width:100%;height:300%;transition:transform .38s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;left:0;transform:translateY(0)}.story-art[data-panel="2"] .story-art-image{transform:translateY(-33.3333%)}.story-art[data-panel="3"] .story-art-image{transform:translateY(-66.6667%)}.story-art:after{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 80% 70%,#ffeaaa29,#0000 35%);position:absolute;inset:0}.story-narration{flex-direction:column;justify-content:center;gap:12px;padding:16px 6px;display:flex}.story-narration.story-reveal{animation:.26s ease-out both story-copy-in}.story-beat{color:#b64031;letter-spacing:1px;font-size:12px;font-weight:1000}.story-narration p{font-size:clamp(18px,2.25vw,25px);font-weight:800;line-height:1.35}.story-progress{gap:7px;margin-top:4px;display:flex}.story-dot{border:2px solid var(--ink);background:#2b201626;border-radius:50%;width:10px;height:10px}.story-dot.active{background:var(--coral);border-radius:999px;width:26px;transition:width .2s ease-out}.story-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:clamp(14px,2.6vh,24px);display:flex}.story-actions button{min-height:48px;padding:10px 18px;font-size:15px}.story-actions .story-skip{box-shadow:none;color:#2b2016ad;background:0 0;border-color:#0000;padding-inline:8px;font-size:13px}.story-actions .story-skip:hover{color:var(--ink);text-decoration:underline}.story-actions .story-next{background:var(--coral);min-width:min(230px,62vw);color:var(--paper)}.story-actions button:focus-visible{outline:3px solid var(--sky);outline-offset:3px}@keyframes story-sheet-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes story-copy-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.story-layout{grid-template-columns:minmax(0,1fr);gap:8px}.story-narration{gap:7px;padding:8px 3px 0}.story-actions{margin-top:12px}}@media (width<=420px){.story-screen{padding-inline:10px}.story-sheet{border-width:3px;padding:13px;box-shadow:5px 6px #e2543ef2,9px 10px #0000006b}.story-actions button{padding-inline:12px;font-size:13px}}@media (prefers-reduced-motion:reduce){.story-sheet,.story-narration.story-reveal{animation:none}.story-art-image{transition:none}}#menu-stats{opacity:.75;font-size:13px}.title-screen{background:radial-gradient(circle at 50% 120%,#e2543e38,#0000 55%),#15192399}.hub-title{font-size:clamp(30px,6vw,48px)}.setup-group{width:min(760px,94vw)}.setup-group h3{letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);text-shadow:1px 1px 0 var(--ink);margin-bottom:8px;font-size:13px}.card-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.hero-detail{border:var(--card-border);background:var(--paper);color:var(--ink);text-align:center;border-radius:12px;margin-top:10px;padding:8px 12px;font-size:13px;line-height:1.3}.hero-detail p{margin:2px 0 6px}.hero-traits{flex-wrap:wrap;justify-content:center;gap:5px;list-style:none;display:flex}.hero-traits li{border:2px solid var(--ink);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.hero-traits .trait-good{background:#bfe8b9}.hero-traits .trait-bad{background:#f4b9ad}.select-card{background:var(--paper);border:3px solid var(--ink);border-radius:12px;flex-direction:column;padding:0;display:flex;overflow:hidden;box-shadow:0 4px #2b20168c}.select-card img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;background:#26324a;width:100%;display:block}.card-row .select-card{width:108px}.card-row .select-card img{aspect-ratio:300/383}.card-grid .select-card{min-width:0}.card-grid .select-card img{aspect-ratio:640/400}.select-card .card-caption{flex-direction:column;gap:1px;padding:5px 6px 6px;font-size:12px;line-height:1.15;display:flex}.select-card .card-caption small{opacity:.65;font-size:10px;font-weight:600}.card-grid .select-card .card-caption{padding:5px 4px 6px;font-size:11px}.select-card.active{background:var(--gold);box-shadow:0 0 0 3px var(--gold), 0 5px 0 #2b201699}.setup-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;display:flex}.setup-actions button{min-width:min(240px,70vw)}@media (width<=760px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-actions{z-index:2;background:#151923b8;border-radius:14px;padding:8px;position:sticky;bottom:10px}}@media (width<=480px){.card-row .select-card{width:92px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dmg-number{color:var(--gold);text-shadow:-2px 0 var(--ink), 2px 0 var(--ink), 0 -2px var(--ink), 0 2px var(--ink);pointer-events:none;will-change:transform, opacity;font-size:15px;font-weight:900;position:absolute;top:0;left:0}.dmg-number.dmg-crit{color:#ff4b3a}.dmg-number.dmg-ice{color:#8ec8e8}.dmg-number.dmg-burn{color:#d2622a}.dmg-number.dmg-heal{color:#6ae68a}.threat-arrow{color:#ff5a42;text-shadow:-2px 0 var(--ink), 2px 0 var(--ink), 0 -2px var(--ink), 0 2px var(--ink);pointer-events:none;will-change:transform, opacity;font-size:24px;transition:opacity .2s linear;position:absolute;top:0;left:0}.threat-arrow.boss{color:var(--gold);font-size:34px}#cheat-note{min-height:20px;color:var(--leaf);text-shadow:1px 1px 0 var(--ink);font-size:14px;font-weight:800}.back-button{width:min(320px,84vw);margin-top:6px}#levelup-cards{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.upgrade-card{background:var(--paper);width:min(220px,80vw);color:var(--ink);border:var(--card-border);cursor:pointer;border-radius:16px;padding:16px;transition:transform .1s ease-out;box-shadow:0 6px #2b20168c}.upgrade-card:hover{transform:translateY(-4px)rotate(-.5deg)}.upgrade-card h3{margin-bottom:2px;font-size:19px}.upgrade-card .card-sub{color:var(--coral);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px;font-weight:800}.upgrade-card p{font-size:13px;font-weight:500;line-height:1.35}#shop-list,#journal-list{flex-direction:column;gap:10px;width:min(460px,92vw);max-height:52vh;display:flex;overflow-y:auto}.shop-item,.journal-item{color:var(--ink);border:var(--card-border);text-align:left;background:#fdf3d8f0;border-radius:14px;padding:12px 16px}.shop-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.shop-item .shop-info{flex:1}.shop-item h3{font-size:16px}.shop-item p{font-size:12px;font-weight:500}.shop-item button{white-space:nowrap;padding:8px 14px;font-size:14px}.shop-item button:disabled{opacity:.45;cursor:default;transform:none}.elite-reward-card{border-color:var(--gold);width:min(300px,82vw);box-shadow:0 6px #2b20168c,0 0 22px #f2c14e47}.elite-reward-card .elite-coin-icon{color:var(--gold);text-shadow:1px 2px 0 var(--ink);margin:0 auto 8px;font-size:42px;line-height:1;display:block}.elite-reward-continue{color:#8b542c;letter-spacing:.4px;text-transform:uppercase;margin-top:12px;font-size:12px;font-weight:900;display:block}.shop-locked-label{color:var(--ink);opacity:.6;white-space:nowrap;font-size:12px;font-weight:800}.journal-item.locked{opacity:.45;filter:grayscale(.7)}.journal-item h3{color:var(--coral);font-size:16px}.journal-item .journal-achievement{text-transform:uppercase;letter-spacing:.5px;opacity:.6;font-size:11px;font-weight:800}.journal-item p{margin-top:6px;font-size:13px;font-weight:500;line-height:1.4}#end-stats{grid-template-columns:repeat(2,minmax(120px,160px));gap:10px;display:grid}.end-stat{color:var(--ink);border:var(--card-border);background:#fdf3d8eb;border-radius:12px;padding:10px}.end-stat span{opacity:.7;font-size:12px;font-weight:600;display:block}.end-stat strong{font-size:22px}@media (width<=720px){#hp-bar{width:96px}#hud-top{gap:8px}#run-stats{top:60px}#weapon-slots{bottom:158px}#controls-hint{font-size:12px;bottom:292px}}.select-card{position:relative}.select-card:disabled{cursor:not-allowed}.select-card.locked{color:#b9bfd3;background:#3a3f52;border-color:#1b1f2c}.select-card.locked img{filter:brightness(0)contrast(1.2);opacity:.55}.select-card.held{background:#ddd3b6}.select-card.held img{filter:grayscale(.85)brightness(.72)}.select-card.locked:hover,.select-card.held:hover{transform:none}.card-lock{pointer-events:none;background:#151923d1;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;display:grid;position:absolute;top:6px;right:6px}.setup-banner{max-width:min(640px,92vw);color:var(--ink);background:var(--gold);border:var(--card-border);border-radius:12px;padding:9px 16px;font-size:14px;font-weight:700;box-shadow:0 4px #2b20168c}.cinematic{z-index:40;cursor:pointer;text-align:center;color:var(--paper);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0;overflow:hidden}.letterbox{z-index:1;background:#000;height:13vh;position:absolute;left:0;right:0}.letterbox-top{animation:.9s cubic-bezier(.2,.8,.2,1) both letterbox-top;top:0}.letterbox-bottom{animation:.9s cubic-bezier(.2,.8,.2,1) both letterbox-bottom;bottom:0}@keyframes letterbox-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes letterbox-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cinematic-skip{z-index:2;letter-spacing:1px;text-transform:uppercase;opacity:0;font-size:13px;animation:.6s 1.6s forwards skip-in;position:absolute;bottom:calc(13vh + 14px)}@keyframes skip-in{to{opacity:.7}}#death-overlay{background:radial-gradient(#46000000 25%,#280000c7 100%);animation:3.6s ease-out both death-tint}@keyframes death-tint{0%{background-color:#7800008c}to{background-color:#0a000073}}.death-card{z-index:2;flex-direction:column;gap:10px;max-width:min(720px,90vw);padding:0 16px;display:flex}#death-title{text-align:center;text-wrap:balance;letter-spacing:.18em;color:#c91d1d;text-shadow:0 0 28px #ff28288c,4px 4px #000;opacity:0;font-size:clamp(26px,5.4vw,64px);font-weight:900;line-height:1.1;animation:1.6s cubic-bezier(.15,.7,.2,1) .7s forwards death-title-in;transform:scale(1.35)}@keyframes death-title-in{to{opacity:1;letter-spacing:.06em;transform:scale(1)}}#death-epitaph,#death-killer{opacity:0;text-shadow:2px 2px #000;animation:1s forwards fade-up}#death-epitaph{font-size:clamp(16px,2.6vw,24px);font-style:italic;animation-delay:1.8s}#death-killer{color:#f4a7a0;font-size:clamp(13px,2vw,17px);font-weight:700;animation-delay:2.5s}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#victory-overlay{background:radial-gradient(#ffdc781f 0%,#140a2859 100%)}.victory-card{z-index:2;flex-direction:column;gap:8px;padding:0 16px;display:flex}#victory-title{color:var(--gold);text-shadow:0 0 30px #f2c14eb3, 5px 5px 0 var(--ink), 9px 9px 0 #e2543ea6;opacity:0;font-size:clamp(34px,8vw,86px);font-weight:900;animation:.9s cubic-bezier(.2,1.4,.3,1) .5s forwards victory-title-in;transform:scale(.3)rotate(-4deg)}@keyframes victory-title-in{to{opacity:1;transform:scale(1)rotate(0)}}#victory-sub{text-shadow:3px 3px 0 var(--ink);opacity:0;font-size:clamp(18px,3.4vw,32px);font-weight:800;animation:.9s 1.5s forwards fade-up}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{top:-20px;left:var(--x);opacity:0;width:9px;height:15px;animation:confetti-fall var(--fall) linear var(--delay) infinite;border-radius:2px;position:absolute}@keyframes confetti-fall{0%{opacity:1;transform:translate(0,0)rotate(0)}to{opacity:1;transform:translate3d(var(--drift), 108vh, 0) rotate(var(--spin))}}#game-canvas.death-gray{filter:grayscale()contrast(1.15)brightness(.72);transition:filter 1.4s}#end-screen{overflow:hidden}#end-screen>*{z-index:1;position:relative}#end-screen>.confetti{z-index:0;position:absolute}#end-screen[data-outcome=defeat]{background:radial-gradient(#28080acc,#080406f0)}#end-screen[data-outcome=defeat] h2{color:#d2453a}#end-screen[data-outcome=victory]{background:radial-gradient(#5a3c0ab8,#180e2ceb)}#end-screen[data-outcome=victory] h2{text-shadow:0 0 26px #f2c14e99, 3px 3px 0 var(--ink);font-size:clamp(32px,7vw,64px)}.end-kicker{letter-spacing:.22em;text-transform:uppercase;opacity:.75;font-size:13px;font-weight:800}.end-killer{color:#f4a7a0;font-size:15px;font-weight:700}#end-stats .end-stat{opacity:0;animation:.5s forwards fade-up}#end-stats .end-stat:first-child{animation-delay:.2s}#end-stats .end-stat:nth-child(2){animation-delay:.4s}#end-stats .end-stat:nth-child(3){animation-delay:.6s}#end-stats .end-stat:nth-child(4){animation-delay:.8s}.end-unlocks{text-align:left;max-width:min(460px,90vw);color:var(--ink);background:var(--gold);border:var(--card-border);border-radius:12px;padding:10px 16px 12px;box-shadow:0 4px #2b20168c}.end-unlocks h3{letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px;font-size:13px}.end-unlocks ul{flex-direction:column;gap:3px;font-size:14px;font-weight:700;list-style:none;display:flex}.end-unlocks li:before{content:"★ "}@media (prefers-reduced-motion:reduce){.confetti i{animation-duration:8s}}
