*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#app{width:100vw;height:100vh;overscroll-behavior:none;touch-action:none;cursor:grab;background-color:#d8ecfa;height:100dvh;font-family:Avenir Next,Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}body.is-mobile,body.is-mobile #app{cursor:default}body.pointer-locked,body.pointer-locked #app{cursor:none}canvas{touch-action:none;outline:none;width:100%;height:100%;display:block}.loading-screen{z-index:120;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);cursor:default;touch-action:manipulation;background:radial-gradient(circle at 50% 42%,#fbf6ea 0%,#efe4cf 68%,#e4d4b9 100%);justify-content:center;align-items:center;transition:opacity .56s cubic-bezier(.22,1,.36,1),visibility .56s;display:flex;position:fixed;inset:0}.loading-screen.is-loaded{opacity:0;visibility:hidden;pointer-events:none}.loading-minimal{flex-direction:column;align-items:center;gap:20px;display:flex}.sparrow-progress{justify-content:center;align-items:center;display:flex}.sparrow-silhouette-base{fill:#3a2d242e;stroke:#3a2d242e}.sparrow-silhouette-fill{fill:#3a2d24e0;stroke:#3a2d24e0}.loading-status{text-transform:uppercase;color:#3a2d24d1;font-size:14px;font-weight:700}.loading-status.is-error{text-align:center;text-transform:none;color:#8f3926;background:#fcf1e8eb;border:1.5px solid #b04c346b;border-radius:12px;max-width:min(420px,100vw - 32px);padding:10px 16px;line-height:1.45}.loading-status.is-hidden,.press-start-btn.is-hidden{display:none}.press-start-btn{appearance:none;color:#3a2d24;text-transform:uppercase;cursor:pointer;touch-action:manipulation;background:#fdf9f0b8;border:2px solid #3a2d2461;border-radius:999px;padding:10px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:transform .14s,background-color .14s,border-color .14s;animation:2.1s ease-in-out infinite pressStartPulse;box-shadow:0 4px 14px #261c121a}.press-start-btn:hover,.press-start-btn:focus-visible{background:#fffcf6f5;border-color:#3a2d24ad;outline:none;transform:translateY(-1px)}.press-start-btn:active{transform:translateY(1px)}@keyframes pressStartPulse{0%,to{opacity:.86}50%{opacity:1}}.tutorial-overlay{z-index:20;pointer-events:none;max-width:calc(100vw - 24px);transition:opacity .28s,transform .28s cubic-bezier(.22,1,.36,1),visibility .28s;position:fixed;top:16%;left:50%;transform:translate(-50%,-50%)}.tutorial-overlay.is-mobile{top:calc(env(safe-area-inset-top,0px) + 52px)}.tutorial-overlay.is-idle{opacity:0;visibility:hidden;transform:translate(-50%,-42%)scale(.94)}.tutorial-overlay.is-complete{opacity:0;visibility:hidden;transform:translate(-50%,-32%)scale(.9)}.tutorial-keys{justify-content:center;align-items:center;gap:10px;display:flex}.tutorial-keys.step-pop{animation:.26s cubic-bezier(.22,1,.36,1) indieStepPop}@keyframes indieStepPop{0%{opacity:.35;transform:scale(.86)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.indie-key{color:#232128;letter-spacing:.05em;background:#fbf5e8;border:2px solid #dfd2bc;border-radius:11px;justify-content:center;align-items:center;min-width:48px;height:48px;padding:0 14px;font-size:18px;font-weight:800;transition:transform 70ms,box-shadow 70ms,background-color .1s;display:inline-flex;transform:translateY(0);box-shadow:0 5px #b7a78e,0 8px 16px #0c0e1652}.indie-key.is-wide{letter-spacing:.12em;min-width:148px;font-size:16px}.indie-key.is-medium{letter-spacing:.1em;min-width:92px;font-size:14.5px}.indie-key.is-square{letter-spacing:0;width:46px;min-width:46px;height:46px;padding:0;font-size:17px}.wasd-cluster{grid-template-rows:repeat(2,46px);grid-template-columns:repeat(3,46px);place-items:center;gap:7px 6px;display:grid}.wasd-w{grid-area:1/2}.wasd-a{grid-area:2/1}.wasd-s{grid-area:2/2}.wasd-d{grid-area:2/3}.indie-key.is-pressed{background:#ffd778;border-color:#e5b248;transform:translateY(4px);box-shadow:0 1px #b68a32,0 3px 6px #0c0e1638}.mobile-tutorial-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;display:inline-flex}.mobile-touch-pill{color:#262229;white-space:nowrap;background:#fbf5e8f0;border:2px solid #dfd2bc;border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 8px;transition:transform 80ms,box-shadow 80ms,background-color .1s;display:inline-flex;box-shadow:0 3px #b7a78e,0 6px 14px #0c0e1638}.mobile-touch-pill.is-pressed{background:#ffd778;border-color:#e5b248;transform:translateY(2px);box-shadow:0 1px #b68a32,0 3px 8px #0c0e162e}.mobile-touch-gesture{color:#fbf5e8;letter-spacing:.08em;background:#332a24;border-radius:999px;justify-content:center;align-items:center;padding:2px 7px;font-size:10.5px;font-weight:800;display:inline-flex}.mobile-touch-hint{letter-spacing:.01em;font-size:12.5px;font-weight:700}.journal-hud{top:calc(env(safe-area-inset-top,0px) + 14px);left:calc(env(safe-area-inset-left,0px) + 14px);z-index:18;pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;transition:opacity .45s,transform .45s cubic-bezier(.22,1,.36,1),visibility .45s;display:flex;position:fixed}.journal-hud.is-hidden{opacity:0;visibility:hidden;transform:translateY(-10px)}.journal-top-bar{pointer-events:auto;align-items:center;gap:8px;display:inline-flex}.journal-pill{appearance:none;cursor:pointer;touch-action:manipulation;color:#29252c;white-space:nowrap;background:#fbf5e8eb;border:2px solid #44382e38;border-radius:999px;align-items:center;gap:9px;padding:7px 13px;font-family:inherit;font-size:13.5px;font-weight:700;transition:background-color .15s,border-color .15s,transform .12s;display:inline-flex;box-shadow:0 6px 18px #1216222e}.journal-pill:hover{background:#fffbf3fa;border-color:#44382e73}.journal-pill:focus-visible{outline-offset:2px;background:#fffbf3fa;border-color:#44382e85;outline:2px solid #c86428}.journal-stat{align-items:center;gap:6px;display:inline-flex}.journal-seed-dot{background:linear-gradient(135deg,#f6e4bc 0%,#cf8436 100%);border:1.5px solid #8c531e;border-radius:44% 56% 52% 48%;width:11px;height:9px;box-shadow:0 1px 2px #2a1a0c38}.journal-sep{color:#29252c66}.journal-tab-key{letter-spacing:.06em;color:#3a332d;background:#ebe0cc;border:1px solid #cbbba0;border-radius:5px;padding:2px 6px;font-size:10.5px;font-weight:800;box-shadow:0 2px #b7a68b}.journal-card{width:max-content;max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 28px);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 74px);opacity:0;visibility:hidden;transform-origin:0 0;pointer-events:none;touch-action:pan-y;background:#fcf6eaf2;border:2px solid #483a2e3d;border-radius:16px;padding:12px 14px;transition:opacity .24s,transform .24s cubic-bezier(.22,1,.36,1),visibility .24s;overflow-y:auto;transform:translateY(-6px)scale(.97);box-shadow:0 14px 32px #1014203d}.journal-hud.is-expanded .journal-card{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.journal-list{flex-direction:column;gap:6px;list-style:none;display:flex}.journal-item{color:#2f2a28;white-space:nowrap;flex-direction:row;align-items:center;gap:8px;font-size:clamp(11px,2.85vw,12.5px);line-height:1.25;display:flex}.journal-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.journal-item.is-done{color:#2f2a2885}.journal-item.is-done .journal-label{text-decoration:line-through}.journal-check{color:#0000;background:#fffcf6b8;border:1.5px solid #9d8974;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;font-size:10.5px;font-weight:900;line-height:1;display:inline-flex}.journal-item.is-done .journal-check{color:#fffaf0;background:#3f9154;border-color:#357c47}.journal-toast-host{top:calc(env(safe-area-inset-top,0px) + 14px);right:calc(env(safe-area-inset-right,0px) + 14px);z-index:19;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed}.journal-toast{max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 28px);white-space:nowrap;background:#fcf6eaf5;border:2px solid #df9b42;border-radius:12px;flex-direction:row;align-items:center;gap:9px;padding:8px 13px;transition:opacity .35s,transform .35s;animation:.34s cubic-bezier(.22,1,.36,1) toastSlideIn;display:inline-flex;box-shadow:0 10px 24px #12141e38}.journal-toast.is-leaving{opacity:0;transform:translateY(-8px)scale(.97)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.journal-toast-stamp{color:#fffaf0;background:#3f9154;border:1.5px solid #357c47;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11.5px;font-weight:900;line-height:1;display:inline-flex}.journal-toast.is-royal{background:#fff9e8fa;border-color:#e4a328}.journal-toast.is-royal .journal-toast-stamp{color:#3a2308;background:linear-gradient(135deg,#ffd866 0%,#df961e 100%);border-color:#b57410}.journal-toast-label{color:#292423;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(11.5px,3vw,13.5px);font-weight:700;line-height:1.2;overflow:hidden}@media (max-width:680px){.journal-toast-host{top:calc(env(safe-area-inset-top,0px) + 56px);left:calc(env(safe-area-inset-left,0px) + 14px);align-items:flex-start;right:auto}}.mobile-joystick{z-index:16;pointer-events:none;opacity:0;will-change:transform, opacity;width:0;height:0;transition:opacity .14s;position:fixed;top:0;left:0}.mobile-joystick.is-active{opacity:1;transition:none}.mobile-joystick-ring{background:#fcf8f01f;border:1.5px solid #fffaf06b;border-radius:50%;width:86px;height:86px;position:absolute;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #2a221c1f}.mobile-joystick-nub{will-change:transform;background:#fffbf357;border:1.5px solid #fffbf39e;border-radius:50%;width:32px;height:32px;position:absolute;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 2px 8px #1c161224}
