:root{--cream:#eef0df;--cream-shadow:#c0b99d;--ink:#2b3524;--green:#3d766a;--green-dark:#133e3d;--blush:#e5ae97;--rose:#d98f72;--rose-dark:#b5662e;--burgundy:#7a3232;--burgundy-dark:#5a2222;--gold:#c9a876;--background:#f6f3e2;--art-width:min(100vw,calc(100dvh * 0.5505))}*{box-sizing:border-box}html{text-size-adjust:100%}body,html{margin:0;padding:0}body{background:var(--background);color:var(--ink);font-family:JetBrains Mono,monospace;min-height:100vh;min-height:100dvh}body:before{content:"";position:fixed;top:0;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,calc(100vh * .5505));width:min(100%,calc(100dvh * .5505));z-index:-1;background:url(/sky-clouds.png) top/100% auto no-repeat,url(/ground.png) bottom/100% auto no-repeat,var(--background);background-origin:border-box;background-clip:border-box;box-shadow:0 0 60px rgba(43,53,36,.45)}@media (min-aspect-ratio:256/465){body:before{border:4px solid var(--ink)}}.scene{position:relative;min-height:100vh;min-height:100dvh;width:min(100%,calc(100vh * .5505));width:min(100%,calc(100dvh * .5505));margin:0 auto;display:grid;grid-template-rows:10fr auto 15fr auto 20fr;justify-items:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))}@media (max-aspect-ratio:256/465){.scene{grid-template-rows:10fr auto 12fr auto 18fr}}.scene:has(.scene__body.start){grid-template-rows:10fr auto 19fr auto 20fr}.scene:has(.scene__body.finish){grid-template-rows:10fr auto 18fr auto 20fr}.scene__header{grid-row:2;font-family:Press Start\ 2P,monospace;font-size:clamp(20px,5.5vw,28px);line-height:1.4;color:var(--ink);text-align:center;margin:0}.scene__body{grid-row:4;width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:24px}.state-text{grid-row:2}.scene>.ok-btn{grid-row:4;align-self:start}.scene__prompt{font-family:Press Start\ 2P,monospace;font-size:clamp(11px,3vw,14px);line-height:1.9;color:var(--ink);text-align:center;margin:0;white-space:pre-line}.scene__prompt a{color:var(--green-dark);text-decoration:underline;text-underline-offset:3px;word-break:break-all}.scene__image{width:calc(var(--art-width) * .8);object-fit:contain;justify-content:center}.scene__hint{font-family:JetBrains Mono,monospace;font-size:15px;color:rgba(43,53,36,.65);text-align:center;margin:0}.loading-bar{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(280px,80vw);height:34px;border:4px solid var(--ink);padding:4px;opacity:0;animation:stamp-in .2s steps(3) .35s forwards}.loading-bar:after,.loading-bar:before{content:"";position:absolute;top:1px;bottom:1px;width:4px;background:var(--ink)}.loading-bar:before{left:-8px}.loading-bar:after{right:-8px}.loading-bar__fill{height:100%;width:0;background-image:repeating-linear-gradient(90deg,var(--green) 0 20px,transparent 20px 24px);animation:load 3s linear infinite}@keyframes load{0%{width:0}55%{width:60%}80%{width:60%}81%{width:0}to{width:0}}@media (prefers-reduced-motion:reduce){.loading-bar__fill{animation:none;width:60%}}.state-text{font-family:Press Start\ 2P,monospace;font-size:12px;line-height:2;color:var(--ink);text-align:center;margin:0}.progress{position:absolute;top:max(18px,env(safe-area-inset-top));left:18px;display:flex;align-items:center;width:min(58vw,250px)}.progress__star{width:38px;height:38px;margin-right:6px;position:relative;z-index:1;flex:none;filter:drop-shadow(2px 2px 0 var(--cream-shadow))}.progress__track{flex:1 1;height:20px;background:#fff;border:3px solid var(--ink);border-radius:10px;overflow:hidden;box-shadow:2px 2px 0 var(--cream-shadow)}.progress__fill{height:100%;background:var(--rose);transition:width .5s steps(4)}.answer-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:24px}.answer-input{width:100%;max-width:440px;font-family:JetBrains Mono,monospace;font-size:20px;padding:14px 16px;background:#fff;color:var(--ink);border:3px solid var(--ink);border-radius:10px;box-shadow:inset 0 0 0 3px var(--cream),3px 3px 0 var(--cream-shadow);outline:none}.answer-input::placeholder{color:rgba(43,53,36,.4)}.answer-input:focus{border-color:var(--rose-dark);box-shadow:inset 0 0 0 3px var(--cream),3px 3px 0 var(--rose)}.ok-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-block;font-family:Press Start\ 2P,monospace;font-size:13px;letter-spacing:.02em;text-align:center;text-decoration:none;cursor:pointer;color:var(--cream);background:var(--green);padding:15px 32px;border:3px solid var(--ink);border-radius:8px;box-shadow:4px 4px 0 var(--ink);transition:transform .06s steps(2),box-shadow .06s steps(2)}.ok-btn:hover{filter:brightness(1.05)}.ok-btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}.ok-btn:disabled{cursor:default;opacity:.7}.ok-btn:disabled:active{transform:none;box-shadow:4px 4px 0 var(--ink)}.ok-btn.shake{animation:btn-shake .4s steps(2)}@keyframes btn-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}.error-message{font-family:Press Start\ 2P,monospace;font-size:13px;letter-spacing:.06em;line-height:1.6;color:var(--burgundy);margin:0;opacity:0;animation:stamp-in .2s steps(3) forwards}@keyframes stamp-in{0%{opacity:0}to{opacity:1}}.reveal{display:flex;flex-direction:column;align-items:center;gap:22px;opacity:0;animation:reveal-in .35s ease .05s forwards}@keyframes reveal-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hearts{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px}.heart{flex:none;animation:heart-blink 1.5s steps(2) infinite}@keyframes heart-blink{0%,to{opacity:1}50%{opacity:.12}}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--rose-dark);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}