@font-face{font-family:Pixelify;src:url(../fonts/PixelifySans.ttf) format("truetype");font-style:normal;font-weight:400 700;font-display:swap}:root{font-family:Pixelify,Courier New,monospace;color:#f6e4c4;background:#242326;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 44%,#50483f,#242326 75%)}button{font:inherit;cursor:pointer;border:0}button:focus-visible{outline:3px solid #fff3b5;outline-offset:4px}#shell{width:min(96vw,calc((100vh - 32px)*16/9),1408px);aspect-ratio:16/9;position:relative;container-type:inline-size;background:#393435;overflow:hidden;border:4px solid #171b1c;box-shadow:0 0 0 2px #7d6952,0 18px 70px #0008}#game,#overlay,#hud{position:absolute;inset:0}canvas,img.pixel-icon,.wordmark{image-rendering:pixelated}canvas{display:block}#hud,#overlay{pointer-events:none}#overlay:not(.playing){background:#24232648}#overlay button{pointer-events:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.title-copy{position:absolute;left:6%;top:7%;width:62%}.eyebrow{font-size:clamp(11px,1.16cqw,17px);letter-spacing:.11em;color:#ddc095;font-weight:600}.wordmark{display:block;width:36cqw;height:auto;margin:1.3cqw 0 .5cqw;filter:drop-shadow(0 3px 0 #161b1c)}h1{font-size:6.6cqw;line-height:.9;margin:1.6cqw 0;color:#f6e4c4}h1 span{color:#edbb58}.tagline{font-size:2.35cqw;color:#eeb7c2;margin:.9cqw 0 1.2cqw;line-height:1.1}.story{font-size:1.55cqw;line-height:1.25;color:#e3d4ba;margin:0 0 1.8cqw}.actions{display:flex;gap:1.1cqw;align-items:center}.actions button,.stack button{padding:1.05cqw 1.7cqw;background:#edbb58;color:#242326;box-shadow:inset 0 3px #ffe0a1,inset 0 -3px #b97d3c,3px 0 #8f6138,-3px 0 #8f6138,0 4px #171b1c;font-size:1.85cqw;font-weight:600;transition:background .12s,transform .12s}.actions button:hover,.stack button:hover{background:#ffce77;transform:translateY(-1px)}.actions button:active,.stack button:active{transform:translateY(2px)}.actions small,.stack small{font-size:1.05cqw;opacity:.65;margin-left:1.6cqw;font-weight:400}.secondary{background:#39483e!important;color:#f0dfc0!important;box-shadow:inset 0 2px #70816c,inset 0 -2px #24362d,2px 0 #24362d,-2px 0 #24362d,0 3px #171b1c!important}.controls{display:flex;gap:1.3cqw;font-size:clamp(11px,1.23cqw,18px);margin-top:2cqw;color:#e5d7bf;white-space:nowrap}kbd{font:inherit;display:inline-block;color:#f6e4c4;background:#292e2a;border:1px solid #a49e80;border-bottom:3px solid #74755d;padding:.12em .3em}.fine{font-size:clamp(11px,1.13cqw,17px);color:#c1bca1;margin:1.1cqw 0 0}.title-bottom{position:absolute;left:6%;right:4%;bottom:5%;display:flex;align-items:center;justify-content:space-between;font-size:clamp(10px,1.05cqw,15px);color:#c7b99c}.title-bottom button{padding:.65cqw 1cqw;font-size:1.35cqw}.edition{position:absolute;right:4%;bottom:1.5%;font-size:clamp(9px,.9cqw,14px);letter-spacing:.06em;color:#a69b84}.portrait-caption{position:absolute;top:76%;left:66%;width:28%;text-align:center;font-size:1.8cqw;letter-spacing:.2em;color:#edbb58}.portrait-caption span{display:block;font-size:1.2cqw;letter-spacing:0;color:#e3cfb4;margin-top:.4cqw;line-height:1.2}.hud-top{height:9.4%;background:#242b28f5;display:flex;align-items:center;gap:2%;padding:0 7% 0 2.4%;font-size:2cqw;box-shadow:0 2px #b99260}.health{font:1.8cqw Arial,sans-serif;letter-spacing:.11em;flex:1;line-height:1}.heart-full{color:#eeb7c2;text-shadow:0 2px #a25c6a}.heart-empty{color:#626b61}.timer{color:#ffdda0}.timer span,.score span{font-size:1.05cqw;color:#c1c3a5}.score{margin-left:auto}#pause{position:absolute;right:2%;top:1.8%;z-index:30;display:none;pointer-events:auto;color:#f6e4c4;background:#455446;font-size:1.8cqw;line-height:1;padding:.2cqw .55cqw;border-bottom:2px solid #94a07e}#shell[data-state=PLAYING] #pause{display:block}.xp{position:absolute;top:9.4%;left:0;right:0;height:.8%;background:#242b28}.xp b{height:100%;display:block;background:#edbb58}.xp span{position:absolute;right:2.4%;top:.65cqw;font-size:1.2cqw;color:#f6e4c4;background:#334435;padding:.1cqw .45cqw}.dash{position:absolute;left:2.5%;bottom:3%;font-size:1.2cqw;color:#c8c5ae;background:#242b28ee;padding:.55cqw .8cqw;min-width:19%;border-left:3px solid #667762}.dash.ready{color:#ffdda0;border-color:#edbb58}.dash kbd{font-size:1cqw}.dash>div{height:.35cqw;background:#53624f;margin-top:.5cqw}.dash b{display:block;height:100%;background:#edbb58}.hint{position:absolute;bottom:4.5%;left:36%;color:#fff0d4;text-shadow:1px 2px #242326;font-size:1.4cqw}.modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#2d3931f7;box-shadow:0 0 0 3px #c99f68,0 0 0 7px #202824,0 12px 0 7px #171b1c80;padding:2.5cqw;pointer-events:auto}.modal:before{content:"";position:absolute;inset:7px;border:1px solid #5c6b53;pointer-events:none}.modal h2{font-size:3.6cqw;font-weight:600;line-height:1;margin:1cqw 0;color:#ffe1ad}.modal p{font-size:1.4cqw;color:#d6cbb1;margin:.8cqw 0}.upgrades{width:88%;padding:2.6cqw 2.5cqw 1.8cqw;background:#344135fa}.treats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw;margin:1.9cqw 0 1.6cqw}.treat{text-align:left;background:#e8d4aa;color:#343b30;padding:1.4cqw 1.35cqw;display:flex;flex-direction:column;min-height:23cqw;position:relative;box-shadow:inset 0 4px #fff0ca,inset 0 -4px #b99a6a,3px 0 #b99a6a,-3px 0 #b99a6a,0 6px #192b22;transition:background .1s,transform .1s}.treat:hover,.treat:focus-visible{background:#f6e4bd;transform:translateY(-3px)}.treat:focus-visible{outline-color:#eeb7c2}.treat-top{display:flex;justify-content:space-between;align-items:flex-start}.pixel-icon{width:4.8cqw;height:4.8cqw;object-fit:contain}.treat-top kbd{font-size:1.3cqw;color:#e8d4aa;background:#425442;border-color:#88936c;min-width:2.4cqw;text-align:center}.rank{font-size:1.05cqw;color:#6c6751;letter-spacing:.05em;margin-top:.8cqw}.treat strong{font-size:2.05cqw;line-height:1.08;margin:.4cqw 0 .65cqw;font-weight:700}.effect-value{font-size:1.2cqw;color:#704430;border-top:1px dashed #a8946d;padding-top:.65cqw;line-height:1.2}.description{font-size:1.25cqw;line-height:1.25;color:#50573f;margin-top:.7cqw}.choose{font-size:1.15cqw;color:#775139;margin-top:auto;padding-top:1cqw}.upgrades .fine{font-size:1.15cqw;color:#c8c4a8}.pause-panel{width:58%}.pause-panel h2{font-size:3.15cqw}.stack{display:flex;flex-direction:column;gap:1cqw;max-width:68%;margin:1.8cqw auto 1.4cqw}.stack button{font-size:1.65cqw;padding:.75cqw}.ending-copy{position:absolute;left:6%;top:13%;width:60%}.ending-copy h2{font-size:5.1cqw;line-height:1.03;font-weight:600;margin:1.7cqw 0}.ending-copy h2 em{color:#edbb58;font-style:normal}.ending-copy>p{font-size:1.6cqw;color:#e0cfb1}.result{display:flex;gap:3.5cqw;margin:3cqw 0}.result span{display:block;font-size:1.1cqw;letter-spacing:.06em;color:#b8c4a2}.result strong{display:block;font-size:2.8cqw;color:#f6d69a;margin-top:.4cqw}.ending-caption{position:absolute;left:66%;width:28%;top:79%;text-align:center;font-size:1.1cqw;line-height:1.3;color:#e6ce9f}.boss-bar{position:absolute;left:28%;right:28%;top:12.5%;font-size:1.4cqw;color:#ffe7be;background:#242b28ed;padding:.5cqw .8cqw;border-bottom:2px solid #9c6a4d}.boss-bar>span{display:block;text-align:center}.boss-bar small{display:block;font-size:1.05cqw;color:#d8c8a2;margin:.2cqw 0}.boss-bar>div{background:#5c5b49;height:.6cqw;margin-top:.4cqw}.boss-bar b{display:block;background:#d88866;height:100%}.boss-intro{position:absolute;top:28%;left:24%;right:24%;text-align:center;background:#242b28ed;padding:1.1cqw;border-top:2px solid #edbb58;border-bottom:2px solid #edbb58}.boss-intro span{display:block;font-size:1.05cqw;letter-spacing:.1em;color:#d8c8a2}.boss-intro strong{display:block;font-size:3cqw;font-weight:600;color:#ffdda0}.boss-intro em{display:block;font-size:1.5cqw;color:#eeb7c2;font-style:normal}.upgrade-toast{position:absolute;bottom:3%;left:36%;display:flex;align-items:center;gap:.65cqw;background:#283a2bee;padding:.4cqw .9cqw;color:#ffdda0;font-size:1.3cqw}.upgrade-toast .pixel-icon{width:2.7cqw;height:2.7cqw}@media(prefers-reduced-motion:reduce){*{transition:none!important}.treat:hover,.treat:focus-visible,.actions button:hover,.stack button:hover{transform:none}}
