.flag-panel__hint{opacity:.8;margin:0 0 12px;font-size:14px}.message-card{--glow:#f4c95d;left:50%;top:calc(128px + env(safe-area-inset-top));z-index:22;box-sizing:border-box;background:var(--clay-paper);width:min(420px,100vw - 32px);max-height:calc(100vh - 320px);color:var(--clay-ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--glow) 70%, white), 0 0 26px color-mix(in srgb, var(--glow) 55%, transparent), var(--lip), var(--inner);animation:message-in .26s var(--ease-pop) both;pointer-events:auto;border-radius:20px;padding:16px 44px 14px 18px;position:absolute;overflow:auto;translate:-50%}.message-card[data-state=exit]{animation:message-out .18s var(--ease-exit) forwards}.message-card__seal{background:radial-gradient(circle at 35% 30%, #fff 0 12%, var(--glow) 40%, color-mix(in srgb, var(--glow) 60%, #7a4a2a) 100%);width:26px;height:26px;box-shadow:0 0 14px var(--glow), 0 3px 0 #3b33462e;border-radius:50%;position:absolute;top:-12px;left:14px}.message-card__eyebrow{letter-spacing:.08em;text-transform:uppercase;opacity:.7;align-items:center;gap:8px;margin:0 0 6px;padding-left:18px;font-size:14px;font-weight:800;display:flex}.message-card__badge{background:var(--glow);color:var(--clay-ink);letter-spacing:.04em;opacity:1;border-radius:999px;padding:1px 8px;font-size:11px}.message-card__text{overflow-wrap:anywhere;margin:0 0 8px;font-size:20px;font-weight:700;line-height:1.3}.message-card__author{opacity:.75;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:700}.message-card__close{background:var(--clay-cream-deep);width:36px;height:36px;color:var(--clay-ink);font:inherit;cursor:pointer;border:0;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:8px;right:8px}.message-card__close:focus-visible{outline:3px solid var(--clay-coral);outline-offset:2px}@keyframes message-in{0%{opacity:0;transform:translateY(-10px)scale(.94)}}@keyframes message-out{to{opacity:0;transform:translateY(-6px)scale(.97)}}.message-button{right:calc(32px + env(safe-area-inset-right));bottom:calc(200px + env(safe-area-inset-bottom));background:var(--clay-cream);width:56px;height:56px;color:var(--clay-ink);box-shadow:var(--lip), var(--inner);animation:hint-pop .22s var(--ease-pop) both;z-index:15;border:0;border-radius:50%;place-items:center;display:grid;position:fixed}.message-button:active{box-shadow:0 2px 0 #3b334629, var(--inner);transform:translateY(3px)scale(.97)}.message-button:focus-visible{outline:3px solid var(--clay-coral);outline-offset:3px}:root[data-reduced-motion=true] .message-card,:root[data-reduced-motion=true] .message-button{animation-duration:1ms!important}.captain-colours__swatch{cursor:pointer;place-items:center;min-width:44px;min-height:44px;display:inline-grid}.captain-colours__swatch input{opacity:0;cursor:pointer;grid-area:1/1;width:100%;height:100%;margin:0}.captain-colours__swatch>span{pointer-events:none;grid-area:1/1}.flag-panel .settings__option{cursor:text;grid-template-columns:1fr;row-gap:6px}.flag-panel .settings__option input[type=text]{box-sizing:border-box;width:100%;height:48px;color:inherit;font:inherit;background:#fff;border:2px solid #8a7f96;border-radius:12px;padding:0 12px;font-size:16px}.flag-panel .settings__option input[type=text]:focus-visible{outline:3px solid var(--clay-coral);outline-offset:2px}.flag-panel .captain-colours__row{flex-wrap:wrap;gap:4px;margin:10px 0}.captain-colours__swatch:has(input:focus-visible){outline:3px solid var(--clay-coral);outline-offset:-2px;border-radius:12px}.pause-menu.panel{box-sizing:border-box;color:#2b1d10;background:radial-gradient(at 20% 10%,#fffff08c,#0000 55%),radial-gradient(at 85% 95%,#96642838,#0000 60%),#ecd9a8;border:2px solid #5b3d1f;width:min(440px,100%);max-height:calc(100dvh - 24px);padding:20px 22px 22px;overflow:hidden auto}.pause-menu .panel__header{flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:14px}.pause-menu h2{color:#3a2410;font-family:Georgia,Times New Roman,serif;font-size:28px;font-style:italic}.pause-menu__tag{letter-spacing:.04em;opacity:.72;font-size:14px}.pause-menu__list{gap:10px;display:grid}.pause-menu .pause-menu__button{color:#2b1d10;background:#f3e3b8;border:2px solid #5b3d1f;width:100%;min-height:48px;font-size:17px;box-shadow:0 4px #5b3d1f73,inset 0 2px #ffffff8c}.pause-menu .pause-menu__button[data-primary]{background:#f0b45a}.pause-menu .pause-menu__button:hover{background:#f8ecc8}.pause-menu .pause-menu__button[data-primary]:hover{background:#f6c777}.pause-menu .pause-menu__button:active{box-shadow:0 1px #5b3d1f73}.pause-menu .pause-menu__button:focus-visible{outline-offset:3px;outline:3px solid #1f66c4}.pause-menu__back{margin-top:4px}.pause-menu__note{margin:0 0 16px;line-height:1.45}.pause-menu .settings__group{gap:6px;min-width:0;margin:0 0 12px}.pause-menu .settings__group legend{color:#3a2410;margin-bottom:4px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-style:italic}.pause-menu .settings__option{box-shadow:none;background:#fff7d6cc;border:1.5px solid #5b3d1f;min-height:44px;padding:6px 12px}.pause-menu .audio-settings__slider{grid-template-columns:7.5rem 1fr;gap:.6rem;padding:.1rem 0}.pause-menu .audio-settings__slider input[type=range]{accent-color:#b4531f;min-width:0}.pause-menu .settings__option input[type=checkbox],.pause-menu__tier input{accent-color:#b4531f}.pause-menu__tiers{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pause-menu__tier{box-sizing:border-box;cursor:pointer;background:#fff7d6cc;border:1.5px solid #5b3d1f;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:6px 10px;font-size:14px;font-weight:800;line-height:1.15;display:flex}.pause-menu__tier input{flex:none;width:18px;height:18px;margin:0}.pause-menu__tier:has(input:checked){background:#f0b45a}.pause-menu__tier:has(input:focus-visible){outline-offset:2px;outline:3px solid #1f66c4}.pause-menu .captain-settings{margin-top:0}.pause-menu .captain-form__field{margin-bottom:8px}.pause-menu .captain-form__field input[type=text]{box-sizing:border-box;width:100%;box-shadow:none;background:#fff7d6cc;border:1.5px solid #5b3d1f}.pause-menu .captain-form__field input[type=color]{box-shadow:none;background:#fff7d6cc;border:1.5px solid #5b3d1f}.pause-menu .captain-colours__row{flex-wrap:wrap;gap:6px 8px;margin-bottom:4px}.pause-menu .captain-colours__row .settings__label{width:100%}.pause-menu .swatch{box-sizing:border-box;border:1.5px solid #5b3d1f}.pause-menu__back{z-index:1;position:sticky;bottom:-14px}.pause-menu__back:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000,#ecd9a8 10px);position:absolute;inset:-10px -2px -14px}.pause-menu__keys{grid-template-columns:auto 1fr;align-items:center;gap:6px 14px;margin:0 0 12px;display:grid}.pause-menu__keys dt{flex-wrap:wrap;justify-self:start;gap:4px;display:flex}.pause-menu__keys dd{margin:0;font-size:14px;line-height:1.3}.pause-menu__device{font-size:14px;font-weight:800}.pause-menu kbd{background:#f8ecc8;border:1.5px solid #5b3d1f;box-shadow:0 2px #5b3d1f66}@media (max-width:420px){.pause-menu.panel{padding:16px 14px}.pause-menu__back{bottom:-8px}.pause-menu__back:before{inset:-10px -2px -8px}.pause-menu__keys{gap:4px 10px;margin-bottom:8px}.pause-menu__keys dd{font-size:14px}.pause-menu h2{font-size:24px}.pause-menu .audio-settings__slider{grid-template-columns:6.2rem 1fr}.pause-menu__tiers{grid-template-columns:1fr;gap:6px}.pause-menu__tier{min-height:40px}}@media (max-height:520px){.pause-menu.panel{width:min(560px,100%);padding:12px 16px}.pause-menu .panel__header{margin-bottom:8px}.pause-menu h2{font-size:22px}.pause-menu__list{grid-template-columns:1fr 1fr;gap:8px}.pause-menu .pause-menu__button{min-height:42px}}.hud__menu svg{margin:auto;display:block}.modal-backdrop:has(>.pause-menu){z-index:30}.pause-menu__legal{gap:10px;max-height:min(56vh,420px);margin:0 0 12px;padding-right:4px;display:grid;overflow-y:auto}.pause-menu__legal h3{margin:0 0 2px;font-size:15px}.pause-menu__legal p{margin:0;font-size:14px;line-height:1.4}.guide.panel{box-sizing:border-box;color:#2b1d10;background:radial-gradient(at 20% 10%,#fffff08c,#0000 55%),radial-gradient(at 85% 95%,#96642838,#0000 60%),#ecd9a8;border:2px solid #5b3d1f;flex-direction:column;width:min(660px,100%);max-height:calc(100dvh - 24px);padding:22px 26px;display:flex;overflow:hidden}.modal-backdrop:has(>.guide){z-index:30}.guide__inner{flex-direction:column;flex:auto;gap:12px;min-height:0;display:flex}.guide__inner>*{flex:none}.guide__header{gap:2px;display:grid}.guide__eyebrow{letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:14px;font-weight:800}.guide h2{color:#3a2410;margin:0;font-family:Georgia,Times New Roman,serif;font-size:32px;font-style:italic;line-height:1.1}.guide__body{overscroll-behavior:contain;touch-action:pan-y;align-content:start;gap:12px;min-height:0;font-size:17px;line-height:1.4;display:grid;overflow-y:auto;flex:0 auto!important}.guide__lead,.guide__pad,.guide__tip{margin:0}.guide__pad{background:#fff7d6bf;border:1.5px solid #5b3d1f;border-radius:12px;padding:8px 12px;font-size:15px}.guide__tip{flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.guide__keys{grid-template-columns:auto 1fr;align-items:center;gap:10px 16px;margin:0;display:grid}.guide__keys dt{flex-wrap:wrap;justify-self:start;align-items:center;gap:4px;min-width:52px;display:flex}.guide__keys dd{margin:0;font-size:17px;line-height:1.3}.guide kbd{background:#f8ecc8;border:1.5px solid #5b3d1f;min-width:32px;height:32px;font-size:15px;box-shadow:0 2px #5b3d1f66}.guide__stick,.guide__round{box-sizing:border-box;color:#3a2410;background:#f8ecc8;border:2px solid #5b3d1f;border-radius:50%;place-items:center;width:44px;height:44px;font-size:22px;line-height:1;display:grid;box-shadow:0 3px #5b3d1f66}.guide__stick:after{content:"";background:#b4531f;border-radius:50%;width:18px;height:18px;box-shadow:inset 0 2px #fff6}.guide__tap{box-sizing:border-box;background:#f8ecc8;border:1.5px solid #5b3d1f;border-radius:10px;place-items:center;min-width:44px;height:32px;padding:0 8px;font:800 14px/1 ui-monospace,monospace;display:grid}.guide__isles{grid-template-columns:1fr 1fr;gap:8px 22px;margin:0;padding:0;list-style:none;display:grid}.guide__isles li{border-bottom:1.5px dashed #5b3d1f66;gap:0;min-width:0;padding-bottom:6px;display:grid}.guide__isle-name{color:#3a2410;font-size:17px;font-weight:800;line-height:1.2}.guide__isle-line{opacity:.85;font-size:15px;line-height:1.25}.guide__cards{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide__cards li{background:#fff7d6cc;border:1.5px solid #5b3d1f;border-radius:14px;padding:10px 14px 12px}.guide__cards h3{color:#3a2410;margin:0 0 2px;font-family:Georgia,Times New Roman,serif;font-size:21px;font-style:italic}.guide__cards p{margin:0;font-size:16px;line-height:1.4}.guide__dots{justify-content:center;gap:10px;display:flex}.guide__dot{box-sizing:border-box;background:0 0;border:2px solid #5b3d1f;border-radius:50%;width:12px;height:12px}.guide__dot[data-on]{background:#b4531f;border-color:#5b3d1f}.guide__nav{align-items:center;gap:10px;display:flex}.guide .guide__button{color:#2b1d10;background:#f3e3b8;border:2px solid #5b3d1f;min-width:88px;min-height:48px;padding:6px 20px;font-size:17px;box-shadow:0 4px #5b3d1f73,inset 0 2px #ffffff8c}.guide .guide__button[data-primary]{background:#f0b45a;min-width:112px;margin-left:auto}.guide .guide__button:hover{background:#f8ecc8}.guide .guide__button[data-primary]:hover{background:#f6c777}.guide .guide__button:active{box-shadow:0 1px #5b3d1f73}.guide .guide__button:focus-visible{outline-offset:3px;outline:3px solid #1f66c4}.guide .guide__skip{box-shadow:none;background:0 0;border-color:#0000;min-width:64px;padding:6px 10px;text-decoration:underline}.guide .guide__skip:hover{background:#fff7d699}@media (max-width:640px){.guide.panel{padding:16px}.guide__inner{gap:10px}.guide h2{font-size:24px}.guide__body{gap:10px;font-size:16px}.guide__keys{gap:8px 12px}.guide__keys dd{font-size:15px}.guide__isles{grid-template-columns:1fr;gap:0}.guide__isles li{grid-template-columns:8.2rem 1fr;align-items:baseline;gap:8px;padding:4px 0}.guide__isle-name{font-size:15px}.guide__isle-line{font-size:14px}.guide__cards{gap:8px}.guide__cards li{padding:6px 12px 8px}.guide__cards p{font-size:15px;line-height:1.3}.guide__cards h3{font-size:18px;line-height:1.2}.guide__tip{font-size:15px}.guide .guide__button{min-width:72px;padding:6px 14px}.guide .guide__button[data-primary]{min-width:96px}}@media (max-width:400px){.guide .guide__header h2{font-size:22px}}@media (max-height:520px){.guide.panel{width:min(700px,100%);padding:10px 16px}.guide h2{font-size:22px}.guide__isles{grid-template-columns:1fr 1fr 1fr}}.mg-hud{z-index:12;pointer-events:none;position:fixed;inset:0}.mg-hud__bar{left:50%;top:calc(64px + env(safe-area-inset-top));box-sizing:border-box;color:#2b1d10;max-width:calc(100vw - 24px);box-shadow:0 4px 0 #5b3d1f73, var(--shadow);pointer-events:auto;background:#ecd9a8;border:2px solid #5b3d1f;border-radius:16px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;padding:8px 16px;display:flex;position:absolute;translate:-50%}.mg-hud__title{font-family:Georgia,Times New Roman,serif;font-size:16px;font-style:italic;font-weight:700}.mg-hud__clock{font-variant-numeric:tabular-nums;text-align:center;min-width:4.6ch;font-size:28px;font-weight:900}.mg-hud__stat{font-size:16px;font-weight:800}.mg-hud__combo{color:#b4531f}.mg-hud__best{opacity:.75;font-size:14px}.mg-hud__meter{background:#5b3d1f40;border-radius:3px;flex-basis:100%;height:6px;overflow:hidden}.mg-hud__meter i{background:#f0b45a;height:100%;transition:width .1s linear;display:block}.mg-hud__quit{min-width:56px;min-height:44px;font:inherit;color:#2b1d10;cursor:pointer;background:#f3e3b8;border:2px solid #5b3d1f;border-radius:10px;padding:0 14px;font-size:15px;font-weight:800}.mg-hud__quit:focus-visible{outline-offset:2px;outline:3px solid #1f66c4}.mg-hud__big{color:#fff7d6;-webkit-text-stroke:4px #5b3d1f;paint-order:stroke fill;text-shadow:0 6px #3b334659;animation:mg-pop .9s var(--ease-out-expo) both;font-size:clamp(72px,16vw,150px);font-weight:900;line-height:1;position:absolute;top:38%;left:50%;translate:-50% -50%}.mg-hud__big--go{color:#b8f0a0;animation-duration:.7s}.mg-hud__big--banner{color:#ffe27a;font-size:clamp(48px,11vw,110px);animation-duration:1.3s}@keyframes mg-pop{0%{opacity:0;scale:1.6}15%{opacity:1;scale:1}80%{opacity:1}to{opacity:0;scale:.9}}:root[data-reduced-motion=true] .mg-hud__big{animation:none}.mg-card.panel{box-sizing:border-box;color:#2b1d10;background:radial-gradient(at 20% 10%,#fffff08c,#0000 55%),radial-gradient(at 85% 95%,#96642838,#0000 60%),#ecd9a8;border:2px solid #5b3d1f;width:min(460px,100%);max-height:calc(100dvh - 24px);padding:20px 22px 22px;overflow-y:auto}.mg-card__head{text-align:center}.mg-card__eyebrow{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0;font-size:14px;font-weight:800}.mg-card h2{color:#3a2410;margin:4px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:32px;font-style:italic}.mg-card__sub{margin:6px 0 0;font-size:15px}.mg-card__medal{background:#d9a640;border:2px solid #5b3d1f;border-radius:999px;padding:2px 14px;font-size:14px;font-weight:900;display:inline-block}.mg-card__medal[data-medal=silver]{background:#cfd6de}.mg-card__medal[data-medal=bronze]{background:#c98a55}.mg-card__stats{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px;margin:14px 0 10px;display:grid}.mg-card__stats div{text-align:center;background:#fff7d6cc;border:1.5px solid #5b3d1f;border-radius:12px;padding:8px 10px}.mg-card__stats dt{letter-spacing:.03em;text-transform:uppercase;opacity:.7;font-size:14px;font-weight:800}.mg-card__stats dd{font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px;font-weight:900;line-height:1.2}.mg-card__best{text-align:center;margin:0 0 6px;font-weight:800}.mg-card__best[data-new]{color:#1f7a40}.mg-card__targets{opacity:.85;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin:0 0 8px;font-size:14px;display:flex}.mg-card__bests{margin:6px 0 12px;font-size:14px}.mg-card__bests summary{cursor:pointer;font-weight:800}.mg-card__bests ul{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.mg-card__bests li{justify-content:space-between;gap:12px;display:flex}.mg-card__actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mg-card .mg-card__btn{color:#2b1d10;background:#f3e3b8;border:2px solid #5b3d1f;min-height:48px;font-size:17px;box-shadow:0 4px #5b3d1f73,inset 0 2px #ffffff8c}.mg-card .mg-card__btn[data-primary]{background:#f0b45a}.mg-card .mg-card__btn:focus-visible{outline-offset:3px;outline:3px solid #1f66c4}.quiz-backdrop{z-index:30;box-sizing:border-box;background:#1e160e61;place-items:center;padding:12px;display:grid;position:fixed;inset:0}.quiz.panel{box-sizing:border-box;color:#2b1d10;background:radial-gradient(at 20% 10%,#fffff08c,#0000 55%),radial-gradient(at 85% 95%,#96642838,#0000 60%),#ecd9a8;border:2px solid #5b3d1f;width:min(620px,100%);max-height:calc(100dvh - 24px);padding:16px 20px 18px;overflow-y:auto}.quiz__head{flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:14px;font-weight:800;display:flex}.quiz__topic{background:#f0b45a;border:1.5px solid #5b3d1f;border-radius:999px;padding:1px 10px}.quiz__score{font-variant-numeric:tabular-nums;margin-left:auto;font-size:18px}.quiz__streak{color:#b4531f}.quiz__dots{flex-basis:100%;gap:4px;display:flex}.quiz__dots i{background:#5b3d1f40;border-radius:3px;flex:1;height:6px}.quiz__dots i[data-state=ok]{background:#3f9a52}.quiz__dots i[data-state=bad]{background:#c8473d}.quiz__dots i[data-state=now]{background:#5b3d1f}.quiz__timer{background:#fff7d6cc;border:2px solid #5b3d1f;border-radius:11px;height:22px;margin:10px 0;position:relative;overflow:hidden}.quiz__timer i{background:#6fb866;transition:width .1s linear;position:absolute;inset:0 auto 0 0}.quiz__timer[data-low] i{background:#d9693d}.quiz__timer span{text-align:center;font-size:14px;font-weight:900;line-height:18px;display:block;position:relative}.quiz__q{color:#3a2410;margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:22px;line-height:1.3}.quiz__options{gap:8px;display:grid}.quiz__option{box-sizing:border-box;text-align:left;width:100%;min-height:48px;font:inherit;color:#2b1d10;cursor:pointer;background:#f3e3b8;border:2px solid #5b3d1f;border-radius:12px;align-items:center;gap:12px;padding:8px 12px;font-size:16px;font-weight:700;display:flex;box-shadow:0 3px #5b3d1f66}.quiz__option kbd{background:#f8ecc8;border:1.5px solid #5b3d1f;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.quiz__option:hover{background:#f8ecc8}.quiz__option:focus-visible{outline-offset:2px;outline:3px solid #1f66c4}.quiz__option[data-state=right]{background:#b8e3a4;border-color:#2e6b32}.quiz__option[data-state=wrong]{background:#f0aaa0;border-color:#8e2b22}.quiz__option[data-state=dim]{opacity:.55}.quiz__why{margin:12px 0 0;font-size:15px;line-height:1.4}@media (max-width:520px){.quiz__q{font-size:19px}.mg-hud__clock{font-size:24px}}@media (max-width:640px){.mg-hud__bar{left:auto;right:max(16px, env(safe-area-inset-right));top:max(16px, env(safe-area-inset-top));border-radius:14px;gap:2px 10px;width:calc(100vw - 196px);max-width:280px;padding:6px 10px 8px;translate:none}.mg-hud__title,.mg-hud__stat{font-size:15px}.mg-hud__best{flex:auto}.mg-hud__big{top:46%}body:has(.mg-hud) .quest-tracker{display:none}}:root{--clay-cream:#f3ece4;--clay-ink:#3b3346;--clay-coral:#ef8f8a;--clay-sea:#8fcbd6;--radius:18px;--shadow:0 10px 30px #3b33462e, 0 2px 6px #3b33461f;--hud-hint-bottom:28px;--hud-prompt-bottom:96px;--hud-toast-bottom:164px;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);color:var(--clay-ink);font-family:Nunito,ui-rounded,system-ui,sans-serif}html,body,#root{background:#dcebf1;height:100%;margin:0;overflow:hidden}canvas{touch-action:none;display:block}.toast{left:50%;bottom:calc(var(--hud-toast-bottom) + env(safe-area-inset-bottom));z-index:21;background:var(--clay-cream);border-radius:var(--radius);width:max-content;max-width:calc(100vw - 32px);box-shadow:var(--shadow);animation:toast-in .5s var(--ease-out-expo);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;transform:translate(-50%)}.toast button{min-height:44px;font:inherit;background:var(--clay-sea);color:var(--clay-ink);cursor:pointer;border:0;border-radius:12px;padding:0 14px;font-weight:700}.toast button:focus-visible{outline:3px solid var(--clay-coral);outline-offset:2px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.waypoint-marker{z-index:5;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.waypoint-marker__arrow{width:32px;height:32px;position:absolute;top:-16px;left:-16px}.waypoint-marker__arrow:before{content:"";background:var(--clay-coral);clip-path:polygon(0 0,100% 50%,0 100%,22% 50%);filter:drop-shadow(0 3px #3b334640);position:absolute;inset:6px 4px 6px 8px}.waypoint-marker__label{background:var(--clay-cream);box-shadow:var(--shadow);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:14px;font-weight:800;position:absolute;top:22px;left:0;transform:translate(-50%)}.waypoint-marker[data-onscreen="1"] .waypoint-marker__label{top:-46px}:root{--clay-cream-deep:#e9dfd3;--clay-paper:#fffaf2;--lip:0 5px 0 #3b334629;--inner:inset 0 2px 0 #ffffffa6, inset 0 -3px 0 #3b33460f;--dur-quick:.15s;--dur-standard:.32s;--dur-exit:.2s;--ease-exit:cubic-bezier(.3, 0, 1, 1);--ease-pop:cubic-bezier(.175, .885, .32, 1.275)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}kbd{background:var(--clay-cream);min-width:26px;height:26px;color:var(--clay-ink);border-radius:8px;place-items:center;padding:0 6px;font:800 14px/1 ui-monospace,monospace;display:inline-grid;box-shadow:0 3px #3b33462e}.clay-button{background:var(--clay-sea);min-width:44px;min-height:44px;color:var(--clay-ink);font:inherit;box-shadow:var(--lip), var(--inner);cursor:pointer;transition:transform var(--dur-quick) var(--ease-out-expo), box-shadow var(--dur-quick) var(--ease-out-expo);border:0;border-radius:14px;padding:0 18px;font-weight:800}a.clay-button{box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.clay-button:hover{transform:translateY(-1px)}.clay-button:active{box-shadow:0 2px 0 #3b334629, var(--inner);transform:translateY(3px)}.clay-button--small{align-items:center;gap:8px;padding:0 12px;font-size:14px;display:inline-flex}.icon-button{background:var(--clay-cream-deep);width:44px;height:44px;color:var(--clay-ink);box-shadow:var(--lip);cursor:pointer;border:0;border-radius:50%;flex:none;font:800 22px/1 inherit}.clay-button:focus-visible,.icon-button:focus-visible,.panel a:focus-visible{outline:3px solid var(--clay-coral);outline-offset:3px}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in var(--dur-standard) var(--ease-out-expo);background:#3b33462e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-backdrop[data-backdrop=none]{-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;place-items:end center}.modal-backdrop[data-backdrop=none]>.panel{pointer-events:auto}.modal-backdrop[data-state=exit]{animation:fade-out var(--dur-exit) var(--ease-exit) forwards}.panel{background:var(--clay-cream);width:min(560px,100%);max-height:min(80vh,720px);box-shadow:var(--shadow), var(--inner);animation:panel-in var(--dur-standard) var(--ease-out-expo);border-radius:26px;outline:none;padding:22px 24px;position:relative;overflow:auto}.panel[data-state=exit]{animation:panel-out var(--dur-exit) var(--ease-exit) forwards}.panel__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel h2{margin:0;font-size:24px}.panel h3{margin:0 0 6px;font-size:18px}@keyframes panel-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}@keyframes panel-out{to{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}.notes{gap:14px;margin:0;padding:0;list-style:none;display:grid}.note{background:var(--clay-paper);box-shadow:var(--lip), var(--inner);animation:note-in var(--dur-standard) var(--ease-out-expo) both;animation-delay:calc(var(--i,0) * 50ms);border-radius:18px;padding:16px 18px;rotate:-.4deg}.note:nth-child(2n){rotate:.5deg}.note p{margin:0 0 10px;line-height:1.45}.note[data-state=locked]{opacity:.72}.note[data-state=active]{box-shadow:0 0 0 3px var(--clay-coral), var(--lip)}.note[data-state=complete]{background:#f1f8ec}.note__meta{opacity:.72;font-size:14px;font-weight:800}.note__lock{font-style:italic}@keyframes note-in{0%{opacity:0;transform:translateY(10px)}}.dialogue.panel{width:min(720px,100%);margin-bottom:max(16px, env(safe-area-inset-bottom));overflow:visible}.dialogue__speaker{background:var(--clay-coral);color:#fff;box-shadow:var(--lip);border-radius:999px;margin:-38px 0 10px;padding:6px 14px;font-weight:800;display:inline-block}.dialogue__text{animation:text-in .22s var(--ease-out-expo);margin:0 0 16px;font-size:18px;line-height:1.5}.dialogue__choices{flex-wrap:wrap;gap:10px;display:flex}@keyframes text-in{0%{opacity:0;transform:translateY(6px)}}.quest-log__steps{gap:8px;margin:8px 0 18px;padding:0;list-style:none;display:grid}.quest-log__steps li{align-items:baseline;gap:10px;display:flex}.step-mark{border:3px solid var(--clay-sea);border-radius:50%;flex:none;width:14px;height:14px}.quest-log__steps li[data-done=true]{opacity:.6;text-decoration:line-through}.quest-log__steps li[data-done=true] .step-mark{background:var(--clay-sea)}.quest-log__steps li[aria-current=step]{font-weight:800}.quest-log__steps li[aria-current=step] .step-mark{border-color:var(--clay-coral)}.quest-log__points{font-weight:800}@media (prefers-reduced-motion:reduce){.panel,.modal-backdrop,.note,.dialogue__text{animation-duration:1ms!important;animation-delay:0s!important}.clay-button{transition:none}}html[data-reduced-motion=true] .panel,html[data-reduced-motion=true] .modal-backdrop,html[data-reduced-motion=true] .note,html[data-reduced-motion=true] .dialogue__text{animation-duration:1ms!important;animation-delay:0s!important}html[data-reduced-motion=true] .clay-button{transition:none}.hud{z-index:10;pointer-events:none;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));position:fixed;inset:0}.hud__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.hud__top>*,.hud__right>*{pointer-events:auto}.hud__right{align-items:flex-start;gap:10px;display:flex}.chip{background:var(--clay-cream);box-shadow:var(--shadow), var(--inner);border-radius:20px;padding:10px 14px}.clock-chip{align-items:center;gap:10px;font-weight:800;display:inline-flex}.clock-chip__icon{width:22px;height:22px;transition:background var(--dur-standard) var(--ease-out-expo), box-shadow var(--dur-standard) var(--ease-out-expo);background:#ffd98a;border-radius:50%;box-shadow:0 0 0 4px #ffd98a59}.clock-chip[data-phase=dawn] .clock-chip__icon{background:#f9b98f;box-shadow:0 0 0 4px #f9b98f59}.clock-chip[data-phase=dusk] .clock-chip__icon{background:#ffc98a;box-shadow:0 0 0 4px #f2c7a673}.clock-chip[data-phase=night] .clock-chip__icon{background:0 0;box-shadow:inset -7px -3px #ffe6a0}.clock-chip__time{font-variant-numeric:tabular-nums;font-size:18px}.clock-chip__phase{letter-spacing:.06em;text-transform:uppercase;opacity:.72;font-size:14px}.quest-tracker{gap:4px;max-width:min(360px,60vw);display:grid}.quest-tracker p{margin:0}.quest-tracker__title{font-weight:800}.quest-tracker__hint{font-size:14px;line-height:1.35}.quest-tracker__distance{color:var(--clay-coral);font-variant-numeric:tabular-nums;font-weight:800}.quest-tracker .clay-button{background:var(--clay-cream-deep);justify-self:start;margin-top:6px}.hud__loading{background:var(--clay-cream);box-shadow:var(--shadow);border-radius:999px;margin:0;padding:10px 16px;font-weight:800;position:absolute;top:50%;left:50%;translate:-50% -50%}.prompt{left:50%;bottom:calc(var(--hud-prompt-bottom) + env(safe-area-inset-bottom));pointer-events:auto;width:max-content;max-width:calc(100vw - 32px);animation:prompt-in .22s var(--ease-pop);position:absolute;translate:-50%}.prompt[data-state=exit]{animation:prompt-out .16s var(--ease-exit) forwards}.prompt__button{background:var(--clay-cream);min-height:52px;color:var(--clay-ink);font:inherit;box-shadow:var(--lip), var(--shadow);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:0 20px 0 12px;font-size:17px;font-weight:800;display:inline-flex}.prompt__button:focus-visible{outline:3px solid var(--clay-coral);outline-offset:3px}@keyframes prompt-in{0%{opacity:0;transform:translateY(8px)scale(.92)}}@keyframes prompt-out{to{opacity:0;transform:translateY(6px)scale(.96)}}.touch{left:max(24px, env(safe-area-inset-left));bottom:max(24px, env(safe-area-inset-bottom));pointer-events:auto;position:absolute}.touch__stick{width:132px;height:132px;box-shadow:var(--inner), var(--shadow);touch-action:none;background:#f3ece4b3;border-radius:50%;position:relative}.touch__knob{background:var(--clay-coral);width:56px;height:56px;box-shadow:var(--lip);border-radius:50%;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%}.content-panel.panel{width:min(760px,100%);max-height:min(86vh,900px);padding:28px 30px}.panel__close{position:absolute;top:14px;right:14px}.project__eyebrow{color:var(--clay-coral);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:14px;font-weight:800}.project h2{margin:0 48px 6px 0;font-size:30px}.project__tagline{margin:0 0 18px;font-size:19px}.project p{line-height:1.6}.project__highlights{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0 0 18px;display:grid}.project__highlights div{background:var(--clay-paper);box-shadow:var(--inner), var(--lip);border-radius:16px;padding:12px 14px}.project__highlights dt{letter-spacing:.05em;text-transform:uppercase;opacity:.7;font-size:14px;font-weight:800}.project__highlights dd{margin:4px 0 0;font-size:20px;font-weight:800}.chips{flex-wrap:wrap;gap:8px;margin:16px 0;padding:0;list-style:none;display:flex}.chips li{background:var(--clay-sea);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:800}.project__links{flex-wrap:wrap;gap:10px;display:flex}.project__links a{align-items:center;text-decoration:none;display:inline-flex}@media (max-width:640px){.hud__top{flex-direction:column}.quest-tracker{max-width:100%}.content-panel.panel{padding:22px 18px}}@media (pointer:fine){.touch{display:none}}@media (prefers-reduced-motion:reduce){.prompt{animation-duration:1ms!important}}html[data-reduced-motion=true] .prompt{animation-duration:1ms!important}.scoreboard__tabs{background:var(--clay-cream-deep);border-radius:16px;gap:8px;margin-bottom:14px;padding:4px;display:flex}.scoreboard__tab{min-height:44px;color:var(--clay-ink);font:inherit;cursor:pointer;transition:background var(--dur-quick) var(--ease-out-expo), box-shadow var(--dur-quick) var(--ease-out-expo);background:0 0;border:0;border-radius:12px;flex:1;font-weight:800}.scoreboard__tab[aria-selected=true]{background:var(--clay-paper);box-shadow:var(--lip)}.scoreboard__tab:focus-visible,.scoreboard__refresh:focus-visible{outline:3px solid var(--clay-coral);outline-offset:2px}.scoreboard__board{min-height:180px}.scoreboard__list{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.scoreboard__row{background:var(--clay-paper);min-height:44px;box-shadow:var(--inner);animation:panel-in var(--dur-standard) var(--ease-out-expo) both;border-radius:14px;grid-template-columns:3.2em 18px 1fr auto;align-items:center;gap:10px;padding:0 12px;display:grid}.scoreboard__row:nth-child(2){animation-delay:50ms}.scoreboard__row:nth-child(3){animation-delay:.1s}.scoreboard__row:nth-child(4){animation-delay:.15s}.scoreboard__row:nth-child(n+5){animation-delay:.2s}.scoreboard__row[data-you=true]{background:var(--clay-sea);font-weight:800}.scoreboard__rank{font-variant-numeric:tabular-nums;font-weight:800}.scoreboard__swatch{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 -2px #3b33462e}.scoreboard__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scoreboard__badge{color:var(--clay-coral);margin-left:6px}.scoreboard__value{font-variant-numeric:tabular-nums;font-weight:800}.scoreboard__week,.scoreboard__standing{margin:0 0 10px;font-weight:700}.scoreboard__offline{background:var(--clay-cream-deep);border-radius:14px;padding:12px 14px}html[data-reduced-motion=true] .scoreboard__row,html[data-reduced-motion=true] .scoreboard__tab{transition:none;animation:none}.settings__group{border:0;gap:10px;margin:0 0 16px;padding:0;display:grid}.settings__group legend{margin-bottom:8px;font-weight:800}.settings__option{background:var(--clay-paper);min-height:44px;box-shadow:var(--inner), var(--lip);cursor:pointer;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:10px 14px;display:grid}.settings__option input{width:22px;height:22px;accent-color:var(--clay-coral)}.settings__option small{opacity:.72;grid-column:2;font-size:14px}.settings__label{font-weight:800}.settings__option:has(input:focus-visible){outline:3px solid var(--clay-coral);outline-offset:3px}.captain-settings{margin-top:18px}.captain-form__field{gap:6px;display:grid}.captain-form__field input[type=text]{background:var(--clay-paper);min-height:44px;box-shadow:var(--inner);color:var(--clay-ink);font:inherit;border:0;border-radius:12px;padding:0 12px}.captain-form__field input[type=color]{background:var(--clay-paper);width:64px;height:44px;box-shadow:var(--inner);cursor:pointer;border:0;border-radius:12px;padding:4px}.captain-form__field input:focus-visible{outline:3px solid var(--clay-coral);outline-offset:2px}.captain-form legend{margin-bottom:6px;font-weight:800}.captain-settings__note{margin:0}.captain-settings__message{min-height:1.4em;margin:8px 0 0;font-weight:700}.captain-settings__message[data-tone=error]{color:#b4443f}.capsize{box-sizing:border-box;background:var(--clay-cream);width:max-content;max-width:calc(100vw - 32px);color:var(--clay-ink);border-radius:var(--radius);box-shadow:var(--shadow);animation:toast-in .45s var(--ease-out-expo);pointer-events:auto;justify-items:center;gap:8px;padding:18px 22px;display:grid;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)}.capsize__title{margin:0;font-size:1.15rem;font-weight:800}.capsize__hint{margin:0}.capsize__hint kbd{min-width:1.6em;font:inherit;background:#fff;border-radius:8px;padding:2px 6px;font-weight:800;display:inline-block;box-shadow:inset 0 -2px #3b33462e}.capsize__button{min-height:44px;font:inherit;white-space:nowrap;background:var(--clay-coral);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:0 18px;font-weight:800}.capsize__button:focus-visible{outline:3px solid var(--clay-sea);outline-offset:2px}body:has([role=dialog]) .mode-hint__chip[data-kind=hint]{visibility:hidden}.mode-hint{left:50%;bottom:calc(var(--hud-hint-bottom) + env(safe-area-inset-bottom));pointer-events:none;z-index:20;width:max-content;max-width:calc(100vw - 32px);position:fixed;transform:translate(-50%)}.mode-hint__chip{text-align:center;background:var(--clay-paper);min-height:44px;color:var(--clay-ink);box-shadow:var(--lip), var(--inner);animation:hint-pop .22s var(--ease-pop) both;border-radius:999px;align-items:center;gap:10px;padding:8px 18px;font-weight:800;display:inline-flex}.mode-hint__chip[data-kind=notice]{background:#fde3d6}@keyframes hint-pop{0%{opacity:0;transform:translateY(10px)scale(.92)}}.anchor-button{right:calc(24px + env(safe-area-inset-right));bottom:calc(120px + env(safe-area-inset-bottom));background:var(--clay-sea);width:64px;height:64px;color:var(--clay-ink);box-shadow:var(--lip), var(--inner);animation:hint-pop .22s var(--ease-pop) both;z-index:15;border:0;border-radius:50%;font-size:28px;position:fixed}.anchor-button:active{box-shadow:0 2px 0 #3b334629, var(--inner);transform:translateY(3px)scale(.97)}:root[data-reduced-motion=true] .mode-hint__chip,:root[data-reduced-motion=true] .anchor-button{animation:none}.captain-colours__row{align-items:center;gap:10px;min-height:44px;display:flex}.captain-colours__row .settings__label{width:56px}.swatch{background:var(--swatch);width:44px;height:44px;box-shadow:var(--lip), var(--inner);cursor:pointer;border-radius:50%;position:relative}.swatch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.swatch:has(input:checked){outline:3px solid var(--clay-ink);outline-offset:3px}.swatch:has(input:focus-visible){outline:3px solid var(--clay-coral);outline-offset:3px}@media (prefers-reduced-motion:reduce){.capsize{animation:none}}:root{--introd-sky-top:#4fa6dd;--introd-sky-bottom:#ffcf7a;--introd-sea:#1f6f9e;--introd-sea-deep:#124a6b;--introd-sand:#eec27c;--introd-sun:#ffc24d;--introd-ship-red:#d9483a;--introd-ship-white:#f6f1e6;--introd-ink:#17324a;--intro-horizon:58%;--stage-w:min(96vw, 900px)}.intro-screen{z-index:100;color:var(--introd-ship-white);clip-path:inset(0);position:fixed;inset:0;overflow:hidden}.intro-screen[data-exiting]{pointer-events:none;clip-path:inset(0 0 0 100%);transition:clip-path .65s .65s var(--ease-exit)}@keyframes intro-rise{0%{opacity:0;transform:translateY(24px)}}@keyframes intro-fade{0%{opacity:0}}.intro-screen__sky{background:linear-gradient(180deg, var(--introd-sky-top) 0%, #a9c9d0 30%, var(--introd-sky-bottom) var(--intro-horizon), var(--introd-sea) var(--intro-horizon), var(--introd-sea-deep) 100%);animation:.8s both intro-fade;position:absolute;inset:0}.intro-screen__sun{left:66%;top:calc(var(--intro-horizon) - 30% * var(--p,0) - 6%);aspect-ratio:1;background:radial-gradient(circle at 40% 35%, #fff2b8, var(--introd-sun) 70%);clip-path:polygon(50% 0,78% 8%,96% 30%,100% 58%,86% 84%,60% 100%,30% 96%,8% 76%,0 46%,14% 18%);width:clamp(90px,16vw,190px);transition:top .6s var(--ease-out-expo);position:absolute;transform:translate(-50%,-50%)}.intro-screen__cloud{clip-path:polygon(0 100%,8% 55%,26% 40%,40% 8%,62% 22%,78% 38%,94% 55%,100% 100%);background:#ffffffd9;width:clamp(110px,20vw,240px);height:clamp(26px,5vw,52px);animation:60s linear infinite alternate intro-cloud;position:absolute}.intro-screen__cloud--a{top:26%;left:8%}.intro-screen__cloud--b{opacity:.7;animation-duration:80s;animation-direction:alternate-reverse;top:34%;left:76%}@media (max-width:600px){.intro-screen{--stage-w:114vw}}@keyframes intro-cloud{to{transform:translate(14vw)}}.intro-screen__island{left:4%;top:calc(var(--intro-horizon) - clamp(30px, 8vw, 90px));opacity:.85;width:clamp(130px,26vw,340px);position:absolute}.intro-screen__top{z-index:3;padding:max(clamp(16px, 4vw, 40px), env(safe-area-inset-top)) max(clamp(16px, 4vw, 40px), env(safe-area-inset-right)) clamp(16px, 4vw, 40px) max(clamp(16px, 4vw, 40px), env(safe-area-inset-left));animation:intro-rise .7s .15s var(--ease-out-expo) both;justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0}.intro-screen__eyebrow{letter-spacing:.22em;text-transform:uppercase;text-shadow:0 2px #124a6b59;margin:0;font-size:clamp(14px,1.6vw,16px);font-weight:800}.intro-screen__title{letter-spacing:-.02em;text-shadow:0 5px #124a6b66;margin:0;font-size:clamp(26px,7.4vw,72px);font-weight:900;line-height:.95}.intro-stage{left:50%;bottom:calc(100% - var(--intro-horizon) - var(--stage-w) * .1136 - 40px);aspect-ratio:2;width:var(--stage-w);margin-left:calc(var(--stage-w) / -2);z-index:1;transition:transform .95s cubic-bezier(.55,0,.9,.4);animation:.5s .2s both intro-fade;position:absolute}.intro-screen[data-exiting] .intro-stage{transform:translate(110vw)}.intro-ship-canvas{width:100%;height:100%;display:block}.intro-sea{left:0;right:0;top:var(--intro-horizon);pointer-events:none;position:absolute;bottom:0;overflow:hidden}.intro-sea--back{z-index:0}.intro-sea--front{z-index:2}.intro-sea__wave{width:200%;height:clamp(80px,18vh,170px);animation:9s linear infinite intro-wave;position:absolute;left:0}.intro-sea__wave path{fill:currentColor}.intro-sea__wave--1{color:#2a84b4;animation-duration:14s;top:-6px}.intro-sea__wave--2{color:#1b6690;animation-duration:10s;animation-direction:reverse;top:clamp(6px,2vh,22px)}.intro-sea__wave--3{height:60vh;color:var(--introd-sea-deep);animation-duration:7s;top:clamp(64px,15vh,130px)}@keyframes intro-wave{to{transform:translate(-50%)}}.intro-screen__bottom{z-index:3;left:50%;bottom:max(clamp(18px, 5vh, 48px), env(safe-area-inset-bottom));width:min(560px,100% - 40px);animation:intro-rise-x .7s .7s var(--ease-out-expo) both;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;transform:translate(-50%)}@keyframes intro-rise-x{0%{opacity:0;transform:translate(-50%,24px)}}.intro-screen__percent{font-variant-numeric:tabular-nums;text-shadow:0 4px #124a6b80;font-size:clamp(40px,8vw,64px);font-weight:900;line-height:1}.intro-screen__percent small{margin-left:2px;font-size:.45em}@media (prefers-reduced-motion:reduce){.intro-screen,.intro-screen *{animation:none!important}.intro-screen[data-exiting],.intro-screen[data-exiting] .intro-stage{transition:none}.intro-sea__wave{transform:translate(-12%)}}.intro-clock{--intro-clock-size:clamp(72px, 14vw, 108px);width:var(--intro-clock-size);height:var(--intro-clock-size);transform-style:preserve-3d;cursor:pointer;border-radius:50%;transition:transform .2s ease-out;position:relative}.intro-clock:focus-visible{outline:3px solid var(--introd-sun);outline-offset:4px}.intro-clock__face{background:conic-gradient(from 180deg, var(--introd-sand), #f7d99a, var(--introd-sand));border:3px solid var(--introd-ship-white);clip-path:polygon(50% 1%,75% 7%,93% 25%,99% 50%,93% 75%,75% 93%,50% 99%,25% 93%,7% 75%,1% 50%,7% 25%,25% 7%);border-radius:50%;position:absolute;inset:0;box-shadow:0 6px 18px #124a6b59,inset 0 0 0 6px #17324a1f}.intro-clock__tick{background:var(--introd-ink);opacity:.55;border-radius:2px;width:3px;height:8px;margin-left:-1.5px;position:absolute;top:50%;left:50%}.intro-clock__tick--12{transform:translateY(calc(var(--intro-clock-size) / -2 + 4px))}.intro-clock__tick--3{transform:rotate(90deg) translateY(calc(var(--intro-clock-size) / -2 + 4px))}.intro-clock__tick--6{transform:rotate(180deg) translateY(calc(var(--intro-clock-size) / -2 + 4px))}.intro-clock__tick--9{transform:rotate(270deg) translateY(calc(var(--intro-clock-size) / -2 + 4px))}.intro-clock__sun{background:var(--introd-sun);border-radius:50%;width:22px;height:22px;transition:transform .15s ease-out,opacity .15s ease-out;position:absolute;top:32%;left:30%;box-shadow:0 0 14px 2px #ffc24db3}.intro-clock__hand{transform-origin:50% 100%;background:var(--introd-ink);transition:transform .18s var(--ease-pop);border-radius:3px;position:absolute;top:50%;left:50%}.intro-clock__hand--hour{width:5px;height:26%;margin-top:-26%}.intro-clock__hand--minute{width:3px;height:36%;margin-top:-36%}.intro-clock__pin{background:var(--introd-ship-red);width:8px;height:8px;box-shadow:0 0 0 2px var(--introd-ship-white);border-radius:50%;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%}.intro-clock__label{text-align:center;text-shadow:0 2px #124a6b66;font-variant-numeric:tabular-nums;margin-top:8px;font-weight:800;display:block}@media (prefers-reduced-motion:reduce){.intro-clock,.intro-clock__hand,.intro-clock__sun{transition:none}}.intro-screen__progress{background:#124a6b8c;border-radius:999px;width:100%;height:14px;overflow:hidden;box-shadow:0 0 0 3px #f6f1e659}.intro-screen__progress-fill{transform-origin:0;background:linear-gradient(90deg, var(--introd-sun), var(--introd-ship-red));width:100%;height:100%;transition:transform .25s var(--ease-out-expo);border-radius:inherit}.intro-screen__hint{text-shadow:0 2px #124a6b80;min-height:18px;margin:0;font-size:14px;font-weight:700}.intro-screen__sail{min-height:48px;font:inherit;letter-spacing:.02em;background:var(--introd-ship-red);color:var(--introd-ship-white);cursor:pointer;animation:intro-sail-in .3s var(--ease-out-expo);border:0;border-radius:999px;padding:0 28px;font-size:16px;font-weight:800;box-shadow:0 8px #124a6b59}.intro-screen__sail:hover{filter:brightness(1.08)}.intro-screen__sail:active{transform:translateY(3px);box-shadow:0 4px #124a6b59}.intro-screen__sail:focus-visible{outline:3px solid var(--introd-sun);outline-offset:3px}@keyframes intro-sail-in{0%{opacity:0;transform:translateY(8px)scale(.97)}}@media (prefers-reduced-motion:reduce){.intro-screen__sail{animation:none}.intro-screen__progress-fill{transition:none}}.audio-settings__slider{grid-template-columns:8.5rem 1fr;align-items:center;gap:.75rem;padding:.35rem 0;display:grid}.audio-settings__slider input[type=range]{width:100%;accent-color:var(--clay-accent,#e8835a)}.audio-settings__slider input:disabled{opacity:.45}@media (max-width:640px){:root{--hud-hint-bottom:192px;--hud-prompt-bottom:266px;--hud-toast-bottom:330px}.mode-hint__chip{border-radius:24px}}.content-view__back{margin-bottom:.75rem}.content-view__shelf{gap:.9rem;padding:0;list-style:none;display:grid}.content-view__shelf p{opacity:.8;margin:.35rem 0 0}.content-view__links{flex-wrap:wrap;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.content-view__links a{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.content-view__contact{opacity:.85;margin:1rem 0 0}.content-view h3{margin:1.2rem 0 .4rem}.contact-card{margin:1rem 0 0}.contact-card__rows{gap:.5rem;margin:0;display:grid}.contact-card__row{background:var(--clay-paper);box-shadow:var(--inner), var(--lip);border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:.2rem 1.2rem;padding:.55rem .9rem;display:flex}.contact-card__row dt{letter-spacing:.05em;text-transform:uppercase;opacity:.7;flex:0 0 7.5rem;font-size:14px;font-weight:800}.contact-card__row dd{overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:800}.contact-card__row a{color:inherit;text-underline-offset:3px}.contact-card__where{margin:1rem 0 .2rem}.contact-card__open{letter-spacing:.05em;text-transform:uppercase;opacity:.7;margin:0;font-size:14px;font-weight:800}.contact-card__actions{flex-wrap:wrap;gap:.6rem;margin:1rem 0 0;display:flex}.contact-card__actions a{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.engine-status{margin:1rem 0 0}.engine-status__services{flex-wrap:wrap;gap:1.2rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.engine-status__dot{background:#d8e4f0;border-radius:50%;width:.7rem;height:.7rem;margin-right:.35rem;display:inline-block}.engine-status__dot--up{background:#4ade80}.engine-status__dot--down{background:#f87171}.engine-status__stats{flex-wrap:wrap;gap:1.5rem;margin:0;display:flex}.engine-status__stats dt{opacity:.7;font-size:.85rem}.engine-status__stats dd{margin:0;font-size:1.4rem;font-weight:700}.engine-status__note{opacity:.8;margin:0}.map-panel__legend,.map-panel__list{flex-wrap:wrap;gap:2px 14px;margin:6px 0 0;padding:0;font-size:12px;line-height:1.25;list-style:none;display:flex}.map-panel__list{gap:4px 6px}.map-panel__list li{white-space:nowrap;background:#fff7d6b3;border:1px solid #5b3d1f;border-radius:999px;align-items:baseline;gap:4px;padding:0 8px;display:inline-flex}.map-panel__dist{opacity:.8}.map-panel__go{min-height:26px;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;text-decoration:underline}.map-panel__go:focus-visible,.map-panel__toggle:focus-visible{outline-offset:2px;border-radius:4px;outline:3px solid #1f66c4}.map-panel{box-sizing:border-box;color:#2b1d10;background:radial-gradient(at 20% 10%,#fffff08c,#0000 55%),radial-gradient(at 85% 95%,#96642838,#0000 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .32 0 0 0 0 .15 0 0 0 .35 -.08'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"),#ecd9a8;border:2px solid #5b3d1f;flex-direction:column;width:min(94vw,900px);max-width:94vw;max-height:calc(100dvh - 24px);padding:14px 18px;display:flex;overflow:hidden auto}.map-panel>*{flex:none}.map-panel .panel__header{margin-bottom:8px}.map-panel h2{color:#3a2410;font-family:Georgia,Times New Roman,serif;font-size:20px;font-style:italic}.map-panel>.map-panel__frame{border-radius:6px;flex:auto;min-height:160px;line-height:0;display:flex;overflow:hidden;box-shadow:0 2px #3b281459}.map-panel__chart{flex:auto;width:100%;min-width:0;height:100%;min-height:0;display:block}.map-panel__swatch{text-align:center;color:#2b1d10;vertical-align:middle;border:1.5px solid #5b3d1f;border-radius:50%;width:1.4em;height:1.4em;font-size:10px;line-height:1.4em;display:inline-block}.map-panel__glyph{text-align:center;width:1.3em;font-weight:700;display:inline-block}.map-panel__toggles{gap:8px;margin-top:8px;display:none}.map-panel__toggle{min-height:36px;font:inherit;color:#2b1d10;cursor:pointer;background:#f3e3b8;border:2px solid #5b3d1f;border-radius:10px;padding:0 12px;font-size:14px;font-weight:700}.map-panel .clay-button{color:#2b1d10;background:#f3e3b8;border:2px solid #5b3d1f;min-height:36px;margin-top:8px;padding:6px 16px}@media (max-width:639px){.map-panel{padding:12px 10px}.map-panel__toggles{display:flex}.map-panel__legend:not(.is-open),.map-panel__list:not(.is-open){display:none}.map-panel__go{min-height:30px}}.cookie-notice{z-index:5;left:50%;top:calc(92px + env(safe-area-inset-top));box-sizing:border-box;color:#3a2a14;background:#fffaeef0;border-radius:14px;width:min(100vw - 32px,440px);padding:12px 14px;font-size:14px;line-height:1.4;position:absolute;transform:translate(-50%);box-shadow:0 4px #124a6b40,0 10px 24px #124a6b33}.cookie-notice p{margin:0 0 10px}.cookie-notice__actions{flex-wrap:wrap;gap:8px;display:flex}.cookie-notice__button{color:#3a2a14;min-height:44px;font-size:14px;font:inherit;cursor:pointer;background:#f3e6c4;border:2px solid #8a6a2f;border-radius:10px;flex:130px;font-weight:700}.cookie-notice__button[data-primary]{color:#fff;background:#2f7fa8;border-color:#1f5d7e}.cookie-notice__button:focus-visible{outline-offset:2px;outline:3px solid #ffd35a}.github-signin{min-width:0;margin:4px 0 12px}.github-signin__in{box-sizing:border-box;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;font-weight:800;display:inline-flex}.github-signin__in:disabled,.github-signin__out:disabled{opacity:.6;cursor:not-allowed}.github-signin__title{color:#3a2410;margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-style:italic;font-weight:400}.github-signin__mark{flex:none}.github-signin__who{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.github-signin__avatar{object-fit:cover;background:#f3e3b8;border:1.5px solid #5b3d1f;border-radius:50%;flex:none;width:36px;height:36px}.github-signin__avatar--none{place-items:center;font-weight:800;display:inline-grid}.github-signin__login{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:11em;font-weight:800;overflow:hidden}.github-signin__verified{letter-spacing:.02em;color:#14532d;background:#bbf7d0;border:1.5px solid #166534;border-radius:999px;flex:none;padding:2px 8px;font-size:14px;font-weight:800}.github-signin__verified:before{content:"✓ "}.github-signin__out{margin-left:auto}.github-signin__note{opacity:.85;margin:6px 0 0;font-size:14px;line-height:1.35}.github-signin__message{min-height:0;margin:4px 0 0;font-size:14px;font-weight:700}.github-signin__message:empty{display:none}.github-signin__message[data-tone=error]{color:#b4443f}.pause-menu .github-signin__in,.pause-menu .github-signin__out{color:#2b1d10;background:#f3e3b8;border:2px solid #5b3d1f;box-shadow:0 3px #5b3d1f73,inset 0 2px #ffffff8c}.pause-menu .github-signin__in:not(:disabled):hover,.pause-menu .github-signin__out:not(:disabled):hover{background:#f8ecc8}.pause-menu .github-signin__in:focus-visible,.pause-menu .github-signin__out:focus-visible{outline-offset:3px;outline:3px solid #1f66c4}.toast--notice{top:calc(10px + env(safe-area-inset-top));z-index:120;box-sizing:border-box;text-align:left;flex-wrap:nowrap;justify-content:space-between;width:min(440px,100vw - 24px);max-width:none;bottom:auto}.toast--notice[data-tone=error]{border-left:6px solid #b4443f}.toast--notice[data-tone=ok]{border-left:6px solid #2f9e5a}.toast--notice span{overflow-wrap:anywhere;flex:auto;min-width:0}.toast--notice button{flex:none}@media (min-width:1100px){.cookie-notice{top:auto;left:16px;bottom:max(16px, env(safe-area-inset-bottom));width:320px;transform:none}}@media (pointer:coarse){.hud kbd,.prompt kbd,.mode-hint kbd,.capsize__hint{display:none}.map-panel__toggle{min-height:44px}.map-panel__go{min-height:40px;font-size:14px}.map-panel__legend,.map-panel__list{font-size:14px}.audio-settings__slider{min-height:44px}.audio-settings__slider input[type=range]{height:32px}}@media (max-width:640px){.anchor-button{right:calc(24px + env(safe-area-inset-right));bottom:calc(40px + env(safe-area-inset-bottom))}.message-button{right:calc(100px + env(safe-area-inset-right));bottom:calc(44px + env(safe-area-inset-bottom))}.map-panel__legend,.map-panel__list{font-size:14px}}
