:root{--ink: #2a1a3a;--ink-deep: #170d22;--plum-900: #1d1030;--plum-800: #2c1846;--plum-700: #3a2259;--plum-600: #4b2e72;--plum-500: #62409a;--plum-300: #a98ad6;--paper: #fff7fd;--paper-dim: #d9c8ee;--pink: #fc238d;--pink-lt: #ffa8c4;--lime: #d2e253;--lime-lt: #ecfa94;--blue: #1bb3f6;--blue-lt: #9cd4ff;--energy: #ecfa94;--pink-dk: #c2146a;--blue-dk: #1279b8;--purple: #8f5cf0;--purple-lt: #b592ff;--purple-dk: #5f35b8;--cyan: #6ff3ff;--danger: #ff4a5e;--font-ui: "Libre Franklin", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Libre Franklin", "Arial Black", system-ui, sans-serif;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-pill: 999px;--line: 3px;--lip: 0 5px 0 var(--ink-deep);--lip-lg: 0 8px 0 var(--ink-deep);--sheen: inset 0 2px 0 rgba(255, 255, 255, .18);--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--t-fast: 90ms;--t-med: .18s;--tl-w: 34vw;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body{margin:0;background:var(--ink-deep);overflow:hidden;color:var(--paper);font-family:var(--font-ui);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}#canvas{position:fixed;top:0;left:0;width:100%;height:100%;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.sprite{position:absolute;width:0;height:0;overflow:hidden}.inked{-webkit-text-stroke:4px var(--ink);paint-order:stroke fill}.menu-btn{--btn: var(--purple);--btn-hi: var(--purple-lt);position:relative;width:min(320px,100%);min-height:52px;align-self:center;padding:12px 28px 14px;background:linear-gradient(to bottom,var(--btn-hi) 0 44%,var(--btn) 44% 100%);border:var(--line) solid var(--ink);border-radius:var(--r-md);box-shadow:0 6px 0 var(--ink-deep),inset 0 2px #ffffff73;color:#fff;font:900 19px/1.1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;cursor:pointer;pointer-events:auto;touch-action:manipulation;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),filter var(--t-med)}.menu-btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--ink-deep),inset 0 2px #ffffff73;filter:brightness(1.08) saturate(1.1)}.menu-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink-deep),inset 0 2px #ffffff73;transition-duration:40ms}.menu-btn:focus-visible,.icon-btn:focus-visible,.pu-card:focus-visible .pu-card__face{outline:3px solid var(--cyan);outline-offset:3px}.menu-btn:disabled{filter:grayscale(.7) brightness(.8);cursor:default}.menu-btn--primary{--btn: var(--pink);--btn-hi: #ff6fb4}.menu-btn--blue{--btn: var(--blue);--btn-hi: #6fd3ff}.menu-btn--big{min-height:66px;font-size:26px;-webkit-text-stroke-width:5px;border-radius:var(--r-lg)}.menu-btn--small{width:auto;min-height:44px;padding:8px 16px 10px;font-size:14px;-webkit-text-stroke-width:3px;border-radius:var(--r-sm);box-shadow:0 4px 0 var(--ink-deep),inset 0 2px #ffffff73}.btn-stack{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:3px;min-width:40px;height:40px;padding:0 7px;background:linear-gradient(to bottom,var(--plum-500) 0 46%,var(--plum-600) 46% 100%);border:var(--line) solid var(--ink);border-radius:13px;box-shadow:0 4px 0 var(--ink-deep),inset 0 2px #ffffff40;color:#fff;font:900 12px/1 var(--font-display);cursor:pointer;touch-action:manipulation;transition:transform var(--t-fast) var(--ease-out),box-shadow var(--t-fast) var(--ease-out),filter var(--t-med)}.icon-btn svg{display:block;width:20px;height:20px;flex:none}.icon-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.icon-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink-deep),inset 0 2px #ffffff40}.icon-btn__label{-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;letter-spacing:.02em}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,3.5vh,34px);padding:20px 20px calc(20px + var(--safe-b));background:radial-gradient(120% 85% at 50% 32%,#6a3aa6,#3a1f5e 42%,#1d1030 78%,#120a1e);overflow:hidden auto;z-index:1000}#loading{justify-content:safe center}#loading>*{position:relative;flex:none}#loading>.title-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none}.title-bg{position:absolute;inset:-160px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='156' viewBox='0 0 90 156'%3E%3Cpath d='M45 0v26M45 26L0 52M45 26l45 26M0 52v52M90 52v52M0 104l45 26M90 104l-45 26M45 130v26' fill='none' stroke='%23c9a2ff' stroke-width='3'/%3E%3C/svg%3E");background-size:90px 156px;opacity:.13;animation:bg-drift 26s linear infinite;will-change:transform}@keyframes bg-drift{to{transform:translate3d(90px,156px,0)}}.title-glow{position:absolute;inset:0;background:radial-gradient(60% 40% at 50% 100%,rgba(252,35,141,.28),transparent 70%),radial-gradient(90% 70% at 50% 40%,transparent 55%,rgba(10,5,18,.55) 100%)}.title-bugs{position:absolute;inset:auto 0 0;height:120px}.title-bug{position:absolute;left:0;bottom:var(--y, 10px);width:var(--s, 46px);height:calc(var(--s, 46px) * .84);animation:bug-march var(--d, 22s) linear var(--delay, 0s) infinite;will-change:transform}.title-bug svg{display:block;width:100%;height:100%;transform:rotate(90deg);animation:bug-waddle .5s ease-in-out infinite alternate}@keyframes bug-march{0%{transform:translate3d(-80px,0,0)}to{transform:translate3d(calc(100vw + 80px),0,0)}}@keyframes bug-waddle{0%{transform:rotate(84deg)}to{transform:rotate(96deg)}}#loader-gif{width:48px;height:48px}#menu-title{width:min(560px,92vw,78vh);margin:0}#menu-title.is-idle{animation:logo-bob 5s ease-in-out infinite alternate}#loading.is-booting{background:#000}#loading.is-booting>*{visibility:hidden}#loading:after{content:"";position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .7s ease;z-index:5}#loading.is-booting:after{opacity:1;transition:none}#loading>.boot-start{position:fixed;inset:0;z-index:6;display:grid;place-items:center;border:0;background:none;color:#fff;font:800 clamp(16px,2.4vw,22px) / 1 var(--font-ui, "Libre Franklin", system-ui, sans-serif);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;animation:boot-pulse 1.4s ease-in-out infinite alternate}#loading>.boot-start[hidden]{display:none}#loading.is-booting>.boot-start{visibility:visible}#loading.is-booting>#loader-gif{visibility:visible;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:6}@keyframes boot-pulse{0%{opacity:.35}to{opacity:1}}#loading>.title-flash,#loading>.title-slash{position:fixed;pointer-events:none;opacity:0;z-index:4}#loading>.title-flash{inset:0;background:#fff}#loading>.title-slash{left:-25vw;right:-25vw;top:46%;height:7px;margin-top:-3.5px;background:linear-gradient(90deg,transparent,#fff 28%,#fff 72%,transparent);box-shadow:0 0 26px 7px #ffffffa6,0 0 60px 14px #ff78be73;border-radius:4px}#menu-title svg{display:block;width:100%;height:auto;overflow:visible}@keyframes logo-in{0%{transform:scale(.6) rotate(-8deg);opacity:0}}@keyframes logo-bob{0%{transform:translate3d(0,-4px,0) rotate(-.6deg)}to{transform:translate3d(0,5px,0) rotate(.6deg)}}.logo-bug{transform-box:fill-box;transform-origin:center;animation:logo-bug 1.6s ease-in-out infinite alternate}.logo-bug--b{animation-duration:2.1s;animation-direction:alternate-reverse}@keyframes logo-bug{0%{transform:rotate(-7deg)}to{transform:rotate(7deg) translateY(-3px)}}#menu{display:none;flex-direction:column;align-items:stretch;gap:14px;width:min(340px,100%)}#menu .menu-btn{width:100%;animation:rise-in .45s var(--ease-pop) both}#menu .menu-btn:nth-child(2){animation-delay:.07s}#menu .menu-btn:nth-child(3){animation-delay:.14s}@keyframes rise-in{0%{transform:translateY(22px) scale(.92);opacity:0}}#loading>p{max-width:30em;font:600 17px/1.5 var(--font-ui);text-align:center}#mana-meter{position:fixed;left:20px;top:20px;z-index:500;display:flex;flex-direction:column;gap:8px;width:212px;pointer-events:none}.hud-energy{position:relative;display:flex;align-items:center;padding-left:32px}.hud-energy__icon{position:absolute;left:0;top:50%;z-index:1;display:grid;place-items:center;width:42px;height:42px;margin-top:-21px;background:linear-gradient(to bottom,var(--plum-500) 0 48%,var(--plum-600) 48% 100%);border:var(--line) solid var(--ink);border-radius:50%;box-shadow:0 3px 0 var(--ink-deep),inset 0 2px #ffffff40;color:var(--energy)}.hud-energy__icon svg{width:24px;height:24px}.hud-energy__track{position:relative;flex:1;height:30px;background:var(--plum-900);border:var(--line) solid var(--ink);border-radius:var(--r-pill);box-shadow:0 3px 0 var(--ink-deep),0 0 16px color-mix(in srgb,var(--energy) 38%,transparent);overflow:hidden}.hud-energy__fill{position:absolute;inset:0;background:linear-gradient(to bottom,color-mix(in srgb,var(--energy) 55%,#fff) 0 38%,var(--energy) 38% 78%,color-mix(in srgb,var(--energy) 72%,var(--ink)) 78% 100%);transform:scaleX(0);transform-origin:0 50%;transition:transform .18s linear;will-change:transform}.hud-energy__track:after{content:"";position:absolute;inset:0;background:var(--danger);opacity:0;pointer-events:none}.hud-energy.is-low .hud-energy__track:after{animation:low-pulse .7s ease-in-out infinite alternate}.hud-energy.is-low .hud-energy__icon{color:var(--danger);animation:low-shake .7s ease-in-out infinite alternate}@keyframes low-pulse{0%{opacity:.08}to{opacity:.55}}@keyframes low-shake{0%{transform:rotate(-9deg)}to{transform:rotate(9deg) scale(1.08)}}.hud-energy__num{position:absolute;inset:0 6px 0 38px;display:grid;place-items:center;font:900 15px/1 var(--font-display);color:#fff;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;white-space:nowrap}.hud-badges{display:flex;gap:8px}.hud-badge{display:flex;align-items:center;gap:6px;height:32px;padding:0 11px 0 8px;background:linear-gradient(to bottom,var(--plum-600) 0 48%,var(--plum-700) 48% 100%);border:var(--line) solid var(--ink);border-radius:var(--r-pill);box-shadow:0 3px 0 var(--ink-deep),inset 0 2px #ffffff29}.hud-badge svg{width:17px;height:17px;flex:none}.hud-badge__label{font:800 10px/1 var(--font-ui);letter-spacing:.1em;color:var(--paper-dim)}.hud-badge__num{min-width:1.2em;font:900 16px/1 var(--font-display);color:#fff;-webkit-text-stroke:3.5px var(--ink);paint-order:stroke fill}.hud-badge--score{color:var(--lime-lt)}.hud-badge--level{background:linear-gradient(to bottom,#ff6fb4 0 48%,var(--pink) 48% 100%);box-shadow:0 3px 0 var(--ink-deep),inset 0 2px #fff6}.hud-badge--level .hud-badge__label{color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:11px}#creep-timeline{position:fixed;top:calc(12px + var(--safe-t));left:50%;width:var(--tl-w);height:30px;transform:translate(-50%);z-index:500;pointer-events:none}.tl-track{position:absolute;inset:3px 0;background:var(--plum-900);border:var(--line) solid var(--ink);border-radius:var(--r-pill);box-shadow:0 3px 0 var(--ink-deep),inset 0 3px #00000040;overflow:hidden}.tl-track:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to right,transparent 0 calc(100% / 6 - 3px),var(--ink) calc(100% / 6 - 3px) calc(100% / 6));opacity:.85;pointer-events:none}.tl-bar{position:absolute;top:0;bottom:0;display:none;background:linear-gradient(to bottom,#fff 0 36%,var(--purple-lt) 36% 80%,var(--purple) 80% 100%)}.tl-bar.is-boss{background:linear-gradient(to bottom,#ffc0c8 0 36%,var(--danger) 36% 80%,#c41f3c 80% 100%)}.tl-now{position:absolute;left:-9px;top:50%;width:34px;height:34px;margin-top:-17px;display:grid;place-items:center;background:linear-gradient(to bottom,#ff6fb4 0 48%,var(--pink) 48% 100%);border:var(--line) solid var(--ink);border-radius:50%;box-shadow:0 3px 0 var(--ink-deep)}.tl-now svg{width:22px;height:19px}#pause-toggle,#fast-forward{position:fixed;top:calc(7px + var(--safe-t));z-index:600}#pause-toggle{right:calc(50% + var(--tl-w) / 2 + 18px)}#fast-forward{left:calc(50% + var(--tl-w) / 2 + 12px)}#tile-palette{position:fixed;bottom:calc(16px + var(--safe-b));left:0;right:0;width:fit-content;margin:0 auto;z-index:550;display:flex;gap:8px;max-width:calc(100vw - 34px);padding:10px 10px 13px;background:linear-gradient(to bottom,var(--plum-600),var(--plum-700));border:var(--line) solid var(--ink);border-radius:var(--r-lg);box-shadow:var(--lip),var(--sheen)}.tile-card{position:relative;flex:0 1 auto;width:78px;min-width:0;padding:3px 3px 15px;background:linear-gradient(to bottom,#fff 0 8%,var(--paper) 8% 74%,var(--paper-dim) 74% 100%);border:var(--line) solid var(--ink);border-radius:14px;box-shadow:0 4px 0 var(--ink-deep);cursor:grab;touch-action:none;transition:transform var(--t-med) var(--ease-pop),box-shadow var(--t-med) var(--ease-out),filter var(--t-med)}.tile-card canvas{display:block;width:100%;height:auto;aspect-ratio:1}.tile-card__cost{position:absolute;left:50%;bottom:-9px;display:flex;align-items:center;gap:3px;height:22px;padding:0 8px 0 6px;transform:translate(-50%);background:var(--ink);border:2px solid var(--ink);border-radius:var(--r-pill);box-shadow:inset 0 0 0 2px var(--plum-500);color:var(--energy);font:900 13px/1 var(--font-display);pointer-events:none;white-space:nowrap}.tile-card__cost:before{content:"";width:8px;height:12px;background:currentColor;clip-path:polygon(62% 0,0 58%,44% 58%,30% 100%,100% 40%,56% 40%)}.tile-card__cost:empty{display:none}@media(hover:hover){.tile-card:not(.is-empty):not(.is-unaffordable):not(.is-held):hover{transform:translateY(-7px) rotate(-1.5deg);box-shadow:0 11px 0 var(--ink-deep)}}.tile-card.is-unaffordable{filter:grayscale(.85) brightness(.72)}.tile-card.is-unaffordable .tile-card__cost{color:#fff;background:var(--danger);box-shadow:none}.tile-card.is-held{background:var(--plum-800);border-style:dashed;border-color:var(--plum-300);box-shadow:inset 0 3px #0000004d;transform:translateY(3px)}.tile-card.is-empty{background:var(--plum-800);box-shadow:inset 0 4px #00000059}.tray-reroll{position:absolute;top:-15px;right:-15px;z-index:1;width:36px;height:36px;padding:0;background:linear-gradient(to bottom,#ff6fb4 0 46%,var(--pink) 46% 100%);border:var(--line) solid var(--ink);border-radius:50%;box-shadow:0 3px 0 var(--ink-deep),inset 0 2px #ffffff73;cursor:pointer;touch-action:manipulation;transition:transform var(--t-fast) var(--ease-out),filter var(--t-med)}.tray-reroll:before{content:"";position:absolute;inset:-7px;border-radius:50%}.tray-reroll:hover{transform:rotate(90deg) scale(1.08);filter:brightness(1.1)}.tray-reroll:active{transform:translateY(2px) scale(.94)}.tray-reroll__bar{position:absolute;top:50%;left:50%;width:16px;height:5px;background:#fff;border-radius:3px;box-shadow:0 0 0 2px var(--ink)}.tray-reroll__bar+.tray-reroll__bar{box-shadow:none}.tray-reroll__cost{position:absolute;top:24px;right:-17px;z-index:2;min-width:40px;padding:2px 6px 3px;background:var(--ink);border-radius:var(--r-pill);box-shadow:inset 0 0 0 2px var(--plum-500);color:var(--energy);font:900 12px/1 var(--font-display);text-align:center;pointer-events:none}.rotate-btn{position:fixed;left:18px;bottom:18px;z-index:551;display:none;width:58px;height:58px;padding:0;border-radius:18px}.rotate-btn svg{width:30px;height:30px}.overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px 16px calc(16px + var(--safe-b));pointer-events:none}.overlay--scrim{background:radial-gradient(80% 70% at 50% 50%,#170d2240,#170d22c7);animation:fade-in .35s ease-out both}.panel{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(420px,100%);max-height:100%;padding:26px 26px 28px;background:linear-gradient(to bottom,var(--plum-600),var(--plum-700) 60%,var(--plum-800));border:4px solid var(--ink);border-radius:var(--r-xl);box-shadow:var(--lip-lg),var(--sheen),0 0 0 4px #ffffff0f;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto;animation:panel-in .38s var(--ease-pop) both}.panel>*{flex:none}@keyframes panel-in{0%{transform:translateY(26px) scale(.86);opacity:0}}@keyframes fade-in{0%{opacity:0}}.display-title{margin:0;color:var(--energy);font:900 clamp(34px,10.5vw,60px) / 1 var(--font-display);letter-spacing:.02em;text-align:center;text-transform:uppercase;-webkit-text-stroke:10px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink)}.display-title--danger{color:var(--pink);background:none;animation:slam .6s var(--ease-pop) both}@keyframes slam{0%{transform:scale(2.4) rotate(-9deg);opacity:0}60%{transform:scale(.94) rotate(2deg);opacity:1}to{transform:scale(1) rotate(-2deg)}}.display-sub{margin:-8px 0 0;color:var(--paper-dim);font:700 15px/1.3 var(--font-ui);text-align:center}.stat-row{display:flex;justify-content:center;gap:12px;width:100%}.stat{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:5px;max-width:170px;padding:10px 12px 11px;background:var(--plum-900);border:var(--line) solid var(--ink);border-radius:var(--r-md);box-shadow:inset 0 3px #0000004d}.stat__label{font:800 11px/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--plum-300)}.stat__num{font:900 30px/1 var(--font-display);color:#fff;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill}.stat--best .stat__num{color:var(--lime-lt)}.stat--new{background:linear-gradient(to bottom,#ff6fb4 0 48%,var(--pink) 48% 100%);box-shadow:inset 0 2px #fff6;animation:best-pop .9s var(--ease-pop) .45s both}.stat--new .stat__label{color:#fff}@keyframes best-pop{0%{transform:scale(.5);opacity:0}55%{transform:scale(1.14) rotate(-3deg);opacity:1}to{transform:scale(1) rotate(0)}}.lb-screen{position:fixed;inset:0;z-index:2700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,3vh,30px);padding:24px 16px calc(24px + var(--safe-b));background:radial-gradient(120% 85% at 50% 20%,#5a3090,#33195a 45%,#1d1030 80%,#120a1e);overflow-y:auto;animation:fade-in .2s ease-out both}.lb-screen>*{flex:none}.lb-list{display:flex;flex-direction:column;gap:clamp(4px,1vh,8px);width:min(520px,100%)}.lb-row{--row: clamp(15px, 4.2vw, 21px);display:flex;align-items:center;gap:10px;min-height:calc(var(--row) * 1.9);padding:3px 14px 3px 5px;background:var(--plum-700);border:2px solid var(--ink);border-radius:var(--r-pill);box-shadow:0 2px 0 var(--ink-deep);font:700 var(--row) / 1.1 var(--font-ui);color:var(--paper)}.lb-row:nth-child(2n){background:var(--plum-600)}.lb-row__rank{flex:none;display:grid;place-items:center;min-width:calc(var(--row) * 1.55);height:calc(var(--row) * 1.55);padding:0 4px;background:var(--plum-900);border:2px solid var(--ink);border-radius:var(--r-pill);font:900 calc(var(--row) * .74) / 1 var(--font-display);color:var(--paper-dim)}.lb-row:nth-child(1) .lb-row__rank{background:#ffd84a;color:var(--ink)}.lb-row:nth-child(2) .lb-row__rank{background:#dfe6f2;color:var(--ink)}.lb-row:nth-child(3) .lb-row__rank{background:#f0a060;color:var(--ink)}.lb-row__name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-row__score{flex:none;font:900 var(--row) / 1 var(--font-display);color:var(--lime-lt)}.lb-row.is-me{background:linear-gradient(to bottom,#ff6fb4 0 48%,var(--pink) 48% 100%);color:#fff}.lb-row.is-me .lb-row__score{color:#fff}.lb-empty{padding:18px;color:var(--paper-dim);font:600 16px/1.4 var(--font-ui);text-align:center}.lb-inline{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%}.lb-inline:empty{display:none}.lb-inline .lb-list{width:100%}.lb-inline .lb-row{--row: 14px}.lb-form{display:flex;gap:8px}.lb-input{flex:1 1 auto;min-width:0;height:44px;padding:0 14px;background:var(--plum-900);border:var(--line) solid var(--ink);border-radius:var(--r-sm);box-shadow:inset 0 3px #00000059;color:#fff;font:700 16px/1 var(--font-ui);text-align:center;outline:none;-webkit-user-select:text;user-select:text}.lb-input::placeholder{color:var(--plum-300)}.lb-input:focus{border-color:var(--cyan)}.pu-screen{position:fixed;inset:0;z-index:2500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,3vh,26px);padding:16px 14px calc(16px + var(--safe-b));background:radial-gradient(90% 80% at 50% 50%,#2d1846b8,#120a1ee6);overflow-y:auto}.pu-screen{justify-content:safe center}.pu-screen>*{flex:none}.pu-title{font-size:clamp(22px,5.6vw,40px);-webkit-text-stroke-width:8px;text-shadow:0 4px 0 var(--ink);color:#fff}.pu-row{display:grid;grid-template-columns:repeat(var(--n, 4),minmax(0,210px));justify-content:center;gap:16px;width:100%}.pu-card{display:block;min-width:0;padding:0;background:none;border:0;color:inherit;font:inherit;text-align:center;cursor:pointer;touch-action:manipulation}.pu-card__face{--c: var(--blue-lt);position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;height:100%;min-height:268px;padding:0 14px 18px;background:linear-gradient(to bottom,color-mix(in srgb,var(--c) 30%,var(--plum-600)),var(--plum-700) 58%,var(--plum-800));border:4px solid var(--ink);border-radius:var(--r-lg);box-shadow:0 8px 0 var(--ink-deep),inset 0 0 0 3px color-mix(in srgb,var(--c) 70%,transparent);overflow:hidden;transition:transform var(--t-med) var(--ease-pop),box-shadow var(--t-med) var(--ease-out),filter var(--t-med)}.pu-card__kind{align-self:stretch;margin:0 -14px;padding:9px 8px 8px;background:linear-gradient(to bottom,color-mix(in srgb,var(--c) 60%,#fff) 0 44%,var(--c) 44% 100%);border-bottom:4px solid var(--ink);color:var(--ink);font:900 11px/1 var(--font-display);letter-spacing:.16em;text-transform:uppercase}.pu-card__icon{position:relative;display:grid;place-items:center;width:84px;height:92px;margin:8px 0 2px;color:#fff}.pu-card__icon:before,.pu-card__icon:after{content:"";position:absolute;inset:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--ink)}.pu-card__icon:after{inset:5px;background:linear-gradient(to bottom,color-mix(in srgb,var(--c) 55%,#fff) 0 40%,var(--c) 40% 82%,color-mix(in srgb,var(--c) 75%,var(--ink)) 82% 100%)}.pu-card__icon svg{position:relative;z-index:1;width:46px;height:46px}.pu-card__title{color:#fff;font:900 18px/1.08 var(--font-display);letter-spacing:.01em;-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-wrap:balance}.pu-card__desc{color:var(--paper);font:600 13.5px/1.35 var(--font-ui);text-wrap:balance;white-space:normal}.pu-card--late .pu-card__face{box-shadow:0 8px 0 var(--ink-deep),inset 0 0 0 4px #fff,0 0 26px color-mix(in srgb,var(--c) 60%,transparent)}.pu-card--late .pu-card__kind{background:linear-gradient(100deg,var(--cyan),var(--pink-lt) 50%,var(--lime-lt))}@media(hover:hover){.pu-card:hover .pu-card__face{transform:translateY(-10px) rotate(-1.2deg);box-shadow:0 18px 0 var(--ink-deep),inset 0 0 0 3px var(--c),0 0 34px color-mix(in srgb,var(--c) 70%,transparent);filter:brightness(1.08)}}.pu-card:focus-visible .pu-card__face{transform:translateY(-10px)}.pu-card:active .pu-card__face{transform:translateY(5px) scale(.98);box-shadow:0 3px 0 var(--ink-deep),inset 0 0 0 5px var(--c);filter:brightness(1.18);transition-duration:40ms}#tute{position:fixed;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,2.4vh,22px);padding:18px 16px calc(18px + var(--safe-b));background:radial-gradient(120% 85% at 50% 30%,#5a3090,#33195a 45%,#1d1030 80%,#120a1e);overflow-y:auto;z-index:2600}#tute>*{flex:none}#tute-stage{position:relative;max-width:100%;border:4px solid var(--ink);border-radius:var(--r-lg);box-shadow:var(--lip-lg);background:var(--plum-800);overflow:hidden}#tute-img{display:block;max-width:min(100%,1040px);width:auto;height:auto;max-height:min(62vh,62dvh);object-fit:contain}#tute-text{max-width:min(760px,100%);margin:0;color:#fff;font:800 clamp(16px,2.6vw,25px) / 1.3 var(--font-ui);text-align:center;text-wrap:balance;white-space:pre-line;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill}#tute-text:empty{display:none}#tute.no-img #tute-stage{display:none}#tute.no-img #tute-text{font-size:clamp(18px,3.4vw,32px)}#tute-bottom{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}#tute-dots{display:flex;gap:8px}.tute-dot{width:12px;height:12px;background:var(--plum-800);border:2px solid var(--ink);border-radius:50%;transition:transform var(--t-med) var(--ease-pop)}.tute-dot.is-on{background:var(--pink);transform:scale(1.35)}.float-layer{position:fixed;inset:0;z-index:480;overflow:hidden;pointer-events:none;contain:strict}.float-text{position:absolute;left:0;top:0;display:none;font:900 25px/1 var(--font-display);letter-spacing:.01em;white-space:nowrap;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--ink);will-change:transform,opacity}@media(pointer:coarse){.icon-btn{min-width:44px;height:44px}#pause-toggle,#fast-forward{top:calc(5px + var(--safe-t))}.tray-reroll{width:40px;height:40px;top:-18px;right:-14px}.tray-reroll__cost{top:25px;right:-14px}}@media(max-width:640px){:root{--tl-w: 44vw}#mana-meter{left:10px;width:178px;gap:6px}.hud-energy__track{height:26px}.hud-energy__icon{width:38px;height:38px;margin-top:-19px}.hud-energy__num{font-size:13px}.hud-badge{height:28px;padding:0 9px 0 6px}.hud-badge__num{font-size:14px}#fast-forward .icon-btn__label{display:none}#tile-palette{gap:5px;padding:8px 8px 12px;max-width:calc(100vw - 30px);bottom:calc(12px + var(--safe-b))}.tile-card{border-radius:11px;padding:2px 2px 13px}.tile-card__cost{height:20px;padding:0 6px 0 5px;font-size:12px}.pu-row{grid-template-columns:repeat(2,minmax(0,190px));gap:10px}.pu-card__face{min-height:0;gap:6px;padding:0 10px 13px}.pu-card__kind{margin:0 -10px;padding:7px 6px 6px;font-size:10px}.pu-card__icon{width:58px;height:64px;margin:4px 0 0}.pu-card__icon svg{width:32px;height:32px}.pu-card__title{font-size:15.5px}.pu-card__desc{font-size:12.5px}.panel{gap:14px;padding:20px 16px 22px}.stat__num{font-size:25px}.menu-btn--big{min-height:60px;font-size:23px}#tute-text{-webkit-text-stroke-width:4px}}@media(max-height:500px){#loading{flex-direction:row;flex-wrap:wrap;align-content:safe center;gap:12px 28px}#menu-title{width:min(48vw,100vh)}#menu{width:min(280px,40vw);gap:10px}.menu-btn{min-height:44px;padding:8px 20px 10px;font-size:16px}.menu-btn--big{min-height:52px;font-size:21px}.title-bugs{display:none}.panel{width:min(620px,100%);gap:10px;padding:14px 18px 16px}.display-title{font-size:clamp(28px,11vh,44px);-webkit-text-stroke-width:8px;text-shadow:0 4px 0 var(--ink)}.stat{flex-direction:row;justify-content:center;gap:10px;padding:6px 12px 7px}.stat__num{font-size:22px}.panel .btn-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.panel .btn-stack .menu-btn{width:100%}.pu-row{grid-template-columns:repeat(var(--n, 4),minmax(0,190px));gap:10px}.pu-card__face{min-height:0;gap:5px;padding:0 9px 11px}.pu-card__kind{margin:0 -9px;padding:6px 6px 5px;font-size:10px}.pu-card__icon{width:50px;height:55px;margin:3px 0 0}.pu-card__icon svg{width:28px;height:28px}.pu-card__title{font-size:14.5px}.pu-card__desc{font-size:12px;line-height:1.25}.pu-title{font-size:clamp(18px,7vh,28px);-webkit-text-stroke-width:6px}#tute{gap:8px;padding:10px 14px}#tute-img{max-height:56vh}#tute-text{font-size:15px;-webkit-text-stroke-width:4px}#tute-bottom{flex-direction:row;justify-content:center;gap:18px}#tute-bottom .menu-btn{width:200px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.title-bg,.title-bug,.title-bug svg,#menu-title,.logo-bug{animation:none!important}.title-bugs{display:none}.hud-energy.is-low .hud-energy__track:after{animation:none!important;opacity:.4}}
