.ui{position:absolute;inset:0;z-index:6;pointer-events:none;color:#cfe8ff;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ui button{font:inherit;color:inherit}.interaction-hint__key{display:inline-block;padding:0 .4em;border:1px solid rgba(207,232,255,.4);border-radius:4px;font-size:.85em;opacity:.85}.ui-button{position:absolute;top:1rem;width:2.6rem;height:2.6rem;pointer-events:auto;cursor:pointer;border:1px solid rgba(207,232,255,.25);border-radius:50%;background:#06284e8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-size:1.1rem;line-height:1;transition:background .15s,border-color .15s}.ui-button:hover,.ui-button:focus-visible{background:#0c3c6eb3;border-color:#cfe8ff99;outline:none}.ui-button--menu{right:1rem}.ui-button--map{right:4.2rem}.hud{position:absolute;left:1rem;bottom:1rem;display:flex;gap:.9rem;align-items:flex-end;transition:opacity .25s}.is-modal-open .hud,.is-modal-open .ui-button{opacity:0;pointer-events:none}.hud__gauge{display:flex;flex-direction:column;align-items:center;gap:.25rem}.hud__label{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;opacity:.6}.hud__value{min-width:3.4rem;padding:.35rem .5rem;text-align:center;border:1px solid rgba(207,232,255,.25);border-radius:999px;background:#06284eb8;font-variant-numeric:tabular-nums;font-size:.9rem}.hud__dial{position:relative;width:2.4rem;height:2.4rem;border:1px solid rgba(207,232,255,.25);border-radius:50%;background:#06284eb8}.hud__north{position:absolute;top:.1rem;left:50%;transform:translate(-50%);font-size:.6rem;color:#ffd27f}.hud__compass .hud__needle{position:absolute;left:50%;bottom:50%;width:2px;height:.8rem;transform:translate(-50%);background:#cfe8ff;border-radius:2px}.hud__needle--air{position:absolute;left:50%;bottom:50%;width:2px;height:.9rem;background:#7fe0d0;border-radius:2px;transform-origin:50% 100%}.toasts{position:absolute;top:1.2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:7}.toast{display:flex;align-items:center;gap:.7rem;padding:.6rem 1.1rem;border:1px solid rgba(207,232,255,.25);border-radius:12px;background:#06284ebf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 18px #00081459}.toast__stamp{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#ffd27f;color:#06284e;font-weight:700}.toast__body{display:flex;flex-direction:column;gap:.15rem}.toast__title{font-weight:700;font-size:.95rem}.toast__subtitle{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.65}.toast__progress{position:relative;width:10rem;height:.45rem;margin-top:.2rem;border-radius:999px;background:#cfe8ff26;overflow:hidden}.toast__progress-bar{position:absolute;inset:0;transform-origin:0 50%;background:#ffd27f;border-radius:inherit}.toast__progress-label{position:absolute;right:0;top:.6rem;font-size:.65rem;opacity:.7}.panel{position:absolute;top:0;right:0;bottom:0;width:min(26rem,92vw);z-index:8;pointer-events:auto;background:#06284eeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-left:1px solid rgba(207,232,255,.18);box-shadow:-12px 0 32px #00081466;transform:translate(102%);transition:transform .35s cubic-bezier(.22,.9,.36,1);overflow-y:auto}.panel.is-open{transform:translate(0)}.panel,.modal__box{-webkit-user-select:text;user-select:text}@media(prefers-reduced-motion:reduce){.panel{transition:none}}.panel__close,.modal__close{position:absolute;top:.9rem;right:.9rem;width:2.2rem;height:2.2rem;cursor:pointer;border:1px solid rgba(207,232,255,.25);border-radius:50%;background:transparent}.panel__close:hover,.panel__close:focus-visible,.modal__close:hover,.modal__close:focus-visible{background:#cfe8ff1f;outline:none}.panel__content{padding:3.4rem 1.8rem 2rem;display:flex;flex-direction:column;gap:.9rem}.panel__kicker{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#ffd27f}.panel__title{font-family:Amatic SC,Nunito,sans-serif;font-size:2.4rem;line-height:1.05}.panel__meta{font-size:.85rem;opacity:.7}.panel__tags{display:flex;flex-wrap:wrap;gap:.4rem}.panel__tag{padding:.15rem .6rem;border:1px solid rgba(207,232,255,.3);border-radius:999px;font-size:.72rem;letter-spacing:.04em}.panel__blurb{font-size:.95rem;line-height:1.55;opacity:.92}.panel__image,.panel__portrait{width:100%;border-radius:10px;border:1px solid rgba(207,232,255,.15)}.panel__portrait{max-width:11rem}.panel__links{display:flex;flex-wrap:wrap;gap:.6rem}.panel__link{padding:.4rem .9rem;border:1px solid rgba(207,232,255,.35);border-radius:999px;color:#cfe8ff;text-decoration:none;font-size:.85rem;transition:background .15s}.panel__link:hover,.panel__link:focus-visible{background:#cfe8ff1f;outline:none}.modal[hidden]{display:none}.modal{position:absolute;inset:0;z-index:8;display:grid;place-items:center;pointer-events:auto;background:#020e1e8c}.modal__box{position:relative;width:min(34rem,92vw);max-height:86vh;overflow-y:auto;padding:2rem 1.8rem;border:1px solid rgba(207,232,255,.2);border-radius:14px;background:#06284ef2;box-shadow:0 16px 48px #00081480}.menu__heading{font-family:Amatic SC,Nunito,sans-serif;font-size:2.2rem;margin-bottom:.4rem}.menu__about{font-size:.9rem;line-height:1.5;opacity:.85}.menu__subheading{margin:1.4rem 0 .6rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:#ffd27f}.menu__log{list-style:none;display:flex;flex-direction:column;gap:.45rem;max-height:15rem;overflow-y:auto;padding-right:.4rem}.menu__log-item{display:flex;gap:.6rem;align-items:baseline;font-size:.85rem;opacity:.55}.menu__log-item.is-earned{opacity:1}.menu__log-medal{flex:0 0 1.2rem;text-align:center;color:#ffd27f}.menu__log-title{font-weight:700}.menu__log-progress{font-size:.72rem;opacity:.7;margin-left:.3rem}.menu__log-desc{display:block;font-size:.78rem;opacity:.75}.menu__options{display:flex;flex-wrap:wrap;gap:.5rem}.menu__option{padding:.45rem .9rem;cursor:pointer;border:1px solid rgba(207,232,255,.3);border-radius:999px;background:transparent;font-size:.82rem}.menu__option:hover:not(:disabled),.menu__option:focus-visible{background:#cfe8ff1f;outline:none}.menu__option:disabled{opacity:.45;cursor:default}.menu__option--danger{border-color:#ff8c7880;color:#ffb0a0}.menu__controls{font-size:.82rem;line-height:1.9;opacity:.85}.menu__controls kbd{padding:.05rem .35rem;border:1px solid rgba(207,232,255,.35);border-bottom-width:2px;border-radius:4px;font-size:.75rem;font-family:inherit}.menu__credits{margin-top:1.4rem;font-size:.72rem;opacity:.55}.map__box{width:min(30rem,92vw)}.map__frame{position:relative;margin-top:.6rem}.map__canvas{display:block;width:100%;height:auto;border-radius:10px;border:1px solid rgba(207,232,255,.2)}.map__marks{position:absolute;inset:0;pointer-events:none}.map__x{position:absolute;transform:translate(-50%,-50%);color:#ffd27f;font-size:.8rem;font-weight:700;text-shadow:0 1px 3px rgba(0,8,20,.8)}.map__marker{position:absolute;width:.7rem;height:.7rem;transform:translate(-50%,-50%);border-radius:50%;background:#7fe0d0;border:2px solid #06284e;box-shadow:0 0 0 2px #7fe0d080}@media(prefers-reduced-motion:no-preference){.map__marker{animation:map-pulse 1.6s ease-in-out infinite}}@keyframes map-pulse{50%{box-shadow:0 0 0 6px #7fe0d026}}.ui-button{top:max(1rem,env(safe-area-inset-top))}.ui-button--menu{right:max(1rem,env(safe-area-inset-right))}.hud{left:max(1rem,env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom))}.toasts{top:max(1.2rem,env(safe-area-inset-top))}@media(pointer:coarse){.ui-button{width:3rem;height:3rem;font-size:1.25rem}.ui-button--map{right:max(4.8rem,calc(env(safe-area-inset-right) + 3.8rem))}.panel__close,.modal__close{width:3rem;height:3rem;font-size:1.1rem}.menu__option{min-height:3rem;padding:.65rem 1.1rem}.panel__link{min-height:3rem;display:inline-flex;align-items:center}}.touch{position:absolute;inset:0;z-index:6;display:none;pointer-events:none;opacity:var(--touch-opacity, .85);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.touch.is-active{display:block}.touch.is-locked{display:none}.touch__zone{position:absolute;left:0;bottom:0;width:var(--touch-zone-width, 45%);height:70%;pointer-events:auto;touch-action:none}.touch__stick{position:absolute;width:0;height:0;opacity:0;transition:opacity .15s}.touch__stick.is-visible{opacity:1}.touch__stick-base{position:absolute;transform:translate(-50%,-50%);width:7rem;height:7rem;border:2px solid rgba(207,232,255,.35);border-radius:50%;background:#06284e40}.touch__stick-nub{position:absolute;transform:translate(-50%,-50%);width:3rem;height:3rem;border-radius:50%;background:#cfe8ff8c;box-shadow:0 0 12px #cfe8ff40}.touch__buttons{position:absolute;right:max(1rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:.75rem;pointer-events:auto}.touch__button{width:3.5rem;height:3.5rem;border:2px solid rgba(207,232,255,.35);border-radius:50%;background:#06284e73;color:#cfe8ff;font-size:1.3rem;line-height:1;touch-action:none;cursor:pointer}.touch__button.is-held{background:#cfe8ff59;border-color:#cfe8ffb3}.touch__button--lamp{display:none;color:#ffd27f}.touch.is-night .touch__button--lamp{display:block}.touch.is-debug .touch__zone{background:#78dca01f;outline:1px dashed rgba(120,220,160,.6)}.touch.is-debug .touch__button{outline:1px dashed rgba(120,220,160,.8)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#06284e;font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}.game{-webkit-user-select:none;user-select:none}.game{position:fixed;inset:0}.game .experience{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.loading{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;background:#06284e;color:#cfe8ff;transition:opacity .5s ease}.loading.is-ready{opacity:0;pointer-events:none}.title-card{gap:.4rem;text-align:center}.title-card__kicker{font-size:.85rem;letter-spacing:.28em;text-transform:uppercase;opacity:.55}.title-card__title{font-size:clamp(2.2rem,7vw,4.2rem);font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1.05;text-shadow:0 0 32px rgba(43,163,160,.45)}.title-card__subtitle{font-size:clamp(1rem,2.6vw,1.4rem);letter-spacing:.5em;text-transform:uppercase;color:#2ba3a0;margin-bottom:1.6rem}.title-card__button{padding:.85rem 3.4rem;border:2px solid rgba(207,232,255,.55);border-radius:999px;background:#2ba3a024;color:#eaf6ff;font:700 1.15rem/1 inherit;font-family:inherit;letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}.title-card__button:hover,.title-card__button:focus-visible{background:#2ba3a059;border-color:#cfe8ff;transform:translateY(-2px);outline:none}.title-card__hint{margin-top:1.4rem;font-size:.85rem;opacity:.6}.title-card__hint kbd{padding:.1em .45em;border:1px solid rgba(207,232,255,.35);border-radius:4px;font-family:inherit;font-size:.85em}.ui.is-intro,.ui.is-intro *{pointer-events:none!important}.game.is-intro-active .interaction-hint{opacity:0!important}.loading__ring{width:2.4rem;height:2.4rem;border-radius:50%;border:3px solid rgba(207,232,255,.25);border-top-color:#cfe8ff;animation:loading-spin .9s linear infinite}.loading__label{font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8}@keyframes loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.loading__ring{animation:none}}.static-fallback{position:relative;z-index:10;max-width:40rem;margin:10vh auto;padding:0 1.5rem;color:#cfe8ff}
