@font-face{font-family:Pixel;src:url('./vendor/pixel.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Pixel,monospace;color:#fff9e8;background:#778f91;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #fff4ba;outline-offset:5px}button:disabled{cursor:default}button:active{transform:translateY(2px)}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(19,35,35,.6),transparent 65%),linear-gradient(0deg,rgba(13,31,29,.4),transparent 25%)}body.playing .vignette{background:linear-gradient(0deg,rgba(13,31,29,.42),transparent 28%,transparent 80%,rgba(27,37,40,.18))}header{position:absolute;z-index:5;top:32px;left:38px;right:38px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:14px;color:inherit;text-decoration:none;font-size:18px;text-shadow:0 2px 4px #283a3d66}.brand-icon{font-size:28px;color:#f2c6ba}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:9px;opacity:.7}.top-actions{display:flex;gap:10px}.glass{background:#213e3c70;border:1px solid #e9eadc30;backdrop-filter:blur(10px)}.icon-button{height:42px;min-width:42px;padding:0 13px;font-size:20px}.icon-button span{font-size:12px;margin-left:8px}#intro{position:absolute;left:7.5%;top:28%;z-index:4;text-shadow:0 2px 12px #24413d55}.eyebrow{font-size:12px;letter-spacing:2px;color:#e4ddc1;display:flex;gap:10px;align-items:center}.eyebrow span{display:block;width:7px;height:7px;background:#dfc695;box-shadow:0 0 15px #ffe5a3}h1{font-size:clamp(36px,4.2vw,60px);line-height:1.45;letter-spacing:3px;font-weight:normal;margin:25px 0 20px}.intro-copy{font-size:16px;line-height:2.05;color:#e5e7d7;margin:0 0 35px}.primary{border:1px solid #ffeece;border-bottom:4px solid #aa8d60;background:#e9d3a4;color:#344b42;padding:16px 23px;box-shadow:inset 0 2px #fff2d8,0 6px 24px #203a3530;transition:background .15s}.primary:hover{background:#f7e4bb}.primary span{margin-left:25px}#start{min-width:290px;text-align:left}.intro-hint{margin-top:23px;font-size:11px;color:#e2e7d5aa;display:flex;align-items:center;gap:10px}kbd{font:inherit;display:inline-block;border:1px solid #e4e6d53d;padding:4px 6px;color:#f5f1da}i{font-style:normal}.intro-foot{margin-top:60px;font-size:11px;letter-spacing:1px;color:#d7dfceaa}.intro-foot>span:first-child{color:#e1b9b5}.divider{margin:0 15px;opacity:.35}#loading{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;background:#4a665c;z-index:20;font-size:14px}.loading-heart{color:#f0c8ba;font-size:45px;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.4;transform:scale(.95)}}.quest{position:absolute;top:106px;left:50%;transform:translateX(-50%);padding:14px 24px;display:flex;align-items:center;gap:16px;min-width:290px;pointer-events:none}.quest-spark{color:#ead29f;font-size:26px}.quest small{color:#d1d9c6;font-size:10px;letter-spacing:1px}.quest p{margin:7px 0 0;font-size:14px}#place{position:absolute;left:38px;top:43%;pointer-events:none;text-shadow:0 2px 5px #203a33}#place-no{font-size:10px;letter-spacing:2px;color:#f8d9a4}#place h2{font-size:24px;font-weight:normal;margin:12px 0}#place p{font-size:12px;opacity:.75}#marker{position:absolute;pointer-events:none;text-align:center;filter:drop-shadow(0 2px 4px #17372d)}#marker span{font-size:26px;color:#ffe2a7;display:block;animation:pulse 2s infinite}#marker small{font-size:11px;white-space:nowrap}#hud{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:440px}.hud-top{display:flex;justify-content:space-between;align-items:center;padding:0 4px 9px}.hearts{font-size:16px;color:#e9a3a4;letter-spacing:-2px;text-shadow:1px 2px #48393d}#item-label{font-size:10px;text-shadow:0 2px #263b34}.xp{height:5px;background:#1d332bc9;border:1px solid #a2b08a57;margin:0 4px 6px}.xp>div{height:100%;background:#bdd68e;box-shadow:0 0 7px #c7e995;transition:width .4s;width:0}#hotbar{display:flex;padding:5px;background:#312f2cd9;border:2px solid #b4b5a1;box-shadow:0 0 0 2px #293932,inset 0 0 0 2px #514f43;gap:4px;justify-content:center}.slot{position:relative;width:79px;height:65px;background:#77786b9c;border:3px solid;border-color:#464c45 #a7a995 #a7a995 #464c45;display:grid;place-items:center;padding:6px}.slot.selected{background:#b3b79a88;outline:2px solid #fff3c4;border-color:#fff7d9;box-shadow:0 0 15px #ffe3a730}.slot.empty{opacity:.6}.slot svg{width:39px;height:39px;image-rendering:pixelated;filter:drop-shadow(2px 3px #24392d80)}.slot .number{position:absolute;left:4px;top:3px;font-size:9px;color:#eee8d9a6}.slot .count{position:absolute;right:4px;bottom:3px;font-size:11px}.hud-hint{display:flex;justify-content:center;gap:18px;font-size:9px;color:#e0e6d6aa;margin:10px 0 0}.hud-hint kbd{padding:1px 3px}#context{position:absolute;bottom:177px;left:50%;transform:translateX(-50%);text-align:center;min-width:260px}#context-text{font-size:13px;text-shadow:0 2px 4px #193528;line-height:1.6}#action{padding:12px 20px;font-size:14px}#rock-progress{width:180px;margin:12px auto;height:6px;background:#18382ed9}#rock-progress span{display:block;background:#efd29e;height:100%;width:0;transition:width .2s}#toast{position:absolute;top:196px;left:50%;transform:translateX(-50%);font-size:13px;background:#273b34e6;padding:12px 22px;opacity:0;transition:opacity .3s;pointer-events:none;text-align:center;min-width:260px}#toast.show{opacity:1}dialog{color:#304638;font-family:Pixel,monospace;max-width:calc(100% - 32px);border:3px solid #8e8169;box-shadow:0 0 0 3px #e2d5b7,0 30px 100px #102a2380}dialog::backdrop{background:#142c3080;backdrop-filter:blur(7px)}.pixel-dialog{background:#eae2ca;padding:40px;min-width:440px}.close{position:absolute;right:12px;top:10px;background:none;border:0;color:#676d59;font-size:28px}.pixel-dialog>small{font-size:10px;letter-spacing:2px;color:#8c9778}.pixel-dialog h2{font-weight:normal;font-size:24px;margin:20px 0 28px}.help-row{display:flex;justify-content:space-between;font-size:12px;align-items:center;gap:25px;margin:15px 0}.help-row kbd{color:#65735b;border-color:#9ba488}.pixel-dialog p{font-size:12px;line-height:2;color:#77806a;margin:25px 0}.pixel-dialog>.primary{width:100%}.letter-dialog{width:490px;background:#c3b99c;padding:16px}.letter-top{display:flex;justify-content:space-between;font-size:12px;margin:3px 24px 18px 3px;color:#515e49}.paper{padding:30px 36px;background:#f1e6c8;position:relative;box-shadow:inset 0 0 30px #c6b28c55;border:2px solid #a69b7c}.paper:after{content:'';position:absolute;inset:10px;pointer-events:none;border:1px solid #c8b89488}.paper-heart{display:block;text-align:center;color:#c5837c;font-size:26px;margin:0 0 14px}.paper>small{display:block;text-align:center;font-size:8px;letter-spacing:1px;color:#9a967b}.paper h2{font-weight:normal;font-size:24px;margin:30px 0 22px}.letter-content{font-size:24px;line-height:1.8;letter-spacing:0}.signature{font-size:12px;text-align:right;margin:26px 0 10px;color:#848569}.signature span{color:#bf7e77}.letter-dialog>.primary{margin-top:16px;width:100%;font-size:14px}.text-button{border:0;background:transparent;display:block;margin:14px auto 3px;color:#65705b;font-size:12px}#ending{position:absolute;inset:0;z-index:9;background:#193e3477;backdrop-filter:blur(3px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#ending>span{font-size:60px;color:#f5b7b2;filter:drop-shadow(0 0 25px #f9aca5)}#ending h2{font-size:30px;font-weight:normal;margin:30px 20px 10px}#ending p{font-size:14px;color:#e0e8ce;margin-bottom:35px}#mobile-pad{display:none}#fatal{position:absolute;z-index:30;inset:0;background:#395748;display:grid;place-content:center;text-align:center;padding:25px}#fatal h2{font-weight:normal}#fatal p{line-height:2}body.playing #intro{display:none}
@media(max-width:700px){header{top:22px;left:20px;right:20px}.brand{font-size:14px;gap:9px}.brand small{font-size:6px;letter-spacing:1px}.brand-icon{font-size:23px}.icon-button{min-width:34px;height:36px;padding:0 9px}.icon-button span{display:none}.top-actions{gap:7px}#intro{left:8%;top:25%}h1{font-size:36px;line-height:1.5}.intro-copy{font-size:12px;line-height:2.2;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1px}#start{min-width:260px;font-size:14px}.intro-hint{font-size:9px}.intro-foot{margin-top:35px;font-size:9px}.quest{top:85px;padding:11px 16px;min-width:270px}.quest p{font-size:12px}.quest small{font-size:9px}#place{left:20px;top:26%}#place h2{font-size:18px}#place p{font-size:10px;max-width:130px;line-height:1.7}#place-no{font-size:9px}#hud{width:300px;bottom:max(16px,env(safe-area-inset-bottom))}.slot{height:48px;width:54px;padding:5px}.slot svg{width:31px;height:31px}.hud-hint{display:none}.hearts{font-size:11px}#item-label{font-size:8px}.hud-top{padding-bottom:6px}#mobile-pad{position:absolute;bottom:137px;left:20px;display:grid;grid-template-columns:42px 42px 42px;grid-template-rows:42px 42px;gap:3px}#mobile-pad button{background:#324e4380;border:1px solid #d9e3c14d;backdrop-filter:blur(4px);touch-action:none;font-size:15px}#mobile-pad button:first-child{grid-column:2}#mobile-pad button:nth-child(2){grid-column:1;grid-row:2}#mobile-pad button:nth-child(3){grid-column:2;grid-row:2}#mobile-pad button:nth-child(4){grid-column:3;grid-row:2}#context{bottom:143px;left:auto;right:18px;transform:none;min-width:150px;max-width:190px}#context-text{font-size:10px}#action{font-size:12px;padding:12px}#toast{top:160px;font-size:11px}.pixel-dialog{min-width:0;width:360px;padding:32px 22px}.pixel-dialog h2{font-size:20px}.help-row{font-size:10px;gap:10px}.letter-dialog{width:360px;padding:12px}.paper{padding:24px 22px}.paper h2{font-size:24px;margin:22px 0 15px}.letter-content{font-size:24px;line-height:1.65}.signature{font-size:10px;margin-top:20px}#ending h2{font-size:24px;line-height:1.7}#ending p{font-size:12px}#marker small{font-size:9px}}
@media(max-height:600px){header{top:15px}#intro{top:22%}h1{font-size:32px;margin:15px 0}.intro-copy{margin-bottom:18px}.intro-foot{display:none}.quest{top:65px}.letter-dialog{max-height:95vh;overflow:auto}.paper{padding-top:15px;padding-bottom:15px}.paper-heart{display:none}.paper h2{margin:16px 0 10px}.letter-content{font-size:18px;line-height:1.6}#place{top:35%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Garden edition */
#intro h1{font-size:clamp(42px,5vw,72px);letter-spacing:4px}#music-panel{position:absolute;z-index:8;right:38px;top:90px;width:320px;padding:18px;background:#26392deB;color:#eee4cd}.music-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px}.music-heading button{background:none;border:0;font-size:22px;padding:0 0 0 12px}#music-panel p{font-size:10px;opacity:.65;margin:7px 0 16px}#music-panel small{display:block;line-height:1.7;font-size:10px;opacity:.7;margin-top:12px}#music-panel a{display:block;font-size:10px;color:#e4c894;margin-top:12px;text-decoration:none}body.indoors #place{opacity:.65}.quest{background:#293b349e}.vignette{background:linear-gradient(90deg,rgba(13,27,26,.65),transparent 70%),linear-gradient(0deg,rgba(13,31,29,.35),transparent 25%)}
@media(max-width:700px){#intro h1{font-size:42px;letter-spacing:1px}#music-panel{right:20px;top:72px;width:calc(100% - 40px);max-width:320px}#intro{top:30%}}
