@font-face{font-family:Noto Sans;font-style:italic;font-weight:400 800;font-display:swap;src:url(./NotoSans-italic-latin-ext-mMxaVeWH.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:italic;font-weight:400 800;font-display:swap;src:url(./NotoSans-italic-latin-BrPwkqMp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(./NotoSans-latin-ext-W1qJv59z.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(./NotoSans-latin-BYSzYMf3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(./NotoSansMono-latin-ext-Co5HW6fV.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(./NotoSansMono-latin-BOJxtwUa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Serif;font-style:normal;font-weight:700;font-display:swap;src:url(./NotoSerif-latin-ext-BRvgVta8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Serif;font-style:normal;font-weight:700;font-display:swap;src:url(./NotoSerif-latin-CIw17UNa.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html,body{background:var(--loader-bg,#15250e);height:100%;margin:0}.loader{z-index:100;background:radial-gradient(ellipse at 50% 38%, var(--loader-glow,#28461b) 0%, var(--loader-bg,#15250e) 70%);color:#f4f8ef;text-align:center;place-content:center;justify-items:center;gap:18px;padding:24px;font-family:Noto Sans,sans-serif;transition:opacity .5s,visibility .5s;display:grid;position:fixed;inset:0}.loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-unicorn{width:84px;height:84px;position:relative}.loader-unicorn svg{transform-origin:50% 80%;width:72px;height:60px;animation:1.1s ease-in-out infinite loader-leap;position:absolute;bottom:10px;left:6px;overflow:visible}.loader-unicorn:after{content:"";background:#00000059;border-radius:50%;width:44px;height:6px;margin-left:-22px;animation:1.1s ease-in-out infinite loader-leap-shadow;position:absolute;bottom:2px;left:50%}.loader-unicorn .u-body{fill:#f4f8ef}.loader-unicorn .u-leg{fill:none;stroke:#f4f8ef;stroke-width:3.6px;stroke-linecap:round;stroke-linejoin:round}.loader-unicorn .u-far{stroke:#dfe8da}.loader-unicorn .u-mane{fill:#c9a2ff}.loader-unicorn .u-horn{fill:#ffd34d}.loader-unicorn .u-eye{fill:var(--loader-bg,#15250e)}@keyframes loader-leap{0%,to{transform:translateY(0)rotate(6deg)}45%{transform:translateY(-16px)rotate(-8deg)}70%{transform:translateY(-10px)rotate(4deg)}}@keyframes loader-leap-shadow{0%,to{opacity:1;transform:scaleX(1)}45%{opacity:.5;transform:scaleX(.6)}}.loader-title{letter-spacing:.5px;color:var(--title-a,#c9a485);background:linear-gradient(100deg, var(--title-a,#c9a485) 15%, var(--title-b,#f0e2c4) 85%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 #00000073) drop-shadow(0 6px 18px color-mix(in srgb, var(--title-b,#f0e2c4) 40%, transparent));-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(30px,8vw,44px);font-weight:700}.loader-credit{left:0;right:0;bottom:calc(18px + env(safe-area-inset-bottom,0px));letter-spacing:.5px;color:color-mix(in srgb, #f4f8ef 72%, var(--loader-bg,#15250e));opacity:.8;margin:0;font-size:13px;position:absolute}.loader-bar{background:color-mix(in srgb, var(--title-b,#f0e2c4) 18%, transparent);border-radius:999px;width:min(260px,70vw);height:8px;position:relative;overflow:hidden}.loader-fill{border-radius:inherit;background:linear-gradient(90deg, var(--title-a,#c9a485), var(--title-b,#f0e2c4));transform-origin:0;transition:transform .3s ease-out;position:absolute;inset:0;transform:scaleX(0)}.loader-bar.indeterminate .loader-fill{width:35%;animation:1.3s ease-in-out infinite loader-slide;transform:none}@keyframes loader-slide{0%{transform:translate(-100%)}to{transform:translate(286%)}}.loader-status{min-height:1.3em;color:color-mix(in srgb, #f4f8ef 72%, var(--loader-bg,#15250e));margin:0;font-size:14px}@media (prefers-reduced-motion:reduce){.loader,.loader-fill{transition:none}.loader-unicorn svg,.loader-unicorn:after,.loader-bar.indeterminate .loader-fill{animation:none}.loader-bar.indeterminate .loader-fill{opacity:.35;width:100%;left:0}}:root{--bg:#13201a;--panel:#121e18db;--panel-border:#b4e6aa38;--text:#f4f8ef;--muted:#b8c9b4;--accent:#9be37a;--accent-ink:#13201a;--gold:#ffd34d;--danger:#ff7a7a;--radius:12px;--radius-sm:8px;--hud-k:1.85;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);color:var(--text);-webkit-tap-highlight-color:transparent;font-family:Noto Sans,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:100%;margin:0;overflow:hidden}#app{touch-action:none;position:fixed;inset:0}.game-canvas{width:100%;height:100%;display:block}.fatal{text-align:center;place-items:center;padding:24px;font-size:18px;display:grid;position:absolute;inset:0}.btn,.btn-icon{font:inherit;color:var(--text);border:1px solid var(--panel-border);border-radius:var(--radius);cursor:pointer;touch-action:manipulation;background:#ffffff1a;padding:12px 22px;font-size:17px;font-weight:600;transition:transform 80ms,background .15s}.btn:hover:not([disabled]),.btn-icon:hover{background:#ffffff2e}.btn:active:not([disabled]){transform:scale(.97)}.btn:focus-visible,.btn-icon:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-primary:hover:not([disabled]){background:#b5f19a}.btn-small{padding:8px 14px;font-size:14px}.btn[disabled],.locked{opacity:.5;cursor:not-allowed}.btn-icon{place-items:center;width:44px;height:44px;padding:0;font-size:22px;display:grid}.screens{pointer-events:none;position:absolute;inset:0}.screens.active{pointer-events:auto;background:radial-gradient(#0000000d,#00000073)}.screen{padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left));touch-action:pan-y;place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);text-align:center;-webkit-backdrop-filter:blur(8px);width:min(440px,100%);padding:22px;animation:.25s ease-out rise;box-shadow:0 20px 60px #00000059}.panel-wide{width:min(620px,100%)}.panel.instant{animation:none}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.screens:has(>.screen-loading){animation:.25s .3s both loading-in}.screen-loading .loader-bar{margin:18px auto 0}@keyframes loading-in{0%{opacity:0}}.panel h2{color:var(--title-a,#c9a485);background:linear-gradient(100deg, var(--title-a,#c9a485) 15%, var(--title-b,#f0e2c4) 85%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:26px}.panel h3{color:var(--muted);margin:18px 0 8px;font-size:16px}.panel-header{align-items:center;gap:12px;margin-bottom:6px;display:flex}.logo{letter-spacing:.5px;color:var(--title-a,#c9a485);background:linear-gradient(100deg, var(--title-a,#c9a485) 15%, var(--title-b,#f0e2c4) 85%);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 3px 0 #00000073) drop-shadow(0 6px 18px color-mix(in srgb, var(--title-b,#f0e2c4) 40%, transparent));-webkit-background-clip:text;background-clip:text;margin:4px 0 0;font-size:clamp(34px,9vw,52px)}.tagline,.muted{color:var(--muted);margin:6px 0 14px}.small{font-size:13px}.wallet{color:var(--gold);margin:4px 0 14px;font-weight:700;display:inline-block}.essence-icon{vertical-align:-.17em;-webkit-user-select:none;user-select:none;width:1.05em;height:1.05em;margin-right:.08em;line-height:1;display:inline-block;position:relative}.essence-icon svg{width:100%;height:100%;display:block;overflow:visible}.essence-icon .eo-halo{fill:var(--title-b,#f0e2c4);opacity:.18}.essence-icon .eo-body{fill:var(--title-a,#c9a485);stroke:#00000059;stroke-width:.6px}.essence-icon .eo-core{fill:var(--title-b,#f0e2c4);opacity:.75}.essence-icon .eo-wisp{fill:none;stroke:#fff;stroke-width:1.3px;stroke-linecap:round;opacity:.85}.essence-icon .eo-shine{fill:#fff;opacity:.8}.essence-icon .eo-mote{fill:var(--title-b,#f0e2c4)}.essence-icon .eo-mote-b{fill:var(--title-a,#c9a485)}.essence-glyph{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu-buttons{flex-direction:column;gap:10px;margin:14px 0;display:flex}.stars{letter-spacing:2px}.star{color:#ffffff40}.star.on{color:var(--gold)}.panel>.stars{margin:6px 0;font-size:54px;display:block}@media (prefers-reduced-motion:reduce){.panel{animation:none}}.sanctuary-hud{pointer-events:none;padding:calc(10px + var(--safe-top)) calc(12px + var(--safe-right)) calc(14px + var(--safe-bottom)) calc(12px + var(--safe-left));text-shadow:0 2px 4px #00000080;position:absolute;inset:0}.sanctuary-hud[hidden]{display:none}.sanctuary-hud:not(.walking)>*{visibility:hidden}.sanctuary-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.sanctuary-profile{min-width:0;font-size:calc(13px * var(--hud-k));--s:#18261acc;--w:max(1px, calc(1px * var(--hud-k)));align-items:center;gap:.5em;line-height:1.15;display:flex}.hud-avatar{border:.1em solid var(--title-b,var(--gold));border-radius:50%;flex:none;width:3.1em;height:3.1em;overflow:hidden}.hud-profile-text{flex-direction:column;min-width:0;display:flex}.hud-profile-text>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hud-name{text-shadow:none;font-size:max(.8em,15px);font-weight:800;line-height:1.35}.hud-guardian-title{font-size:max(.62em,12px)}.sanctuary-wallet{white-space:nowrap;text-shadow:none;--s:#18261a8c;--w:max(.5px, calc(.6px * var(--hud-k)));margin-top:.15em;font-size:max(.58em,14px);font-weight:800}.hud-name,.sanctuary-wallet-amount,.sanctuary-wallet svg{filter:drop-shadow(var(--w) 0 0 var(--s)) drop-shadow(calc(-1 * var(--w)) 0 0 var(--s)) drop-shadow(0 var(--w) 0 var(--s)) drop-shadow(0 calc(-1 * var(--w)) 0 var(--s))}.hud-name,.sanctuary-wallet-amount{color:var(--title-a,#c9a485);background:linear-gradient(100deg, var(--title-a,#c9a485) 15%, var(--title-b,#f0e2c4) 85%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.sanctuary-wallet .essence-icon{vertical-align:-.22em;width:1.15em;height:1.15em}.sanctuary-actions{flex:none;gap:6px;display:flex}.sanctuary-offline,.sanctuary-help,.sanctuary-settings{pointer-events:auto}.sanctuary-offline{color:var(--muted)}.sanctuary-offline[hidden]{display:none}.sanctuary-offline svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}.sanctuary-help{font-weight:800}.sanctuary-update{top:calc(10px + var(--safe-top));border:2px solid var(--gold);background:var(--panel);max-width:calc(100% - 236px);min-height:44px;color:var(--text);font:inherit;text-shadow:none;white-space:nowrap;text-overflow:ellipsis;-webkit-backdrop-filter:blur(8px);cursor:pointer;pointer-events:auto;border-radius:999px;padding:10px 20px;font-size:16px;font-weight:800;animation:2.4s ease-in-out infinite update-glow;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.sanctuary-hud.offline .sanctuary-update{max-width:calc(100% - 336px)}.sanctuary-update[hidden]{display:none}@keyframes update-glow{0%,to{box-shadow:0 0 #ffd66600}50%{box-shadow:0 0 16px 2px #ffd66673}}@media (max-width:900px){.sanctuary-update{top:calc(10px + var(--safe-top) + 40.3px * var(--hud-k) + 8px);max-width:calc(100% - 24px);font-size:15px}.sanctuary-hud.offline .sanctuary-update{max-width:calc(100% - 24px)}}@media (prefers-reduced-motion:reduce){.sanctuary-update{animation:none;box-shadow:0 0 12px 1px #ffd66659}}.sanctuary-title{text-align:center;opacity:0;width:92%;transition:opacity .6s,transform .6s;position:absolute;top:14%;left:50%;transform:translate(-50%,-8px)}.sanctuary-title.on{opacity:1;transform:translate(-50%)}.sanctuary-title .tagline{color:var(--text)}.sanctuary-hint{left:50%;bottom:calc(86px + var(--safe-bottom));text-align:center;width:min(560px,90%);color:var(--text);opacity:0;font-size:14px;transition:opacity .4s;position:absolute;transform:translate(-50%)}.sanctuary-hint.on{opacity:.9}.sanctuary-prompt{left:50%;bottom:calc(22px + var(--safe-bottom));border-radius:var(--radius);border:1px solid var(--panel-border);background:var(--panel);width:max-content;max-width:calc(100% - 32px);color:var(--text);text-shadow:none;-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;align-items:center;gap:4px;padding:6px;font-size:16px;font-weight:700;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;transform:translate(-50%,16px);box-shadow:0 10px 30px #0000004d}.sanctuary-prompt.on{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.prompt-title{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:0 8px 0 12px;font-size:14px;overflow:hidden}.prompt-title[hidden],.prompt-action[hidden]{display:none}.prompt-action{border-radius:var(--radius);min-width:0;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;align-items:center;gap:8px;padding:4px 14px 4px 4px;transition:background .15s;display:flex}@media (hover:hover){.prompt-action:not(.locked):hover{background:#ffffff1a}}.prompt-action:focus-visible{outline:3px solid var(--gold);outline-offset:0}.prompt-action.locked{color:var(--muted);cursor:default;padding-left:12px}.prompt-action.locked .prompt-key{display:none}.prompt-action:not(.prompt-alt) .prompt-key{background:linear-gradient(135deg, var(--title-a,#c9a485), var(--title-b,#f0e2c4));color:var(--loader-bg,#15250e)}.prompt-alt .prompt-key{background:var(--gold)}.prompt-key{border-radius:var(--radius-sm);background:var(--accent);min-width:30px;height:30px;color:var(--accent-ink);font:inherit;place-items:center;padding:0 6px;font-size:14px;font-weight:800;display:grid}.key-touch{display:none}@media (pointer:coarse){.key-touch{display:inline}.key-pc{display:none}}.prompt-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prompt-text .essence-icon{vertical-align:-.15em}.sanctuary-notice{left:50%;bottom:calc(82px + var(--safe-bottom));border-radius:var(--radius);max-width:calc(100% - 32px);color:var(--text);text-shadow:none;opacity:0;background:#3c1414bf;padding:6px 14px;font-size:14px;font-weight:700;transition:opacity .2s;position:absolute;transform:translate(-50%)}.sanctuary-notice.on{opacity:1}.sanctuary-hud.welcoming .sanctuary-news{display:none}.welcome-toast{left:50%;bottom:calc(22px + var(--safe-bottom));border-radius:var(--radius);border:1px solid var(--panel-border);background:var(--panel);width:max-content;max-width:calc(100% - 32px);color:var(--text);text-shadow:none;-webkit-backdrop-filter:blur(8px);opacity:0;touch-action:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:12px 14px 12px 18px;transition:opacity .25s,transform .25s;display:flex;position:absolute;transform:translate(-50%,16px);box-shadow:0 10px 30px #0000004d}.welcome-toast.on{opacity:1;pointer-events:auto;transform:translate(-50%)}.welcome-toast.dragging{transition:none}.welcome-text{flex-direction:column;gap:2px;font-size:15px;display:flex}.welcome-text span{color:var(--muted);font-size:14px}.welcome-actions{gap:8px;display:flex}.welcome-actions button{border-radius:var(--radius);border:1px solid var(--panel-border);color:var(--text);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:15px;font-weight:700;transition:background .15s,border-color .15s;display:flex}.welcome-actions .welcome-yes{border-color:var(--accent)}@media (hover:hover){.welcome-actions button:hover{background:#ffffff1a;border-color:#fff6}.welcome-actions .welcome-yes:hover{border-color:var(--accent);background:#9be37a29}.sanctuary-update:hover{background:#1c2e24eb}}.welcome-actions .welcome-no .prompt-key{color:var(--text);background:#ffffff24}.sanctuary-update:focus-visible,.welcome-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sanctuary-hud.welcoming .sanctuary-hint{bottom:calc(132px + var(--safe-bottom))}.tutorial-title{margin:4px 0 8px}.tutorial-lines{text-align:left;margin:0;padding-left:20px;line-height:1.45}.tutorial-lines li+li{margin-top:8px}.tutorial-dots{justify-content:center;gap:8px;margin:18px 0 12px;display:flex}.tutorial-dots .dot{background:var(--panel-border);border-radius:50%;width:8px;height:8px}.tutorial-dots .dot.on{background:var(--accent)}.tutorial-nav{justify-content:center;gap:10px;display:flex}.tutorial-keys{margin:12px 0 0}@media (hover:none){.welcome-actions .prompt-key{display:none}.welcome-actions button{padding:8px 16px}.tutorial-keys{display:none}}@media (prefers-reduced-motion:reduce){.sanctuary-title,.sanctuary-hint,.sanctuary-prompt,.welcome-toast{transition:none}}
