:root{--ink:#202d38;--paper:#fff4d8;--sun:#ffb34e;--coral:#f26457;--river:#2daec0;--shadow:#40282347;--display:ui-rounded, "Avenir Next Rounded", "Arial Rounded MT Bold", system-ui, sans-serif;--body:"Avenir Next", system-ui, -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#e9a46c;overflow:hidden}button,a{font:inherit}canvas{image-rendering:pixelated;touch-action:none;outline:none;display:block}.ready-marker{pointer-events:none;width:1px;height:1px;position:fixed;overflow:hidden}html[data-review=asset] .hud,html[data-review=asset] .encounter-callout,html[data-review=asset] .mobile-controls,html[data-review=asset] .attribution,html[data-review=asset] .toast{display:none}.hud{z-index:20;padding:max(16px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 52px max(18px, env(safe-area-inset-left));pointer-events:none;color:var(--paper);text-shadow:0 2px 8px #28191b59;background:linear-gradient(#37262385,#0000);justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}.brand-lockup{align-items:start;display:grid}.brand-kicker,.quest-label{letter-spacing:.22em;opacity:.76;font-size:9px;font-weight:900}.brand-lockup>strong{font-family:var(--display);letter-spacing:-.045em;font-size:clamp(24px,5vw,40px);line-height:.95}.location{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#202d3870;border:1px solid #fff4d870;border-radius:999px;width:fit-content;margin-top:7px;padding:5px 10px;font-size:10px;font-weight:800;display:inline-flex}.quest-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:right;background:#202d38a3;border:2px solid #fff4d88c;border-radius:16px;min-width:116px;padding:11px 13px;box-shadow:0 8px 24px #321f202e}.quest-card strong{color:#ffda76;font-family:var(--display);margin-top:2px;font-size:25px;line-height:1;display:block}.quest-card>span:last-child{max-width:130px;margin-top:4px;font-size:10px;font-weight:700;line-height:1.2;display:block}.encounter-callout{z-index:21;top:max(118px, calc(env(safe-area-inset-top) + 98px));min-width:min(260px,70vw);box-shadow:0 10px 30px var(--shadow);color:var(--paper);text-align:center;pointer-events:none;background:#2a373ad6;border:2px solid #fff2ad;border-radius:16px;padding:10px 18px;animation:.28s cubic-bezier(.2,.85,.3,1.25) callout-in;display:grid;position:fixed;left:50%;transform:translate(-50%)}.encounter-callout span,.encounter-callout small{letter-spacing:.18em;opacity:.7;font-size:9px;font-weight:900}.encounter-callout strong{color:#ffdb71;font-family:var(--display);font-size:20px}.toast{z-index:40;border:3px solid var(--ink);background:var(--paper);width:max-content;max-width:min(84vw,420px);box-shadow:0 9px 0 #202d3838, 0 18px 45px var(--shadow);color:var(--ink);font-family:var(--display);text-align:center;pointer-events:none;border-radius:18px;align-items:center;gap:10px;padding:13px 19px;font-size:16px;line-height:1.15;animation:1.8s both toast-pop;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.toast-orb{border:5px solid var(--paper);background:linear-gradient(var(--coral) 0 46%, var(--ink) 47% 55%, var(--paper) 56%);width:22px;height:22px;box-shadow:0 0 0 2px var(--ink);border-radius:50%;flex:none}.mobile-controls{z-index:30;right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));left:max(16px, env(safe-area-inset-left));pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed}.dpad{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;touch-action:none;background:#5b685454;border:2px solid #262e273d;border-radius:28px;grid-template:repeat(3,45px)/repeat(3,45px);width:135px;height:135px;display:grid;position:relative;box-shadow:inset 0 0 24px #ffffff29,0 7px 18px #2533292e}.dpad-key,.dpad-center{z-index:1;color:#dce7d49e;pointer-events:auto;background:#29302aad;border:0;place-items:center;font-size:17px;display:grid;position:relative}.dpad-key:active{color:#fff;background:#1f2620db}.dpad-key--up{border-radius:11px 11px 0 0;grid-area:1/2}.dpad-key--left{border-radius:11px 0 0 11px;grid-area:2/1}.dpad-center{grid-area:2/2}.dpad-key--right{border-radius:0 11px 11px 0;grid-area:2/3}.dpad-key--down{border-radius:0 0 11px 11px;grid-area:3/2}.face-buttons{pointer-events:auto;width:145px;height:120px;position:relative}.face-button{color:#d8e3d099;width:70px;height:70px;font-family:var(--display);pointer-events:auto;touch-action:manipulation;background:#434c4094;border:3px solid #1f2b2359;border-radius:50%;place-items:center;font-size:25px;transition:transform .12s,background .18s,box-shadow .18s;display:grid;position:absolute;box-shadow:inset 0 0 0 8px #e6eddf1a,0 7px 16px #25332930}.face-button--b{line-height:.8}.face-button--b span,.face-button--b small{display:block}.face-button--b small{letter-spacing:.12em;margin-top:4px;font-size:7px}.face-button--b{bottom:0;left:0}.face-button--a{top:0;right:0}.face-button--a.is-ready{color:#fffbdc;background:#e24034db;border-color:#ffffd7e6;animation:1s ease-in-out infinite action-ready;box-shadow:inset 0 0 0 8px #ffffff1f,0 0 0 5px #fff69647}.face-button:active{transform:scale(.9)}.system-buttons{pointer-events:auto;align-items:flex-end;gap:14px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.system-buttons button{color:#263028b8;min-width:48px;font-family:var(--display);text-shadow:0 1px #ffffff73;background:0 0;border:0;font-size:8px}.system-buttons i{color:#d6e0cf99;background:#404a4085;border:2px solid #2e373047;border-radius:999px;place-items:center;width:38px;height:19px;margin:0 auto 4px;font-size:14px;font-style:normal;display:grid}.attribution{z-index:35;right:max(10px, env(safe-area-inset-right));bottom:max(7px, env(safe-area-inset-bottom));color:#202d388c;text-shadow:0 1px #ffffff80;pointer-events:auto;font-size:8px;text-decoration:none;position:fixed}.world-label{color:#fff6d7;width:max-content;font-family:var(--display);letter-spacing:.08em;pointer-events:none;background:#293b35;border:2px solid #fff1b8;border-radius:4px;padding:4px 7px 3px;font-size:8px;display:block;box-shadow:0 3px #202d3847}.map-overlay{z-index:80;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));color:var(--paper);pointer-events:auto;background:linear-gradient(#24362bf5,#1e2c24fa),#22352a;grid-template-rows:auto 1fr auto;gap:12px;display:grid;position:fixed;inset:0}.map-overlay header{justify-content:space-between;align-items:center;gap:12px;display:flex}.map-overlay header div{display:grid}.map-overlay header span{letter-spacing:.18em;opacity:.72;font-size:8px;font-weight:900}.map-overlay header strong{font-family:var(--display);font-size:24px}.map-overlay button{color:#263a31;min-height:44px;font-family:var(--display);background:#f3d47d;border:2px solid #fff1b8;border-radius:10px;padding:0 14px;font-size:11px}.map-frame{touch-action:pan-x;scrollbar-width:none;background:#d9e8cc;border:5px solid #f2dfab;border-radius:10px;min-height:0;display:block;overflow:auto hidden;box-shadow:0 10px 28px #07130c52}.map-frame::-webkit-scrollbar{display:none}.map-frame img{object-fit:cover;width:auto;min-width:900px;max-width:none;height:100%;image-rendering:pixelated}.map-overlay footer{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.map-overlay footer span{color:#f7e8bd;letter-spacing:.08em;border:1px solid #fff1b866;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:900}.map-overlay footer em{color:#f7e8bda3;letter-spacing:.18em;text-align:center;width:100%;font-size:7px;font-style:normal;font-weight:900}.loading-overlay,.fatal-state{z-index:100;color:var(--paper);text-align:center;background:radial-gradient(circle at 50% 30%,#ffe7af61,#0000 38%),linear-gradient(160deg,#ed9e68,#b45e63);place-content:center;justify-items:center;gap:9px;padding:30px;display:grid;position:fixed;inset:0}.loading-overlay strong,.fatal-state strong{font-family:var(--display);letter-spacing:-.05em;text-shadow:0 5px #4b2b2f2e;font-size:clamp(31px,10vw,58px)}.loading-overlay>span,.fatal-state>span{opacity:.82;max-width:420px;font-size:13px;font-weight:700}.loading-mark{align-items:end;gap:5px;height:36px;display:flex}.loading-mark i{background:var(--paper);width:16px;height:18px;animation:.8s ease-in-out infinite alternate city-load;display:block}.loading-mark i:nth-child(2){height:30px;animation-delay:-260ms}.loading-mark i:nth-child(3){height:23px;animation-delay:-520ms}.fatal-state button{border:2px solid var(--ink);background:var(--paper);min-width:120px;min-height:48px;color:var(--ink);border-radius:14px;margin-top:12px;font-weight:900}@keyframes city-load{0%{opacity:.5;transform:translateY(0)}to{opacity:1;transform:translateY(-7px)}}@keyframes callout-in{0%{opacity:0;transform:translate(-50%,-10px)scale(.86)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes toast-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}24%,78%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,calc(-50% - 34px))scale(.96)}}@keyframes action-ready{0%,to{transform:scale(1)}50%{transform:scale(1.055)}}@media (width<=520px){.hud{gap:9px;padding-bottom:40px}.brand-lockup>strong{font-size:27px}.brand-kicker{font-size:7px}.quest-card{min-width:103px;padding:9px 10px}.quest-card>span:last-child{max-width:105px;font-size:9px}.attribution{right:50%;transform:translate(50%)}}@media (height<=540px) and (orientation:landscape){.hud{padding-top:max(9px, env(safe-area-inset-top))}.brand-lockup>strong{font-size:23px}.location{margin-top:4px;padding:3px 8px}.quest-card{padding:7px 10px}.quest-card strong{font-size:20px}.dpad{grid-template:repeat(3,38px)/repeat(3,38px);width:114px;height:114px}.face-buttons{width:124px;height:96px}.face-button{width:60px;height:60px}.system-buttons{bottom:-3px}.encounter-callout{top:78px}}@media (pointer:fine) and (width>=900px){.mobile-controls,.dpad,.face-buttons{opacity:.82}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
