*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}#app{min-height:100svh;position:relative;overflow:hidden}#game{touch-action:none;position:absolute;inset:0}#game canvas{display:block}.overlay{z-index:1;text-align:center;pointer-events:none;position:absolute;left:0;right:0}.overlay>*{pointer-events:auto}#menu{padding:24px;top:50%;transform:translateY(-50%)}#menu h1{letter-spacing:.04em;margin:0 0 12px;font-size:clamp(2rem,7vw,4.5rem)}#menu p{color:#cfdbdf;max-width:34rem;margin:0 auto 28px;line-height:1.5}button{color:#102228;cursor:pointer;background:#9ce5c1;border:0;border-radius:12px;min-width:160px;min-height:52px;padding:12px 24px;font:700 1rem system-ui,sans-serif}button:focus-visible{outline-offset:4px;outline:3px solid #fff}#arena-hud{padding:16px 18px;top:0}.hud-top,.hud-stats,.hp-row{align-items:center;gap:14px;display:flex}.hud-top{justify-content:space-between}.hud-stats{text-align:left;flex-wrap:wrap;font-size:1rem}#pause-button{min-width:82px;min-height:48px;padding:8px 12px}.hp-row{text-align:left;max-width:270px;margin-top:8px}.hp-row span{flex:none}.hp-track{background:#53616e;border-radius:99px;flex:1;height:10px;overflow:hidden}#hp-fill{background:#9ce5c1;width:100%;height:100%}#instructions,#active-mutations{text-align:left;color:#cbd7dd;margin:8px 0 0;font-size:.82rem}#active-mutations{max-width:min(600px,75vw)}#joystick{z-index:2;pointer-events:none;touch-action:none;background:#526b7b77;border:2px solid #a8bdc9;border-radius:50%;width:128px;height:128px;position:fixed;transform:translate(-50%,-50%)}#joystick-knob{pointer-events:none;background:#9ce5c1aa;border-radius:50%;width:58px;height:58px;position:absolute;top:calc(50% - 29px);left:calc(50% - 29px)}#mutation-toast{z-index:2;text-align:center;pointer-events:none;background:#214056;border-radius:10px;width:min(90vw,480px);padding:10px 14px;position:absolute;top:125px;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0006}#choice,#result{z-index:3;padding:12px;top:50%;transform:translateY(-50%)}.choice-card,.result-card{background:#1b2c3a;border:2px solid #82a9b2;border-radius:18px;width:min(100%,650px);max-height:calc(100svh - 24px);padding:22px;display:inline-block;overflow:auto;box-shadow:0 12px 35px #0008}.choice-card h2,.result-card h2{margin:0 0 10px}.choice-card p,.result-card p{line-height:1.4}.safe-options{gap:10px;margin:10px 0 12px;display:flex}.safe-options button{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:4px;min-width:0;padding:10px 14px;display:flex}.safe-options button span{font-size:.88rem;font-weight:400}.roulette-area{border-top:1px solid #6e8a99;padding-top:10px}#roulette-button{background:#e6b879}#roulette-odds{color:#dce8e9;font-size:.87rem}#roll-status{min-height:1.4em;font-weight:700}#roll-status:empty,#choice-synergies:empty{display:none}.stabilize-area:not(:has(button:not(.hidden))){display:none}.choice-card{padding:16px}.choice-card p{margin:8px 0}.choice-card .choice-intro{font-size:.88rem}#choice button{min-height:48px}button:disabled{opacity:.55;cursor:default}@media (width<=500px){#arena-hud{padding:10px 12px}.hud-stats{gap:8px;font-size:.9rem}#instructions,#active-mutations{max-width:260px}#joystick{width:112px;height:112px}.safe-options{flex-direction:column}.choice-card{padding:16px}#mutation-toast{top:142px}}.hidden{display:none!important}@keyframes roulette-pulse{0%{opacity:.45;transform:scale(.98)}to{opacity:1;transform:scale(1)}}#roll-status:not(:empty){animation:.3s ease-in-out infinite alternate roulette-pulse}@media (prefers-reduced-motion:reduce){#roll-status:not(:empty){animation:none}}.hud-actions{align-items:center;gap:8px;display:flex}#mute-button{background:#b8cad0;min-width:88px;min-height:48px;padding:8px;font-size:.82rem}#mute-button[aria-pressed=true]{background:#e6b879}#onboarding{z-index:2;text-align:center;pointer-events:none;background:#19394be8;border:2px solid #a2d9d0;border-radius:14px;gap:5px;width:min(88vw,400px);padding:14px 18px;display:grid;position:absolute;top:clamp(170px,25svh,230px);left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0008}#onboarding strong{font-size:1.1rem}#onboarding span{font-size:.88rem;line-height:1.35}.result-grid{grid-template-columns:minmax(105px,145px) 1fr;align-items:start;gap:14px;display:grid}.result-specimen{min-width:0}#result-creature-name{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:.85rem;font-weight:700}#result-creature{aspect-ratio:1;width:100%;max-width:145px}#result-creature svg{width:100%;height:100%;display:block}.result-stats{text-align:left;gap:3px;margin:0;display:grid}.result-stats>div{border-bottom:1px solid #ffffff29;justify-content:space-between;gap:12px;padding:4px 0;display:flex}.result-stats dt{color:#d4e1e3}.result-stats dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.result-card h3{margin:12px 0 5px;font-size:.95rem}#result-mutations{color:#d4e1e3;flex-wrap:wrap;justify-content:center;gap:5px 12px;min-height:1.4em;margin:0 0 16px;padding:0;font-size:.86rem;list-style:none;display:flex}@media (width<=500px){.hud-top{align-items:center}.hud-actions{gap:5px}#pause-button,#mute-button{min-width:70px;min-height:48px;font-size:.78rem}.result-card{padding:15px}.result-grid{grid-template-columns:108px 1fr;gap:8px}#result-mutations{max-height:65px;overflow:auto}}@media (width<=350px){.hud-top{flex-wrap:wrap}.hud-stats{width:100%}.hud-actions{margin-left:auto}#onboarding{top:190px}}#mutation-toast{top:170px}@media (width<=500px){#mutation-toast{top:195px}}:root{color:#ecfff7;background:#07131e;font-family:Trebuchet MS,system-ui,sans-serif}#app{background:radial-gradient(circle at 50% 42%,#164455 0,#07131e 75%)}#menu{background:linear-gradient(145deg,#1a4553f5,#0b1c2cf7 78%);border:1px solid #9be7d090;border-radius:30px;width:min(92vw,510px);padding:24px 30px 30px;left:50%;right:auto;transform:translate(-50%,-50%);box-shadow:0 0 0 6px #6cdbc31c,0 22px 70px #020913b8,inset 0 1px #ffffff30}#menu-creature{filter:drop-shadow(0 0 16px #83ffb45a);width:132px;height:132px;margin:-8px auto 8px}#menu-creature svg{width:100%;height:100%;display:block}#menu h1{color:#e8ffd8;text-shadow:0 3px #124857,0 0 26px #7adfb351;font-size:clamp(2rem,6vw,3.5rem);line-height:1}#menu p{color:#d4eae9;margin-bottom:22px}button{background:linear-gradient(#b9f6d4,#79d7b3);transition:transform .12s,filter .12s;box-shadow:inset 0 2px #ffffff8a,0 5px #327a70,0 9px 20px #0006}button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px #ffffff65,0 2px #327a70}#arena-hud{background:linear-gradient(#061623f2 0,#092132dc 78%,#09213200 100%);padding-bottom:30px}.hud-stats strong{color:#c7ffe0}.hud-stats b,.hp-row b{color:#fff6b6}.hp-track{background:#244556;border:1px solid #8fcabb7a;height:12px;box-shadow:inset 0 2px 4px #06131d}#hp-fill{background:linear-gradient(90deg,#50beaa,#bcf3aa);box-shadow:0 0 14px #7de9b67d}#instructions,#active-mutations{color:#d8f1eb;text-shadow:0 1px 3px #000}#pause-button,#mute-button{box-shadow:inset 0 1px #ffffff70,0 3px #2b5b61,0 5px 10px #0005}#mute-button{background:linear-gradient(#cadbe1,#92b6bf)}#joystick{background:radial-gradient(circle,#517f8c7a 0,#082433c9 70%);border:3px solid #b6f5d2c9;box-shadow:0 0 0 7px #9ae6d323,0 0 28px #57deca4d,inset 0 0 18px #06212c}#joystick-knob{background:radial-gradient(circle at 32% 27%,#e2ffe1,#75d6ad 67%,#26837c);box-shadow:0 3px 9px #031621ad,inset 0 1px #ffffffae}#dodge-button{z-index:2;touch-action:none;background:linear-gradient(#d8f9ff,#73d9e6);min-width:106px;min-height:74px;padding:8px 12px;position:absolute;bottom:30px;right:24px}#damage-indicator{color:#ffd0b4;white-space:nowrap;text-shadow:0 1px 4px #000;font-size:.8rem}#dodge-button span{font-size:.75rem;display:block}#wave-transition{z-index:3;text-align:center;background:#102738f2;border:2px solid #90decb;border-radius:20px;justify-items:center;gap:12px;width:min(88vw,360px);padding:20px;display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 35px #0009}#transition-title{color:#d5ffdc;font-size:1.3rem}#transition-skip{min-height:48px}#transition-skip:hover:not(:disabled){transform:none}#diagnostics{z-index:5;color:#fff;pointer-events:none;text-align:center;overflow-wrap:anywhere;background:#000b;border-radius:4px;width:min(96vw,740px);padding:3px 8px;font:12px monospace;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}@media (width<=500px){#dodge-button{min-width:96px;bottom:26px;right:18px}}.choice-card,.result-card{background:linear-gradient(145deg,#254e58f9,#102738fc 60%,#0b1d2cfc);border-color:#90decb;border-radius:26px;box-shadow:0 0 0 6px #79e3c829,0 18px 55px #010b16c9,inset 0 1px #fff3}.choice-card h2,.result-card h2{color:#d5ffdc;text-shadow:0 2px #124552}.safe-options button{background:linear-gradient(150deg,#d6ffe5,#a3dccb);border:1px solid #ffffff70}#roulette-button{background:linear-gradient(#ffe9a5,#edb967);box-shadow:inset 0 2px #fff9,0 5px #a96b3d,0 9px 20px #0006}.roulette-area{border-top-color:#a5dedb78}#onboarding,#mutation-toast{background:linear-gradient(145deg,#245768f2,#133247f5);border-color:#9ce9cd;box-shadow:0 0 0 4px #79e3c822,0 10px 28px #000a}#mutation-toast{border:1px solid #9ce9cd}#result-creature{filter:drop-shadow(0 0 12px #83ffb552)}.result-stats>div{border-bottom-color:#b8e2d74a}#result-mutations li{background:#a9e8d122;border:1px solid #a9e8d14d;border-radius:99px;padding:3px 8px}@media (height<=600px){#menu{padding:13px 22px 18px}#menu-creature{display:none}#menu p{margin-bottom:10px}}#risk-value,#synergies-value{text-align:left;color:#ffe4ab;pointer-events:none;max-width:min(650px,88vw);margin:5px 0 0;font-size:.78rem}#synergies-value{color:#bcf7dc}#encounter-label{text-align:left;color:#ffdda0;pointer-events:none;max-width:min(650px,88vw);margin:5px 0 0;font-size:.8rem;font-weight:700}#encounter-label:empty{display:none}#choice-risk{color:#ffe4ab;font-weight:700}#roulette-prediction,#stabilize-prediction,#choice-synergies,#result-synergies{font-size:.82rem;line-height:1.4}#roulette-prediction{color:#ffe4ab}#choice-synergies,#result-synergies{color:#c8ffe4}.safe-options button .synergy-preview{color:inherit;font-weight:600}.stabilize-area:has(button:not(.hidden)){border-top:1px solid #a5dedb78;margin-top:10px;padding-top:10px}#stabilize-button{background:linear-gradient(#cbe5ff,#8cbfdc)}#roulette-skip{min-height:48px;margin-bottom:8px}.externally-paused #roll-status{animation-play-state:paused}#boss-bar{text-align:center;pointer-events:none;background:#102738ed;border:1px solid #ffd0a8;border-radius:12px;gap:4px;width:min(100%,410px);margin-top:8px;padding:8px 12px;display:grid}#boss-bar strong{color:#ffe3bd;font-size:.92rem}#boss-bar span{font-size:.8rem}#boss-health{accent-color:#f4a1be;width:100%;height:14px}#onboarding{max-width:340px}#result-creature{position:relative}#result-creature[data-finish]:not([data-finish=""]):after{content:"";animation:finale-burst var(--finishing-duration) ease-out both;pointer-events:none;border:5px double #ffe19d;border-radius:50%;position:absolute;inset:4%;box-shadow:0 0 20px #ffe19d88}#result-creature[data-finish=acid]:after{border-color:#b3f65b;box-shadow:0 0 24px #b3f65b88}#result-creature[data-finish=impact]:after{border-color:#8ef8ff;border-radius:20%}#app[inert] #result-creature:after{animation-play-state:paused}#export-run-summary{background:#b8cad0;margin-top:14px;font-size:.8rem}@keyframes finale-burst{0%{opacity:1;transform:scale(.5)rotate(0)}to{opacity:0;transform:scale(1.35)rotate(35deg)}}@media (prefers-reduced-motion:reduce){#result-creature:after{opacity:.6;animation:none!important}}@media (height<=500px){.choice-card{padding:14px 20px}.choice-card p{margin:7px 0}.safe-options{margin:10px 0}}#arena-hud.boss-active #instructions,#arena-hud.boss-active #active-mutations,#arena-hud.boss-active #synergies-value{display:none}#revive{z-index:4;padding:12px;top:50%;transform:translateY(-50%)}.reward-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin:18px 0 8px;display:flex}.reward-actions button{flex:220px;min-height:52px}#safe-refresh{background:linear-gradient(#cbe5ff,#8cbfdc);max-width:100%;margin:0 0 10px}#safe-refresh-status:empty,#result-ad-status:empty{display:none}#safe-refresh-status,#result-ad-status{font-size:.85rem}#result-assisted{color:#ffe4ab;font-size:.85rem}.hp-row{width:270px;margin:0;position:absolute;top:24px;left:50%;transform:translate(-50%)}#boss-bar{margin:16px auto 0}#dodge-button{border-radius:22px;width:88px;min-width:88px;height:88px;left:24px;right:auto}#dodge-button svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:34px;margin:0 auto 3px;display:block}#pause-menu{z-index:4;background:#020d18a8;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.pause-card{text-align:center;background:linear-gradient(145deg,#254e58fa,#0b1d2cfc);border:1px solid #90decb;border-radius:26px;width:min(100%,440px);max-height:calc(100svh - 32px);padding:24px;overflow-y:auto;box-shadow:0 0 0 6px #79e3c829,0 18px 55px #010b16c9}.pause-card h2{color:#d5ffdc;margin:0 0 12px}.pause-card h3{font-size:.95rem}#pause-instability{color:#ffe4ab;font-weight:700}#mutations-value{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.mutation-icon{color:#102228;background:#a3dccb;border:1px solid #ffffff80;border-radius:10px;place-items:center;width:56px;min-width:56px;height:56px;min-height:56px;padding:0;font-size:1.9rem;display:grid}.mutation-icon[data-pool=positive]{background:#ffe19d}.mutation-icon[data-pool=mixed]{background:#f3af83}.mutation-icon[data-pool=curse]{background:#c3a4eb}#mutation-detail{color:#d8f1eb;min-height:3em;font-size:.85rem;line-height:1.5}#pause-menu #risk-value,#pause-menu #synergies-value,#pause-menu #encounter-label{text-align:center;margin:8px 0}#resume-button{margin-top:14px}@media (width<=900px){.hp-row{width:min(270px,100%);margin:14px auto 0;position:static;transform:none}}@media (width<=500px){#dodge-button{min-width:88px;left:18px;right:auto}}#pause-menu{pointer-events:none}.pause-card{pointer-events:auto}.mode-buttons{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.mode-buttons button{max-width:100%}#endless-button{color:#382008;background:linear-gradient(#ffc477,#f39838);box-shadow:inset 0 2px #fff9,0 5px #a85b22,0 9px 20px #0006}#endless-button:active:not(:disabled){box-shadow:inset 0 2px #ffffff65,0 2px #a85b22}
