@font-face{font-family:Fredoka;font-style:normal;font-weight:500 700;font-display:swap;src:url(./fredoka-latin-DOQG_Jwn.woff2)format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:500 800;font-display:swap;src:url(./nunito-latin-CjueodBP.woff2)format("woff2")}:root{--deep:#0e3a5c;--turquoise:#2cc6c0;--green:#3db861;--sand:#f3dfb3;--foam:#f6faf4;--coral:#f07a5a}*{box-sizing:border-box}html,body{background:var(--deep);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none;height:100%;margin:0;font-family:Nunito,ui-rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}#app,#app canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.hud{pointer-events:none;padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 8px max(10px, env(safe-area-inset-left));color:var(--foam);text-shadow:0 1px 2px #0e3a5ce6;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;inset:0}.hud.hidden{display:none}.hud-stats{max-width:60%;font-size:12px;line-height:1.45}.hud-title{font-size:13px;font-weight:800}.hud-progress{color:var(--sand);font-weight:700}.hud-panel{pointer-events:auto;flex-direction:column;gap:6px;width:230px;max-height:calc(100vh - 16px);display:flex;overflow-y:auto}.hud-panel.busy button:not(.btn-tide){opacity:.45;pointer-events:none}.btn-row{gap:6px;display:flex}.btn{min-height:40px;color:var(--deep);font:inherit;background:#2cc6c0d1;border:0;border-radius:14px;padding:6px 10px;font-size:13px;font-weight:800;box-shadow:inset 0 2px #ffffff73,0 2px 4px #0e3a5c59}.btn:active{transform:translateY(1px)}.btn-small{background:#f3dfb3d9;flex:1;padding:6px 8px;font-size:12px}.btn-small.active{background:var(--green);color:var(--foam)}.btn-tide{background:var(--coral);color:var(--foam);font-size:15px}.btn-action{right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));background:var(--sand);letter-spacing:-.2px;pointer-events:auto;z-index:3;border-radius:50%;width:84px;height:84px;padding:0 3px;font-size:12px;display:none;position:fixed}.btn-action.visible{animation:.18s ease-out pop-in;display:block}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.toast{left:50%;top:max(54px, calc(env(safe-area-inset-top) + 46px));background:var(--sand);color:var(--deep);opacity:0;pointer-events:none;z-index:4;border-radius:16px;padding:8px 18px;font-size:15px;font-weight:800;transition:opacity .25s,transform .25s;position:fixed;transform:translate(-50%,-8px);box-shadow:0 3px 10px #0e3a5c59}.toast.visible{opacity:1;transform:translate(-50%)}.stick-base{pointer-events:none;z-index:2;background:#f6faf42e;border:2px solid #f6faf473;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;display:none;position:fixed}.stick-base.visible{display:block}.stick-knob{background:#f6faf4bf;border-radius:50%;width:52px;height:52px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-show{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));opacity:.35;width:44px;display:none;position:fixed}.btn-show.visible{display:block}.results{background:var(--sand);color:var(--deep);z-index:5;border-radius:20px;flex-direction:column;gap:8px;padding:16px;display:none;position:fixed;inset:5% 15%;overflow:auto;box-shadow:0 8px 30px #0e3a5c80}.results.visible{display:flex}.results h2{margin:0;font-size:18px}.results-text{white-space:pre-wrap;-webkit-user-select:text;user-select:text;margin:0;font-size:12px}.rotate{text-align:center;background:var(--deep);color:var(--foam);z-index:10;justify-content:center;align-items:center;padding:24px;font-size:20px;font-weight:800;display:none;position:fixed;inset:0}@media (orientation:portrait) and (max-width:900px){.rotate{display:flex}}.update-bar{left:50%;bottom:max(14px, env(safe-area-inset-bottom));background:var(--deep);color:var(--foam);z-index:20;border-radius:16px;align-items:center;gap:12px;padding:8px 10px 8px 16px;font-size:13px;font-weight:800;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 4px 14px #0e3a5c73}.tide-ind{left:50%;top:max(6px, env(safe-area-inset-top));touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;z-index:3;cursor:pointer;background:#0e3a5c8c;border:none;border-radius:14px;padding:2px;position:fixed;transform:translate(-50%);box-shadow:0 2px 8px #0e3a5c59}.tide-ind svg{display:block}.tide-frame{fill:#f6faf42e;stroke:var(--foam);stroke-width:2px}.tide-water{fill:var(--turquoise)}.tide-fill{fill:#f6faf48c}.tide-arrow{fill:var(--foam);stroke:var(--deep);stroke-width:1.2px}.tide-lock{fill:var(--sand);stroke:var(--deep);stroke-width:1.2px}.tide-dot{fill:var(--coral);stroke:var(--foam);stroke-width:1.5px}.tide-ind.announce .tide-arrow{animation:1.1s ease-in-out infinite tide-pulse}.tide-ind.locked{opacity:.8}.tide-ind.busy .tide-water{fill:#7fe3dc}@keyframes tide-pulse{50%{opacity:.25}}.tide-hand{left:calc(50% + 6px);top:calc(max(6px, env(safe-area-inset-top)) + 30px);pointer-events:none;opacity:0;z-index:4;font-size:30px;position:fixed}.tide-hand.visible{opacity:1;animation:1.6s ease-in-out infinite tide-press}@keyframes tide-press{0%,to{transform:translateY(0)}35%,70%{transform:translateY(-10px)scale(.92)}}.caption{left:50%;bottom:max(18px, env(safe-area-inset-bottom));max-width:min(80vw,560px);color:var(--foam);text-align:center;opacity:0;pointer-events:none;z-index:4;background:#0e3a5cd1;border-radius:14px;padding:10px 18px;font-size:16px;line-height:1.35;transition:opacity .4s,transform .4s;position:fixed;transform:translate(-50%,8px)}.caption b{color:var(--sand)}.caption.visible{opacity:1;pointer-events:auto;cursor:pointer;transform:translate(-50%)}.caption{padding-right:40px}.caption-close{width:32px;height:32px;color:var(--foam);cursor:pointer;background:#f6faf429;border:0;border-radius:50%;padding:0;font-size:15px;line-height:32px;position:absolute;top:4px;right:4px}.objective{left:max(10px, env(safe-area-inset-left));top:max(8px, env(safe-area-inset-top));color:var(--foam);z-index:2;background:#0e3a5c99;border-radius:12px;max-width:200px;padding:6px 10px 8px;font-size:12px;line-height:1.35;position:fixed}body.debug-shown .objective{top:calc(max(8px, env(safe-area-inset-top)) + 72px)}.objective-title{margin-bottom:1px;font-size:13px;font-weight:800}.objective ul{grid-template-columns:auto auto;column-gap:10px;margin:0 0 5px;padding:0;list-style:none;display:grid}.objective li.extra{grid-column:1/-1}.objective li:before{content:"○ ";color:var(--sand)}.objective li.done{opacity:.6;text-decoration:line-through}.objective li.done:before{content:"✓ ";color:var(--green)}.objective li.extra{font-style:italic}.objective-hint{background:var(--sand);color:var(--deep);cursor:pointer;border:none;border-radius:10px;padding:4px 12px;font-size:13px;font-weight:800}.end-card{z-index:6;width:min(420px,82vw);inset:50% auto auto 50%;transform:translate(-50%,-50%)}.end-card .results-text{font-family:inherit;font-size:14px;line-height:1.5}.log-panel{width:min(560px,92vw);max-height:86vh}.log-text{background:#0e3a5c0f;border-radius:10px;max-height:52vh;padding:8px;font-family:ui-monospace,monospace;font-size:12px;line-height:1.45;overflow:auto}.log-buttons{flex-wrap:wrap}.objective-buttons{gap:6px;display:flex}.objective-log{color:var(--sand);background:0 0;border:1px solid #f3dfb399}.title{z-index:8;color:var(--foam);text-shadow:0 2px 12px #0e3a5ca6;cursor:pointer;-webkit-user-select:none;user-select:none;background:radial-gradient(46% 42% at 50% 48%,#0e3a5c80,#0e3a5c00 100%),linear-gradient(#0e3a5c26 0%,#0e3a5c00 40%,#0e3a5c80 100%);flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:opacity .6s;display:flex;position:fixed;inset:0}.title.gone{opacity:0;pointer-events:none}.title-name{letter-spacing:.04em;font-size:clamp(54px,13vh,110px);font-weight:900;line-height:1}.title-place{letter-spacing:.28em;text-transform:uppercase;color:var(--sand);font-size:clamp(16px,4.2vh,26px);font-weight:800}.title-start{margin-top:6vh;font-size:clamp(16px,4.5vh,24px);font-weight:800;animation:1.8s ease-in-out infinite title-pulse}.title-note{opacity:.8;font-size:13px}.title-version{right:max(14px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));opacity:.75;font-variant-numeric:tabular-nums;font-size:13px;position:absolute}.log-version{opacity:.8;margin:-4px 0 8px;font-size:13px}@keyframes title-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.title-start{animation:none}}body.on-title .objective,body.on-title .tide-ind,body.on-title .btn-action,body.on-title .stick-base{visibility:hidden}.piece-card{left:50%;top:calc(max(6px, env(safe-area-inset-top)) + 54px);border:2px solid var(--sun,#ffc94a);width:min(440px,80vw);color:var(--foam);text-align:center;opacity:0;pointer-events:none;z-index:5;background:#0e3a5cdb;border-radius:16px;padding:10px 18px 12px;transition:opacity .35s,transform .35s;position:fixed;transform:translate(-50%,-10px)scale(.96);box-shadow:0 6px 24px #0e3a5c73}.piece-card.visible{opacity:1;transform:translate(-50%)scale(1)}.piece-count{letter-spacing:.22em;text-transform:uppercase;color:#ffc94a;font-size:12px;font-weight:800}.piece-name{margin-top:2px;font-size:20px;font-weight:900}.piece-lore{opacity:.92;margin-top:4px;font-size:14px;font-style:italic;line-height:1.35}.letterbox{pointer-events:none;z-index:4;background:#06141f;height:11vh;transition:transform .9s ease-in-out;position:fixed;left:0;right:0}.letterbox.top{top:0;transform:translateY(-100%)}.letterbox.bottom{bottom:0;transform:translateY(100%)}body.showcase .letterbox{transform:none}.objective,.btn-action,.stick-base{transition:opacity .5s}body.showcase .objective,body.showcase .btn-action,body.showcase .stick-base{opacity:0;pointer-events:none}body.showcase .caption,body.showcase .tide-ind{z-index:5}.settings-gear{right:max(10px, env(safe-area-inset-right));top:max(8px, env(safe-area-inset-top));z-index:3;width:44px;height:44px;min-height:44px;color:var(--foam);background:#0e3a5c99;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}body.on-title .settings-gear{visibility:hidden}body.showcase .settings-gear{opacity:0;pointer-events:none}body.debug-ui .settings-gear{top:auto;bottom:max(112px, calc(env(safe-area-inset-bottom) + 112px))}.settings-seg{gap:6px;display:flex}.settings-row{grid-template-columns:7.5em minmax(0,1fr) 3.2em;align-items:center;gap:8px;min-height:34px;font-size:13px;display:grid}.settings-row input[type=range]{width:100%;accent-color:var(--coral)}.settings-value{text-align:right;font-variant-numeric:tabular-nums}.settings-hint{opacity:.75;margin:0;font-size:12px}.btn:disabled{opacity:.55;cursor:default}body.keyboard .btn-action.visible:after{content:"E";background:var(--ink,#0e3a5c);width:22px;height:22px;color:var(--foam);text-align:center;border-radius:6px;font-size:12px;line-height:22px;position:absolute;top:2px;right:2px}.btn-action.blocked{opacity:.55;filter:saturate(.4)}body.dressing .objective,body.dressing .btn-action,body.dressing .stick-base,body.dressing .settings-gear,body.dressing .tide-ind,body.dressing .caption,body.dressing .toast{opacity:0;pointer-events:none}.place-name{letter-spacing:.04em;color:var(--foam);text-shadow:0 2px 12px #0e3a5c8c;opacity:0;pointer-events:none;z-index:4;white-space:nowrap;font-size:clamp(26px,5.5vw,44px);font-weight:800;transition:opacity .9s,transform .9s;position:fixed;top:18%;left:50%;transform:translate(-50%,6px)}.place-name.visible{opacity:1;transform:translate(-50%)}body.dressing .place-name,body.on-title .place-name{display:none}.objective-goal{border-bottom:1px solid #ffffff40;margin-bottom:4px;padding-bottom:4px;font-size:12.5px;font-weight:800}.map-button{right:calc(max(10px, env(safe-area-inset-right)) + 52px);top:max(8px, env(safe-area-inset-top));z-index:3;width:44px;height:44px;min-height:44px;color:var(--foam);background:#0e3a5c99;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}body.on-title .map-button,body.dressing .map-button{visibility:hidden}body.showcase .map-button{opacity:0;pointer-events:none}body.debug-ui .map-button{top:auto;bottom:max(112px, calc(env(safe-area-inset-bottom) + 112px));right:calc(max(10px, env(safe-area-inset-right)) + 52px)}.map-panel{background:#efe2c0;gap:6px;width:auto;max-width:94vw;max-height:94vh;padding:10px}.map-panel.visible{display:flex}.map-panel canvas{aspect-ratio:1;border-radius:8px;width:auto;height:min(78vh,82vw);box-shadow:inset 0 0 0 2px #5a463259}.map-foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.spy-button{right:max(18px, calc(env(safe-area-inset-right) + 8px));bottom:max(128px, calc(env(safe-area-inset-bottom) + 128px));z-index:3;width:52px;height:52px;min-height:52px;color:var(--foam);background:#0e3a5c99;border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.spy-button[hidden],body.on-title .spy-button,body.dressing .spy-button,body.showcase .spy-button{display:none}.spyglass{z-index:6;touch-action:none;background:radial-gradient(circle,#0000 0 min(40vh,40vw),#08121ceb calc(min(40vh,40vw) + 2px));display:none;position:fixed;inset:0}.spyglass.visible{display:block}.spyglass:after{content:"";border:2px solid #ffffffb3;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;position:absolute;top:50%;left:50%}.spy-label{color:var(--foam);text-shadow:0 1px 6px #0009;font-size:16px;font-weight:800;position:absolute;top:calc(50% + min(40vh,40vw) - 40px);left:50%;transform:translate(-50%)}.spy-label.known:after{content:" ✓"}.spy-close{right:max(14px, env(safe-area-inset-right));top:max(12px, env(safe-area-inset-top));width:44px;height:44px;color:var(--foam);background:#ffffff2e;border:0;border-radius:50%;font-size:20px;position:absolute}body.spying .objective,body.spying .btn-action,body.spying .stick-base,body.spying .tide-ind,body.spying .map-button,body.spying .settings-gear{visibility:hidden}.hold-list{flex-direction:column;gap:6px;display:flex}.hold-row{background:#0e3a5c0f;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:6px 8px;font-size:14px;font-weight:700;display:grid}.hold-row.suggested{box-shadow:inset 0 0 0 2px var(--green)}body.finale .objective,body.finale .btn-action,body.finale .stick-base,body.finale .settings-gear,body.finale .map-button,body.finale .spy-button,body.finale .tide-ind,body.finale .place-name{opacity:0;pointer-events:none}body.reading:after{content:"";pointer-events:none;z-index:4;background:radial-gradient(circle,#0000 0 min(42vh,42vw),#08121ce6 calc(min(42vh,42vw) + 2px));position:fixed;inset:0}.finale-title{letter-spacing:.12em;color:#fff4da;text-shadow:0 4px 24px #0e3a5cb3,0 0 40px #5fe6d873;opacity:0;pointer-events:none;z-index:7;font-size:clamp(40px,11vw,96px);font-weight:800;transition:opacity 1.6s,transform 2.4s;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)scale(.96)}.finale-title.visible{opacity:1;transform:translate(-50%,-50%)scale(1)}body.spying .caption{visibility:hidden}#warehouse-panel .hold-row{grid-template-columns:1fr auto auto auto}#warehouse-panel .hold-row .settings-hint{margin:0;font-weight:400}.settings-section h3{margin:6px 0 4px;font-size:14px}:root{--ink:#1f4766;--paper:#f2deb1;--paper-dark:#d9bd85;--glass-top:#6be3d9;--glass-bottom:#12928e;--ui-zoom:1}.chart-dialog,.chart-dialog button{font-family:Nunito,ui-rounded,system-ui,sans-serif}.chart-dialog{width:calc(min(940px, 96vw - 16px) / var(--ui-zoom));height:calc(min(620px, 94vh - 8px) / var(--ui-zoom));z-index:40;filter:drop-shadow(0 8px 18px #141e2873);color:#2f2516;zoom:var(--ui-zoom);display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-48%)}.chart-dialog.visible{animation:.22s ease-out chart-in;display:block}@keyframes chart-in{0%{opacity:0;transform:translate(-50%,-45%)scale(.97)}to{opacity:1;transform:translate(-50%,-48%)}}.chart-sheet{background:radial-gradient(ellipse at 30% 25%, #fff8e1bf, transparent 55%), radial-gradient(ellipse at 75% 70%, #fff4d68c, transparent 50%), radial-gradient(ellipse at 50% 50%, transparent 55%, #96693252 100%), 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='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.32 0 0 0 0 0.15 0 0 0 0.16 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E"), var(--paper);position:absolute;inset:0;overflow:hidden}.chart-sketch{opacity:.16;pointer-events:none;position:absolute}.chart-sketch svg{width:100%;height:100%}.chart-sketch-lighthouse{width:54px;height:72px;top:34%;left:10px}.chart-sketch-anchor{width:52px;height:56px;bottom:16%;left:12px}.chart-sketch-compass{width:110px;height:110px;top:10px;right:12px}.chart-sketch-seaweed{width:48px;height:90px;bottom:18px;right:12px}.chart-body{overscroll-behavior:contain;touch-action:pan-y;grid-template-columns:1fr 1fr;align-content:start;gap:4px 34px;padding:58px 46px 24px 66px;display:grid;position:absolute;inset:0;overflow-y:auto}.chart-column+.chart-column{border-left:1.5px dashed #1f476638;padding-left:30px}@media (max-width:700px){.chart-body{grid-template-columns:1fr;padding:60px 22px 22px 26px}.chart-column+.chart-column{border-left:0;padding-left:0}.chart-sketch-lighthouse,.chart-sketch-anchor{display:none}}.chart-sign{z-index:2;background:repeating-linear-gradient(176deg,#3c1e0a1f 0 2px,#0000 2px 9px),linear-gradient(#a8683a,#7c4523 60%,#6a3a1d);border:2px solid #4e2a12;border-radius:14px 18px 16px 12px;align-items:center;gap:4px;padding:6px 26px 8px 54px;display:flex;position:absolute;top:-14px;left:22px;transform:rotate(-2deg);box-shadow:inset 0 2px #ffd2a059,inset 0 -3px #28140866,0 4px 8px #1e0f0559}.chart-sign:after{content:"";border-top:4px dotted #b88a52;border-radius:50%;width:40px;height:22px;position:absolute;top:18px;right:-34px;transform:rotate(18deg)}.chart-sign h2{color:#fff1d2;text-shadow:0 2px #4e2a12,0 0 6px #28140866;letter-spacing:.01em;margin:0;font-family:Fredoka,Nunito,sans-serif;font-size:28px;font-weight:600}.chart-sign-icon{filter:drop-shadow(0 2px 2px #1e0f0573);width:62px;height:62px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.chart-sign-icon svg{width:100%;height:100%}.chart-close{color:#fff;background:radial-gradient(circle at 35% 28%, #ffffffbf 0 14%, transparent 30%), linear-gradient(180deg, var(--glass-top), var(--glass-bottom));cursor:pointer;z-index:2;border:3px solid #0d6e6b;border-radius:50%;place-items:center;width:52px;height:52px;padding:0;display:grid;position:absolute;top:-12px;right:-8px;box-shadow:0 4px 8px #0a283266,inset 0 -3px #003c3c59}.chart-close svg{width:22px;height:22px}.chart-section{margin-bottom:12px}.chart-heading{color:var(--ink);align-items:center;gap:10px;margin:6px 0;font-family:Fredoka,Nunito,sans-serif;font-size:25px;font-weight:600;display:flex}.chart-heading>span:last-child{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='8' viewBox='0 0 120 8'%3E%3Cpath d='M1 5 Q20 1 40 4 T80 4 T119 3' fill='none' stroke='%231f4766' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 0 100%/100% 7px no-repeat;padding-bottom:5px}.chart-icon{flex:none;place-items:center;width:34px;height:34px;display:inline-grid}.chart-icon svg{width:100%;height:100%}.chart-icon-small{width:22px;height:22px}.chart-sub{color:#2f2516;margin:6px 0 5px;font-size:15px;font-weight:800}.chart-hint{color:#6b5636;margin:4px 0 0;font-size:13px}.chart-choice{flex-wrap:wrap;gap:8px;display:flex}.chart-pill{color:#2f2516;cursor:pointer;background:linear-gradient(#fff6df,#ecd5a4);border:1.5px solid #c9a66b;border-radius:999px;min-height:42px;padding:0 16px;font-size:15px;font-weight:800;position:relative;box-shadow:0 2px #b8925a,0 3px 6px #50371433,inset 0 1px #fff}.chart-pill.active{color:#fff;text-shadow:0 1px 1px #003c3c99;background:radial-gradient(ellipse at 30% 20%, #ffffff8c, transparent 45%), linear-gradient(180deg, var(--glass-top), var(--glass-bottom));border-color:#0d6e6b;box-shadow:0 2px #0b5c59,0 3px 8px #0a505059,inset 0 1px #fff9}.chart-pill.active:before{content:"✦";color:#fff7c2;font-size:11px;position:absolute;top:2px;left:6px}.chart-pill.active:after{content:"✦";color:#fff7c2;font-size:9px;position:absolute;bottom:3px;right:7px}.chart-row{align-items:center;gap:12px;min-height:46px;display:grid}.chart-label{color:#2f2516;align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.chart-slider{grid-template-columns:minmax(8.5em,auto) minmax(0,1fr) 3.4em}.chart-value{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.chart-slider input[type=range]{appearance:none;background:linear-gradient(90deg, #1aa7a2 0, #4fd7cf var(--fill,50%), #d8c9a6 var(--fill,50%));border-radius:999px;outline:none;height:12px;box-shadow:inset 0 2px 3px #00000040}.chart-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:radial-gradient(circle at 35% 30%,#fff,#dfeee9 45%,#a8c5bd);border:2px solid #6f8f88;border-radius:50%;width:30px;height:30px;box-shadow:0 2px 4px #00000059}.chart-slider input[type=range]::-moz-range-thumb{background:radial-gradient(circle at 35% 30%,#fff,#dfeee9 45%,#a8c5bd);border:2px solid #6f8f88;border-radius:50%;width:28px;height:28px}.chart-toggle{grid-template-columns:1fr auto}.chart-switch{cursor:pointer;background:linear-gradient(#cfc6b5,#e4ddcf);border:1.5px solid #a99a7e;border-radius:999px;width:58px;height:32px;padding:0;position:relative;box-shadow:inset 0 2px 4px #00000040}.chart-switch.on{background:linear-gradient(180deg, var(--glass-bottom), var(--glass-top));border-color:#0d6e6b}.chart-knob{background:radial-gradient(circle at 35% 30%,#fff,#e9e6df);border-radius:50%;width:24px;height:24px;transition:left .15s;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 2px 3px #00000059}.chart-switch.on .chart-knob{left:29px}.chart-info{cursor:pointer;background:0 0;border:0;margin-left:2px;padding:2px;display:inline-grid}.chart-info-text{margin:-4px 0 6px 32px}.chart-buttons{flex-wrap:wrap;gap:8px;display:flex}.chart-button{color:#2f2516;cursor:pointer;background:linear-gradient(#fff6df,#ecd5a4);border:1.5px solid #c9a66b;border-radius:999px;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-size:15px;font-weight:800;display:inline-flex;box-shadow:0 2px #b8925a,0 3px 6px #50371433,inset 0 1px #fff}.chart-button.primary{color:#fff;background:linear-gradient(180deg, var(--glass-top), var(--glass-bottom));border-color:#0d6e6b;box-shadow:0 2px #0b5c59,0 3px 8px #0a505059}.chart-button[hidden]{display:none}.chart-dialog .settings-code{resize:none;background:#fffaf0;border:1.5px solid #c9a66b;border-radius:10px;width:100%;margin-top:8px;padding:6px;font:12px/1.3 ui-monospace,monospace}.chart-dialog .settings-code[hidden]{display:none}body.paused:before{content:"";z-index:35;pointer-events:auto;background:#0e3a5c57;position:fixed;inset:0}body.paused .objective,body.paused .btn-action,body.paused .stick-base,body.paused .tide-ind,body.paused .map-button,body.paused .spy-button,body.paused .settings-gear,body.paused .customize-button,body.paused .caption,body.paused .toast{visibility:hidden}.objective,.caption,.toast,.btn-action,.tide-ind,.map-button,.settings-gear,.customize-button,.spy-button,.place-name,.piece-card{zoom:var(--ui-zoom)}body.left-handed .btn-action{right:auto;left:max(18px, env(safe-area-inset-left))}body.left-handed .spy-button{right:auto;left:max(18px, calc(env(safe-area-inset-left) + 8px))}body.reduce-motion *,body.reduce-motion :before,body.reduce-motion :after{transition:none!important;animation:none!important}.customize-button{right:calc(max(10px, env(safe-area-inset-right)) + 104px);top:max(8px, env(safe-area-inset-top));z-index:3;color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;min-height:44px;padding:0;display:grid;position:fixed}.customize-button svg{width:24px;height:24px}body.on-title .customize-button,body.dressing .customize-button{visibility:hidden}body.showcase .customize-button,body.spying .customize-button,body.finale .customize-button{opacity:0;pointer-events:none}body.debug-ui .customize-button{top:auto;bottom:max(112px, calc(env(safe-area-inset-bottom) + 112px));right:calc(max(10px, env(safe-area-inset-right)) + 104px)}@media (max-height:480px){.chart-body{gap:0 22px;padding:44px 30px 16px 44px}.chart-column+.chart-column{padding-left:20px}.chart-sign{padding:3px 18px 5px 42px;top:-10px;left:14px}.chart-sign h2{font-size:21px}.chart-sign-icon{width:46px;height:46px;left:-12px}.chart-close{width:44px;height:44px;top:-8px;right:-6px}.chart-close svg{width:18px;height:18px}.chart-section{margin-bottom:6px}.chart-heading{gap:8px;margin:4px 0 2px;font-size:19px}.chart-icon{width:26px;height:26px}.chart-icon-small{width:18px;height:18px}.chart-sub{margin:4px 0;font-size:13px}.chart-choice{gap:6px}.chart-pill{min-height:36px;padding:0 11px;font-size:13px}.chart-row{gap:8px;min-height:38px}.chart-label{gap:7px;font-size:14px}.chart-slider{grid-template-columns:auto minmax(60px,1fr) 3.4em}.chart-slider input[type=range]::-webkit-slider-thumb{width:26px;height:26px}.chart-switch{width:50px;height:28px}.chart-knob{width:21px;height:21px}.chart-switch.on .chart-knob{left:25px}.chart-button{min-height:38px;padding:0 12px;font-size:13px}.chart-hint{font-size:12px}.chart-sketch-compass{width:80px;height:80px}}.dressing-panel.chart-dialog{left:auto;right:max(8px, env(safe-area-inset-right));width:calc(min(470px, 50vw) / var(--ui-zoom));height:auto;top:8px;bottom:8px;transform:none}.dressing-panel.chart-dialog.visible{animation:.25s ease-out dress-in}@keyframes dress-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.dressing-panel .chart-body{flex-direction:column;gap:4px;padding:14px 18px 12px 20px;display:flex;overflow:hidden}.dressing-panel .chart-close{width:46px;height:46px;top:-6px;right:-4px}.dressing-panel .chart-sketch-compass{width:70px;height:70px;top:6px;left:10px;right:auto}.dress-head{justify-content:space-between;align-items:center;gap:10px;padding-right:34px;display:flex}.dress-title{color:var(--ink);margin:0 0 0 40px;font-family:Fredoka,Nunito,sans-serif;font-size:28px;font-weight:600}.dress-coins{color:#3a2a12;white-space:nowrap;background:#fff6dfd9;border:1.5px solid #d8b874;border-radius:999px;align-items:center;gap:6px;padding:3px 12px 3px 4px;font-size:15px;font-weight:800;display:inline-flex}.dress-coin-icon{width:24px;height:24px;display:inline-grid}.dress-rule{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;font-family:Fredoka,Nunito,sans-serif;font-size:14px;font-weight:600;display:flex}.dress-rule:before,.dress-rule:after{content:"";border-top:1.5px solid #1f476659;flex:1;height:0}.dress-catalog{overscroll-behavior:contain;touch-action:pan-y;flex:1;min-height:0;padding:0 2px 4px;overflow-y:auto}.dress-group-title{color:var(--ink);margin:8px 0 4px;font-family:Fredoka,Nunito,sans-serif;font-size:15px;font-weight:600}.dress-group .chart-hint{margin:-2px 0 4px}.dress-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;display:grid}.dress-card{color:#2f2516;cursor:pointer;text-align:center;background:linear-gradient(#fff8e6,#f6e6c0);border:1.5px solid #dcc08f;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:6px 6px 7px;font-family:Nunito,ui-rounded,sans-serif;display:flex;box-shadow:0 2px #c9a66b,0 3px 6px #50371426}.dress-card.worn{border:3px solid #17a29d;padding:4.5px 4.5px 5.5px;box-shadow:0 0 0 3px #2cc6c040,0 3px 8px #0a505040}.dress-pic{aspect-ratio:1.25;background:radial-gradient(at 50% 60%,#ffffffb3,#ead6aa59);border-radius:10px;place-items:center;width:100%;display:grid;overflow:hidden}.dress-pic img{object-fit:contain;width:100%;height:100%}.dress-pic-none{color:#2f251659;font-size:22px;font-weight:800}.dress-card-name{font-size:13.5px;font-weight:800;line-height:1.15}.dress-status{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px 4px;font-size:12px;font-weight:800;line-height:1.2;display:inline-flex}.dress-status-icon{flex:none;width:16px;height:16px;display:inline-grid}.dress-status-owned{color:#1f6b47;background:#dff2e5;border-radius:999px;padding:1px 8px 1px 3px}.dress-status-real{color:#4a3200;background:linear-gradient(#ffd56a,#f0b532);border-radius:999px;padding:1px 9px 1px 4px}.dress-status-found{color:#5b5346}.dress-status-ordered{color:#8a4b2a}.dress-status-note{color:#6b5636;flex-basis:100%;font-size:11px;font-weight:600}.dress-detail{border-top:1.5px dashed #1f47664d;grid-template-columns:76px 1fr;align-items:start;gap:4px 12px;padding-top:8px;display:grid}.dress-detail-pic{aspect-ratio:1;width:76px}.dress-detail-text h3{color:var(--ink);margin:0;font-family:Fredoka,Nunito,sans-serif;font-size:19px;font-weight:600}.dress-detail-story{color:#3e3120;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:1px 0 3px;font-size:13px;line-height:1.3;display:-webkit-box;overflow:hidden}.dress-detail-how,.dress-detail-price{color:#4b3a20;align-items:center;gap:6px;margin:1px 0;font-size:12.5px;font-weight:700;display:flex}.dress-detail-empty{color:#6b5636;text-align:center;grid-column:1/-1;margin:4px 0;font-size:14px}.dress-cta{grid-column:1/-1;justify-content:center;width:100%;min-height:46px;font-size:16px}.dress-cta:disabled{opacity:.6;filter:saturate(.4);cursor:default}.dress-detail .dress-msg{grid-column:1/-1;min-height:0;margin:0}.dress-detail .dress-msg:empty{display:none}.dress-tabs{left:max(14px, env(safe-area-inset-left));top:max(10px, env(safe-area-inset-top));z-index:41;zoom:var(--ui-zoom);gap:10px;display:none;position:fixed}.dress-tab{min-height:44px;color:var(--ink);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:linear-gradient(#fff6df,#ecd5a4);border:2px solid #c9a66b;border-radius:999px;align-items:center;gap:8px;padding:0 20px 0 14px;font-family:Fredoka,Nunito,sans-serif;font-size:18px;font-weight:600;display:inline-flex;box-shadow:0 3px 8px #141e284d}.dress-tab.active{color:#fff;text-shadow:0 1px 1px #003c3c99;background:radial-gradient(ellipse at 30% 20%, #ffffff80, transparent 45%), linear-gradient(180deg, var(--glass-top), var(--glass-bottom));border-color:#0d6e6b}.dress-tab-icon{width:22px;height:22px;display:inline-grid}.dress-turn-hint{left:max(16px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));z-index:41;color:#fff;pointer-events:none;zoom:var(--ui-zoom);background:#0e283a73;border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-size:15px;font-weight:700;display:none;position:fixed}.dress-turn-icon{background:#ffffff2e;border-radius:50%;place-items:center;width:34px;height:34px;display:inline-grid}.dress-turn-icon svg{width:22px;height:22px}.dress-drag{z-index:39;touch-action:none;cursor:grab;display:none;position:fixed;inset:0 calc(min(470px,50vw) + 16px) 0 0}body.dressing .dress-tabs,body.dressing .dress-turn-hint{display:flex}body.dressing .dress-drag{display:block}@media (max-height:480px){.dressing-panel .chart-body{gap:2px;padding:10px 14px 8px 16px}.dress-title{margin-left:30px;font-size:22px}.dressing-panel .chart-sketch-compass{width:52px;height:52px}.dress-coins{font-size:13px}.dress-coin-icon{width:20px;height:20px}.dress-rule{font-size:12px}.dress-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px}.dress-card-name{font-size:12.5px}.dress-pic{aspect-ratio:1.5}.dress-detail{grid-template-columns:46px 1fr;gap:2px 10px;padding-top:4px}.dress-detail-pic{width:46px}.dress-detail-text h3{font-size:15px}.dress-detail-story{-webkit-line-clamp:1;margin:0;font-size:12px}.dress-detail-how,.dress-detail-price{display:none}.dress-cta{min-height:38px;font-size:14px}.dress-tab{min-height:38px;padding:0 14px 0 10px;font-size:15px}.dress-turn-hint{font-size:13px}}.dress-status-icon svg,.dress-coin-icon svg,.dress-tab-icon svg{width:100%;height:100%}
