@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2)format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2)format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff")}:root{color:#244f4c;font-synthesis:none;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--cream:#fffaf0;--paper:#fcf7ea;--sand:#f1ecdb;--ink:#1f4744;--teal:#287a76;--teal-deep:#1c5c59;--gold:#e8b95a;--coral:#e0876a;--alert:#e5484d;--muted:#526d67;--line:#e5e3d2;--line-strong:#d6d8c3;--deep:#0b3a45;--glass:#fffaf0d9;--glass-dark:#0a323cad;--glass-edge:#fff6;--blur:blur(14px) saturate(1.4);--sheen:linear-gradient(180deg, #ffffff47, #fff0 55%);--radius-s:10px;--radius-m:14px;--radius-l:22px;--ease:cubic-bezier(.2, .8, .2, 1);--shadow-sm:0 1px 2px #08323a14, 0 4px 14px #08323a1a;--shadow:0 2px 6px #08323a14, 0 12px 32px -6px #08323a33;--shadow-lg:0 2px 8px #06283014, 0 30px 70px -16px #06283066;background:#07536b;font-family:DM Sans,sans-serif}*{box-sizing:border-box}@media (hover:none) and (pointer:coarse){:root{--glass:#fffaf0ed;--glass-dark:#0a323ce3;--blur:none}}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}html{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}:where(html,#app,#app *){touch-action:pan-x pan-y}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.clock{font-variant-numeric:tabular-nums;min-width:calc(4ch + .25em);display:inline-block}.skip-link{z-index:100;background:var(--cream);color:var(--teal-deep);box-shadow:var(--float-shadow);border-radius:999px;padding:10px 16px;font-weight:600;text-decoration:none;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}body{height:calc(var(--app-height,100dvh) + var(--app-top,0px));overscroll-behavior:none;position:fixed;inset:0}.hud{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.hud input,.hud textarea{-webkit-user-select:text;user-select:text}#app{top:var(--app-top,0px);height:var(--app-height,100dvh);contain:layout size;position:absolute;left:0}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button:disabled{opacity:.48;cursor:default}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{background:#e8b95a66}button{touch-action:manipulation}button:not(:disabled){transition:background .15s,transform .15s,translate .15s}button:not(:disabled):active{translate:0 1px}input{min-width:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Cormorant Garamond,serif;font-weight:500}h1{font-size:clamp(42px,5vw,68px);line-height:1.02}h2{font-size:42px;line-height:1.08}h3{font-size:28px}p{line-height:1.6}a{color:var(--teal)}small{font-size:13px}.icon{vertical-align:middle;flex-shrink:0;width:22px;height:22px}kbd{background:var(--sand);color:#53716a;box-shadow:inset 0 -1px 0 var(--line-strong);white-space:nowrap;border-radius:5px;padding:3px 6px;font:600 11px DM Sans,sans-serif}button kbd{pointer-events:none}[hidden]{display:none!important}#world{touch-action:none;outline:0;width:100%;height:100%;display:block;position:absolute;inset:0}.eyebrow{letter-spacing:.14em;font-size:11px;font-weight:600}.primary-button,.secondary-button{letter-spacing:.005em;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:14px 18px;font-weight:600;display:flex}.primary-button{background:linear-gradient(180deg, #2f8781, var(--teal-deep));color:var(--cream);box-shadow:inset 0 1px #ffffff26,0 1px 2px #0b3a4533,0 6px 16px -6px #1c5c5999}.primary-button .icon{transition:transform .2s var(--ease)}.primary-button:not(:disabled):hover .icon{transform:translate(2px)}.secondary-button{background:var(--sand);box-shadow:inset 0 0 0 1px var(--line)}.button-row{gap:10px;display:flex}.button-row>*{flex:1}.loading{z-index:50;text-align:center;color:var(--cream);background:radial-gradient(120% 80% at 50% 110%,#1f7d86 0%,#0000 60%),radial-gradient(90% 60% at 50% -10%,#0f4f5c 0%,#0000 70%),linear-gradient(#0a3440,#07303a 55%,#0b4552);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:fixed;inset:0}.loading.behind-identity{z-index:44;padding-bottom:max(28px, env(safe-area-inset-bottom));justify-content:flex-end;gap:10px}.loading.behind-identity .loading-mark,.loading.behind-identity h1{display:none}.loading-mark{margin-bottom:6px;animation:4.5s ease-in-out infinite loading-float}.loading-mark img{object-fit:contain;filter:drop-shadow(0 14px 28px #0000004d);width:116px;height:116px}.loading h1{letter-spacing:-.01em;font-size:clamp(38px,5vw,60px)}.loading p{color:#cfe0da;letter-spacing:.02em;font-size:14px}#loading-note[role=alert]{max-width:520px;line-height:1.65}.load-track{background:#ffffff1f;border-radius:3px;width:200px;height:3px;margin-top:6px;overflow:hidden}.load-track i{border-radius:inherit;background:linear-gradient(90deg, #f3d693, var(--gold));width:0;height:100%;transition:width .35s var(--ease);display:block;box-shadow:0 0 12px #e8b95a99}@keyframes loading-float{50%{transform:translateY(-8px)}}#toast{color:var(--cream);box-shadow:var(--shadow);z-index:60;text-align:center;pointer-events:none;width:max-content;max-width:min(480px,90vw);transition:bottom .2s var(--ease), opacity .28s var(--ease), translate .28s var(--ease), scale .28s var(--ease), display .28s;transition-behavior:allow-discrete;background:#0d3a44eb;border-radius:999px;padding:12px 20px;font-size:14px;line-height:1.45;position:fixed;bottom:132px;left:50%;transform:translate(-50%)}#toast[hidden]{opacity:0;transition-duration:.2s;translate:0 4px;scale:.98}@starting-style{#toast{opacity:0;translate:0 8px;scale:.98}}#toast.is-settling{opacity:0;transition-duration:0s;translate:0 8px;scale:.98}#app:has(#context-button:not([hidden])) #toast{bottom:calc(env(safe-area-inset-bottom,0px) + 24px + 92px + 46px + 10px)}@media (width<=1100px){#app:has(#context-button:not([hidden])) #toast{bottom:calc(env(safe-area-inset-bottom,0px) + 18px + 92px + 46px + 10px)}}@media (width<=700px){#app:has(#context-button:not([hidden])) #toast{bottom:calc(env(safe-area-inset-bottom,0px) + 12px + 80px + 46px + 10px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=600px){h2{font-size:34px}#toast{border-radius:16px;font-size:13px;bottom:125px}}@media (hover:none) and (pointer:coarse) and (width<=839px) and (orientation:portrait){#toast{bottom:calc(env(safe-area-inset-bottom,0px) + 12px + 240px)}#app:has(#context-button:not([hidden])) #toast{bottom:calc(env(safe-area-inset-bottom,0px) + 12px + 240px)}}@media (hover:none) and (pointer:coarse) and (width<=700px),(hover:none) and (pointer:coarse) and (height<=520px) and (orientation:landscape){#toast{bottom:var(--thumbs-top)}#app:has(#context-button:not([hidden])) #toast{bottom:var(--thumbs-top)}}@media (hover:none) and (pointer:coarse) and (height<=520px) and (orientation:landscape){#toast{max-width:calc(100vw - 2 * (2 * var(--thumb) + 40px))}}#app:has(#fishing-root .fishing) #toast{bottom:var(--above-fishing,340px)}.context-lost{z-index:100;width:max-content;max-width:min(360px,88vw);color:var(--cream);box-shadow:var(--shadow);text-align:center;background:#0d3a44f2;border-radius:20px;justify-items:center;gap:14px;padding:20px 24px;font-size:15px;line-height:1.45;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.context-lost p{margin:0}@media (hover:none) and (pointer:coarse){#app :is(input,textarea,select){font-size:16px}}.hud{pointer-events:none;--edge:24px;--top:calc(var(--edge) + env(safe-area-inset-top,0px));--bottom:calc(var(--edge) + env(safe-area-inset-bottom,0px));position:absolute;inset:0}.hud button,.hud input{pointer-events:auto}.place-mark,.bar-button,.resources,#route-status{background:var(--glass-dark);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:var(--cream)}.actions,.context-action{background:var(--glass);background-image:var(--sheen);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow)}.topbar{left:calc(var(--edge) + env(safe-area-inset-left,0px));right:calc(var(--edge) + env(safe-area-inset-right,0px));top:var(--top);justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:absolute}.place-mark{border-radius:999px;align-items:center;gap:12px;min-width:0;padding:6px 18px 6px 6px;display:flex}.place-mark>div{flex-direction:column;gap:1px;min-width:0;display:flex;overflow:hidden}.place-mark #location-name,.place-mark small{text-overflow:ellipsis;overflow:hidden}.place-mark #location-name{letter-spacing:.005em;white-space:nowrap;font:500 24px/1.1 Cormorant Garamond,serif}.place-mark small{color:#cfe2dc;white-space:nowrap;font-size:12px;line-height:1.4}.topbar-start{pointer-events:auto;border-radius:999px;align-items:stretch;min-width:0;display:flex;position:relative}.topbar-start>.place-mark{border-radius:999px 0 0 999px}.bar-button{color:#cfe2dc;border-radius:0;flex-shrink:0;place-items:center;width:44px;padding:0;display:grid;position:relative}.rankings-button{color:#ebc67e}.bar-button .icon{width:18px;height:18px}.bar-button:focus-visible{outline:none}@media (width<=700px),(height<=520px) and (orientation:landscape){.bar-button{width:38px}.bar-button .icon{width:17px;height:17px}}@media (width<=420px){.bar-button{width:34px}}.topbar-start>.resources{border-radius:0 999px 999px 0}.resources{z-index:1;border-radius:999px;flex-shrink:0;align-items:stretch;padding:0;display:flex}.resource{background:0 0;border-radius:0 999px 999px 0;grid-template-columns:15px auto;justify-content:start;align-items:center;gap:7px;min-height:30px;padding:3px 12px;display:grid}.resource:focus-visible{background:#ffffff1f;outline:none}.resource[aria-expanded=true]{background:#ffffff1f}@media (hover:hover){.resource:not(:disabled):hover{background:#ffffff21}}.resource b{font-variant-numeric:tabular-nums;letter-spacing:-.01em;min-width:3ch;font-size:14px;font-weight:600}.resource .icon{color:#9edbd0;width:15px;height:15px}#hold-button.is-full b,#hold-button.is-full .icon{color:#f9b49c}.ledger{z-index:2;width:max-content;min-width:min(232px,100%);max-width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1f, inset 0 1px 0 #ffffff14, var(--float-shadow);color:var(--cream);animation:ledger-in .18s var(--ease) both;background:linear-gradient(#0c3d48f2,#0a3039ed);border-radius:18px;gap:1px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.ledger[hidden]{display:none}@keyframes ledger-in{0%{opacity:0;transform:translateY(-4px)}}.ledger-row{text-align:start;background:0 0;border-radius:12px;grid-template-columns:16px 1fr auto;align-items:center;gap:11px;min-height:40px;padding:5px 12px 5px 10px;display:grid}.ledger>div.ledger-row{border-radius:12px 12px 0 0;margin-bottom:4px;box-shadow:0 4px 0 -3px #ffffff1f}.ledger-row>span{color:#e6efe9;min-width:0;font-size:13px;font-weight:500;line-height:1.25;display:grid}.ledger-row small{color:#cfe2dcb3;font-variant-numeric:tabular-nums;font-size:11px}.ledger-row b{font-variant-numeric:tabular-nums;text-align:end;color:var(--cream);font-size:14px;font-weight:600}.ledger-row .icon{stroke-width:1.6px;color:#9edbd0;width:16px;height:16px}.ledger>div.ledger-row .icon{color:#e9bd5e}button.ledger-row:focus-visible{background:#ffffff1f;outline:none}@media (hover:hover){button.ledger-row:hover{background:#ffffff17}}@media (height<=520px) and (orientation:landscape){.ledger-row{min-height:34px;padding-block:3px}}#app.is-feature-view :is(.move-stick,#fire-button,#fish-button,.ship-divider){display:none!important}#gold-button>.icon{color:#e9bd5e}.captain-button{background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;padding:0;display:grid;position:relative}.captain-button:not(:disabled):hover{background:#ffffff26}.captain-avatar{background:var(--swatch,var(--teal));width:36px;height:36px;color:var(--swatch-ink,var(--cream));transition:transform .2s var(--ease);border-radius:50%;place-items:center;font-size:15px;font-weight:700;line-height:1;display:grid}@media (hover:hover){.captain-button:hover .captain-avatar{transform:scale(1.06)}}#points-button .icon{color:#f0a978}.actions{left:50%;bottom:var(--bottom);pointer-events:auto;border-radius:22px;align-items:stretch;gap:2px;padding:6px;display:flex;position:absolute;transform:translate(-50%)}.action{min-width:64px;color:var(--ink);background:0 0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:9px 12px 8px;display:flex;position:relative}.action span{letter-spacing:.01em;color:#3d605c;font-size:11.5px;font-weight:500}.action .icon{width:22px;height:22px;transition:transform .2s var(--ease)}.action:not(:disabled):hover{background:#1f47440f}@media (hover:hover){.action:not(:disabled):hover .icon{transform:translateY(-2px)}}.action[aria-expanded=true],.action[aria-expanded=true]:not(:disabled):hover{background:var(--teal);color:var(--cream)}.action[aria-expanded=true] span{color:inherit}.action-divider{background:var(--line-strong);width:1px;margin:12px 5px}.ship-status{flex-direction:column;justify-content:center;gap:8px;width:176px;padding:6px 10px 6px 12px;display:flex}.ship-status>div:first-child{color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;font-weight:600;display:flex}.ship-status>div:first-child span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ship-status small{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.ship-status[hidden],.ship-status[hidden]+.ship-divider{display:none}.health{background:#1f474417;border-radius:6px;height:6px;overflow:hidden}.health i{border-radius:inherit;transform-origin:0;height:100%;transition:transform .25s var(--ease), background .3s;background:linear-gradient(90deg,#7fc289,#e2c46a);display:block}.health.is-low i{background:linear-gradient(90deg,#e0876a,#f0b27a)}.context-action{left:50%;bottom:calc(var(--bottom) + 92px);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:7px 18px 7px 7px;font-size:14px;font-weight:500;display:flex;position:absolute;transform:translate(-50%)}.context-action:not([hidden]){animation:rise-in .25s var(--ease) both}.context-action kbd .icon{display:none}.context-action kbd{background:var(--teal);min-width:32px;height:32px;color:var(--cream);box-shadow:none;border-radius:999px;place-items:center;padding:0 8px;font-size:12px;display:grid}.context-action:not([aria-disabled=true]):hover{background:#fffaf0f2}.context-action[aria-disabled=true]{opacity:.85}.context-action[aria-disabled=true] kbd{background:var(--muted)}@keyframes rise-in{0%{opacity:0;transform:translate(-50%,8px)}}.context-action b{font-weight:inherit}.context-action small{font-size:inherit}.context-action small:not(:empty):before{content:" · "}@keyframes rise-in-place{0%{opacity:0;transform:translateY(8px)}}.connection-pill{top:calc(var(--top) + 64px);width:max-content;max-width:calc(100% - 2 * var(--edge));color:#4a3a17;min-height:40px;box-shadow:var(--shadow);background:#f3d08ef2;border-radius:999px;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:13px;font-weight:500;display:flex;position:absolute;left:50%;transform:translate(-50%)}.connection-pill span:before{content:"";vertical-align:1px;background:#b0782a;border-radius:50%;width:7px;height:7px;margin-right:8px;animation:1.2s ease-in-out infinite pulse;display:inline-block}.connection-pill button{background:var(--cream);border-radius:999px;padding:6px 12px;font-weight:600}@keyframes pulse{50%{opacity:.3}}#route-status{left:50%;top:var(--top);border-radius:999px;align-items:center;gap:10px;min-height:44px;padding:6px 6px 6px 18px;font-size:13px;display:flex;position:absolute;transform:translate(-50%)}#route-status button{background:#ffffff1f;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;line-height:1;display:grid}#route-status button:hover{background:#fff3}.world-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.world-label{color:var(--cream);text-shadow:0 1px 2px #0b3a4599,0 1px 8px #0b3a4566;letter-spacing:.01em;text-align:center;white-space:nowrap;font-size:12px;font-weight:600;position:absolute;transform:translate(-50%,-100%)}.port-label{color:var(--ink);text-shadow:none;background:#fffaf0e6;border-radius:999px;padding:4px 10px;font-size:11px;box-shadow:0 1px 2px #0b3a4526,0 4px 10px #0b3a451f}.remote-health{background:#163d4e99;border-radius:3px;width:44px;height:3px;margin:5px auto 0;display:block;overflow:hidden}.remote-health i{transform-origin:0;background:#eea985;height:100%;display:block}.mobile-controls{display:none}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.place-mark,.bar-button,.resources,#route-status{background:#0b3a45e6}.actions,.context-action{background:var(--cream)}}@media (prefers-reduced-transparency:reduce){.place-mark,.bar-button,.resources,.ledger,#route-status{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0b3a45}.actions,.context-action{background:var(--cream);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (width<=1100px){.hud{--edge:18px}#route-status{top:calc(var(--top) + 70px)}}@media (width<=700px){.hud{--edge:12px}.topbar{gap:8px}.place-mark{gap:8px;padding:4px 14px 4px 4px}.place-mark #location-name{font-size:19px}.place-mark small{font-size:11px}.resource{gap:5px;min-height:26px;padding:2px 9px}.resource b{font-size:13px}.resource .icon{width:14px;height:14px}.captain-button{width:38px;height:38px}.captain-avatar{width:30px;height:30px;font-size:13px}.actions{border-radius:18px;gap:0;max-width:calc(100vw - 16px);padding:4px}.action{border-radius:14px;gap:3px;min-width:44px;padding:8px 7px 7px}.action span{font-size:10px}.action .icon{width:20px;height:20px}.action-divider{margin:10px 2px}.context-action{bottom:calc(var(--bottom) + 80px);white-space:normal;max-width:calc(100vw - 24px);font-size:13px}#route-status{top:calc(var(--top) + 108px);max-width:calc(100vw - 24px);font-size:12px}}.feature-hud{top:calc(var(--top) + 64px);width:min(460px, calc(100% - 2 * var(--edge)));pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.feature-hud>*{pointer-events:auto}.feature-hud>.is-stacked,.feature-hud>.is-unrevealed,.feature-hud>.is-away{display:none!important}.hud-more{background:var(--glass-dark);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--cream);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600}.hud-more.is-fresh{animation:more-glint 1.2s var(--ease) both}@keyframes more-glint{25%{box-shadow:inset 0 0 0 1px #ffffff1a, 0 0 0 4px #e8b95a59, var(--shadow-sm);transform:scale(1.08)}}@media (pointer:coarse){.hud-more{position:relative}.hud-more:before{content:"";position:absolute;inset:-6px -10px -12px}:is(.objective-go,.objective-close,.memory-go,.memory-close,.tuna-go,.tuna-close,.aboard-button){position:relative}:is(.objective-go,.objective-close,.memory-go,.memory-close,.tuna-go,.tuna-close,.aboard-button):after{content:"";position:absolute;inset:-7px -3px}.resources{isolation:isolate}.resource{position:relative}.resource:after{content:"";z-index:-1;position:absolute;inset:-9px -6px -9px 0}}.feature-hud:empty{display:none}.hud:has(#connection-status:not([hidden])) .feature-hud{visibility:hidden}.feature-hud>*>time:not(:empty){text-align:center;min-width:3.3em}.feature-hud :is(.derby-banner,.festa-banner,.race-banner,.ship-banner,.aboard-banner,.tuna-banner,.legend-banner,.order-banner,.play-banner,.rainbow-banner,.bounty-banner,.recap-banner,.account-banner,.news-banner)>div>b,.feature-hud .memory-text>b{-webkit-line-clamp:2;line-clamp:2;white-space:normal;text-wrap:pretty;-webkit-box-orient:vertical;display:-webkit-box}@media (width>=701px) and (height>=521px){.feature-hud :is(.derby-banner,.festa-banner,.race-banner,.ship-banner,.aboard-banner,.tuna-banner,.legend-banner,.order-banner,.play-banner,.rainbow-banner,.bounty-banner,.recap-banner,.account-banner,.news-banner)>div>:is(small,p),.feature-hud :is(.flow-text,.tour-text)>small,.feature-hud .memory-text>.memory-detail{-webkit-line-clamp:2;line-clamp:2;white-space:normal;text-wrap:pretty;-webkit-box-orient:vertical;display:-webkit-box}}@media (width>=1101px) and (height>=521px){.feature-hud{width:min(520px, calc(100% - 2 * var(--edge)))}#route-status{top:calc(var(--top) + 64px)}.hud:has(#route-status:not([hidden])) :is(.feature-hud,.connection-pill){top:calc(var(--top) + 116px)}#app:has(#route-preview:not([hidden])) :is(.feature-hud,.connection-pill){top:calc(var(--top) + 116px)}}@media (width<=1100px){.feature-hud,.connection-pill{top:calc(var(--top) + 122px)}}@media (width<=700px){#route-status{top:calc(var(--top) + 56px);left:calc(var(--edge) + env(safe-area-inset-left,0px));right:calc(var(--edge) + env(safe-area-inset-right,0px));max-width:none;min-height:40px;padding-left:14px;transform:none}#route-status span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}}@media (width<=420px){.place-mark{gap:6px;padding-right:12px}.captain-button{width:34px;height:34px}.captain-avatar{width:27px;height:27px;font-size:12px}.place-mark #location-name{font-size:17px}.place-mark #weather-label{display:none}}@media (width<=700px),(height<=520px) and (orientation:landscape){.ship-status,.ship-divider{display:none}.captain-button{position:relative}.captain-button:after{content:"";background:conic-gradient(var(--hull-colour,#6fbf8e) calc(var(--hull,1) * 1turn), #0b3a4529 0);opacity:0;pointer-events:none;border-radius:50%;transition:opacity .3s;position:absolute;inset:1px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px))}.captain-button.is-damaged:after{opacity:1}.captain-button.is-low{--hull-colour:#e0876a}.captain-button.is-ashore:after{opacity:0}.hud-more{padding:3px 10px;font-size:11px}.context-action{white-space:nowrap}.context-action span{text-overflow:ellipsis;min-width:0;overflow:hidden}}.feature-hud.is-expanded{padding-bottom:6px}.feature-hud.is-expanded>.hud-more{margin-inline:6px}@media (width<=700px){.feature-hud.is-expanded{max-height:calc(var(--app-height,100dvh) - var(--top) - 56px - var(--bottom) - 240px)}}@media (width<=700px) and (orientation:portrait),(width<=700px) and (height>=521px){.hud:has(#route-status:not([hidden])) .feature-hud.is-expanded{max-height:calc(var(--app-height,100dvh) - var(--top) - 104px - var(--bottom) - 240px)}#app:has(#route-preview:not([hidden])) .feature-hud.is-expanded{max-height:calc(var(--app-height,100dvh) - var(--top) - 104px - var(--bottom) - 240px)}}@media (height<=520px) and (orientation:landscape){.feature-hud.is-expanded{max-height:calc(var(--app-height,100dvh) - var(--top) - 56px - var(--thumbs-top,calc(var(--bottom) + 124px)))}}@media (width>=701px) and (height>=521px){.feature-hud.is-expanded{max-height:calc(var(--app-height,100dvh) - var(--top) - 64px - var(--bar-height) - 150px);overflow-y:auto}}@media (width<=700px),(height<=520px) and (orientation:landscape){.feature-hud.is-expanded{overscroll-behavior:contain;scrollbar-width:none;pointer-events:auto;overflow-y:auto}.feature-hud.is-expanded>*{flex-shrink:0}}@media (width<=700px){.feature-hud,.connection-pill{top:calc(var(--top) + 56px)}}@media (width<=700px) and (orientation:portrait),(width<=700px) and (height>=521px){.hud:has(#route-status:not([hidden])) .feature-hud{top:calc(var(--top) + 104px)}.hud:has(#route-status:not([hidden])) .connection-pill{top:calc(var(--top) + 104px)}#app:has(#route-preview:not([hidden])) .feature-hud{top:calc(var(--top) + 104px)}#app:has(#route-preview:not([hidden])) .connection-pill{top:calc(var(--top) + 104px)}}@media (height<=520px) and (orientation:landscape){.hud{--edge:12px}.topbar{gap:8px}.place-mark{gap:8px;padding:4px 14px 4px 4px}.place-mark #location-name{font-size:19px}.place-mark small{font-size:11px}.resource{gap:5px;min-height:26px;padding:2px 10px}.resource b{font-size:13px}.resource .icon{width:14px;height:14px}.captain-button{width:38px;height:38px}.captain-avatar{width:30px;height:30px;font-size:13px}.actions{border-radius:18px;gap:0;padding:4px}.action{border-radius:14px;gap:2px;min-width:52px;padding:7px 8px 6px}.action span{font-size:10px}.action .icon{width:20px;height:20px}.context-action{bottom:calc(var(--bottom) + 70px);font-size:13px}.feature-hud,.feature-hud.is-folded{top:calc(var(--top) + 56px);left:auto;right:calc(var(--edge) + env(safe-area-inset-right,0px));align-items:flex-end;width:min(340px,42vw);transform:none}.connection-pill{top:calc(var(--top) + 56px);left:auto;right:calc(var(--edge) + env(safe-area-inset-right,0px));transform:none}#route-status{top:calc(var(--top) + 56px);left:calc(var(--edge) + env(safe-area-inset-left,0px));max-width:calc(100% - min(340px, 42vw) - 3 * var(--edge) - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));min-height:40px;right:auto;transform:none}#route-status span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}@media (width<=700px),(height<=520px) and (orientation:landscape){:root{--dock:calc(58px + env(safe-area-inset-bottom,0px))}.actions{max-width:none;padding:4px max(6px, env(safe-area-inset-right,0px)) calc(4px + env(safe-area-inset-bottom,0px)) max(6px, env(safe-area-inset-left,0px));border-radius:20px 20px 0 0;justify-content:space-around;gap:0;bottom:0;left:0;right:0;transform:none}.action{flex:1 1 0;min-width:0;max-width:88px}.action-divider{display:none}}@media (height<=520px) and (orientation:landscape){.actions{padding-left:8px;padding-right:8px;left:50%;right:auto;transform:translate(-50%)}.action{flex:none;min-width:52px}}@media (hover:none) and (pointer:coarse){:root{--stick-size:112px;--thumb:56px}.mobile-controls{left:calc(12px + env(safe-area-inset-left,0px));right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(var(--bottom) + 84px);pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.move-stick{width:var(--stick-size);height:var(--stick-size);background:var(--glass);box-shadow:inset 0 0 0 1px var(--hairline), var(--float-shadow);color:var(--teal-deep);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:50%;flex:none;position:relative}.move-stick:before{content:"";border:1px dashed var(--hairline);border-radius:inherit;position:absolute;inset:12px}.stick-knob{background:var(--sheen);box-shadow:inset 0 0 0 1px var(--hairline), 0 3px 8px #08323a33;pointer-events:none;border-radius:50%;place-items:center;display:grid;position:absolute;inset:calc(50% - 24px)}.move-stick.held .stick-knob{background:var(--gold)}.thumb-steer{flex-direction:row-reverse;align-items:center;gap:10px;min-height:68px;margin-left:auto;display:flex}.thumb-actions{flex-direction:row-reverse;align-items:center;gap:10px;min-height:68px;display:flex}.thumb-actions:not(:has(>:not([hidden]))){visibility:hidden}.thumb-steer .context-action{touch-action:manipulation;border-radius:50%;flex:none;width:68px;height:68px;min-height:0;margin:0;padding:0;position:static;transform:none}.thumb-steer .context-action:not([hidden]){animation:none}.thumb-steer .context-action span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.thumb-steer .context-action kbd{flex:none;width:46px;height:46px;padding:0}.thumb-actions .action{pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#fire-button{color:#fffaf0;background:radial-gradient(circle at 50% 35%,#ef9f82,#d9694c);border-radius:50%;flex:none;gap:1px;width:68px;min-width:0;height:68px;padding:0;box-shadow:inset 0 0 0 2px #ffffff5c,0 6px 18px #7a2d1a55}#fire-button .icon{width:28px;height:28px}#fire-button span{color:#fffaf0;letter-spacing:.02em;font-size:11px;font-weight:700}#fire-button.is-ready{color:var(--deep);background:radial-gradient(circle at 50% 35%,#ffe08a,#e8a93a);box-shadow:0 0 0 4px #ffe08a66,0 6px 18px #7a5a1a55}#fire-button.is-ready span{color:var(--deep)}:is(#app:has(#panel:not([hidden])) .mobile-controls,#app:has(#chat-input:focus) .mobile-controls,#app:has(#fishing-root .fishing) .mobile-controls){display:none}.context-action kbd{justify-content:center;align-items:center;font-size:0;display:flex}.context-action kbd .icon{stroke-width:2.2px;width:18px;height:18px;display:block}.thumb-steer .context-action kbd .icon{width:24px;height:24px}}@media (hover:none) and (pointer:coarse) and (width<=700px),(hover:none) and (pointer:coarse) and (height<=520px) and (orientation:landscape){:root{--thumbs-top:calc(var(--dock) + 156px)}.mobile-controls{bottom:calc(var(--dock) + 10px)}}@media (hover:none) and (pointer:coarse) and (height<=520px) and (orientation:landscape){:root{--stick-size:96px;--thumb:52px;--thumbs-top:calc(156px + env(safe-area-inset-bottom,0px))}.mobile-controls{bottom:calc(8px + env(safe-area-inset-bottom,0px))}}@media (width<=700px),(height<=520px) and (orientation:landscape){.hud-more{z-index:1;margin-top:-12px;position:relative}.badge-reveal{width:min(240px,72vw);top:32%}.badge-art{width:min(132px,36vw)}.badge-text b{font-size:21px}.badge-text em{font-size:12px}}@media (height<=520px) and (orientation:landscape){.badge-reveal{top:42%}.badge-art{width:min(96px,22vh)}}@media (width<=380px){.place-mark>div{display:none}.place-mark{flex-shrink:0;padding:4px}.topbar{gap:6px}.resource{gap:4px;padding:6px 5px}.resource b{font-size:15px}}#panel-shade{z-index:19;transition-behavior:allow-discrete;background:radial-gradient(120% 90% at 50% 45%,#06303a33,#06303a8c);transition:opacity .2s ease-out,display .2s;position:fixed;inset:0}#panel-shade[hidden]{opacity:0;pointer-events:none;transition-duration:.16s}@starting-style{#panel-shade{opacity:0}}.panel{--panel-pad:26px;width:440px;max-width:calc(100vw - 28px);max-height:calc(var(--app-height,100dvh) - 40px);background:linear-gradient(180deg, var(--cream), var(--paper));padding:var(--panel-pad) 0 0;border-radius:var(--radius-l);z-index:20;box-shadow:inset 0 0 0 1px #ffffffb3, var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.panel:has(>.panel-tabs){height:min(680px, calc(var(--app-height,100dvh) - 40px))}.panel>.panel-head,.panel>.panel-tabs{margin-inline:var(--panel-pad);flex:none}.panel-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9cdb6 transparent;min-height:0;padding:2px var(--panel-pad) var(--panel-pad);flex:auto;overflow:auto}.panel>.panel-tabs,.panel>.panel-head{z-index:2;transition:box-shadow .2s;position:relative}.panel{--panel-rise:12px;transition:opacity .28s var(--ease), translate .28s var(--ease), scale .28s var(--ease), display .28s;transition-behavior:allow-discrete}.panel[hidden]{opacity:0;translate:0 calc(var(--panel-rise) / 2);pointer-events:none;transition-duration:.16s;scale:.99}@starting-style{.panel{opacity:0;translate:0 var(--panel-rise);scale:.98}}:root.page-switch{view-transition-name:none}:root.page-switch #panel>.panel-body{view-transition-name:panel-page}::view-transition-group(panel-page){animation-duration:.18s}::view-transition-old(panel-page){animation-duration:.18s}::view-transition-new(panel-page){animation-duration:.18s}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}@keyframes fade-in{0%{opacity:0}}.panel-head h2{letter-spacing:-.005em;font:500 32px/1.08 Cormorant Garamond,serif}.captain-panel{width:560px}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.panel-head .eyebrow{color:var(--teal);text-transform:uppercase;margin-bottom:6px;display:block}.panel-tabs{background:var(--sand);border-radius:16px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;margin:-6px 0 14px;padding:4px;display:grid;box-shadow:inset 0 1px 2px #1f474412}.panel-tabs button{min-width:0;min-height:56px;color:var(--muted);letter-spacing:.01em;text-align:center;background:0 0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:7px 4px 6px;font-size:11.5px;font-weight:600;line-height:1.12;transition:background .15s,color .15s;display:flex}.panel-tabs .icon{stroke-width:1.6px;flex:none;width:20px;height:20px}.panel-tabs .tab-label{text-wrap:balance;overflow-wrap:normal;max-width:100%}.panel-tabs.is-snug{gap:0}.panel-tabs.is-snug button{letter-spacing:0;padding-inline:1px}.panel-tabs.is-tight .tab-label{overflow-wrap:anywhere}.panel-tabs button[aria-current=page]{color:var(--teal-deep);background:#fff;box-shadow:0 1px 2px #1f47441f,0 4px 12px #1f474414}.panel-tabs button[aria-current=page] .icon{color:var(--teal)}.harbour-purse{color:#69745a;justify-content:flex-end;margin:0 0 12px;font-size:13px;display:flex}.harbour-purse span{align-items:center;gap:6px;display:inline-flex}.harbour-purse .icon{width:17px;height:17px}.harbour-welcome{align-items:center;gap:16px;margin-top:18px;display:flex}.harbour-welcome>.icon{color:#478e85;flex-shrink:0;width:38px;height:38px}.harbour-welcome span{font-size:20px;font-weight:600}.harbour-welcome p{color:var(--muted);margin-top:6px;font-size:13px;line-height:1.5}.shipyard-heading{margin-top:4px}.feature-panel:empty{display:none}.adventure-panel{width:540px}.shipyard-switch{gap:6px;margin:2px 0 18px;display:flex}.shipyard-switch button{min-height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);white-space:nowrap;background:0 0;border-radius:999px;padding:6px 13px;font-size:12.5px;font-weight:600}.shipyard-switch button:hover{color:var(--ink)}.shipyard-switch button[aria-pressed=true]{background:var(--teal);box-shadow:none;color:var(--cream)}.section-switch.is-tight{flex-wrap:wrap;row-gap:6px}.voyage-log{padding:6px 0 22px}.voyage-log h3{margin:10px 0;font:500 29px/1.2 Cormorant Garamond,serif}.voyage-log h3 span{color:#9aa787;font-family:DM Sans,sans-serif;font-size:20px}.voyage-log p{color:var(--muted);font-size:13px;line-height:1.6}.voyage-paving-link{text-align:left;color:#25776f;background:0 0;align-items:center;gap:9px;padding:13px 0 0;font-size:13px;display:flex}.voyage-paving-link .icon{width:19px;height:19px}.voyage-totals{color:var(--muted);gap:20px;margin:18px 0 0;font-size:12px;display:flex}.first-voyage{margin-top:18px;font-size:13px}.close-button{background:var(--sand);width:36px;height:36px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.close-button:hover{color:var(--ink);background:#e7e3cd}.close-button .icon{width:18px;height:18px}.back-button{background:var(--sand);width:36px;height:36px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.back-button:hover{color:var(--ink);background:#e7e3cd}.back-button .icon{width:18px;height:18px;transform:scaleX(-1)}.panel-head:has(>.back-button)>div{flex:auto;min-width:0}.panel-body::-webkit-scrollbar{width:10px}.panel-body::-webkit-scrollbar-thumb{background:#cfd2bd padding-box padding-box;border:3px solid #0000;border-radius:10px}.panel-intro{color:#5c7870;margin:0 0 24px;font-size:14px}.panel-note{color:var(--muted);margin-top:20px;font-size:12px}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:28px 0 10px;font-size:11px;font-weight:600}.balance{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;display:flex}.balance b{font-size:24px}.upgrade-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 0;display:flex}.upgrade-row>div{flex:1}.upgrade-row h3{font-family:inherit;font-size:15px;font-weight:600}.upgrade-row p{color:var(--muted);margin:4px 0;font-size:12px;line-height:1.4}.upgrade-row small{font-size:11px}.purchase{white-space:nowrap;box-shadow:inset 0 0 0 1px var(--line-strong), 0 1px 2px #1f474414;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:9px 13px;font-size:13px;font-weight:600;display:flex}.purchase:not(:disabled):hover{background:var(--teal);color:var(--cream);box-shadow:0 4px 12px -4px #1c5c5999}.purchase .icon{width:16px}.harbour-actions{gap:10px;margin-top:24px;display:grid}.harbour-notice{border-radius:var(--radius-m);background:var(--sand);color:var(--muted);align-items:center;gap:12px;padding:12px 14px;font-size:13px;line-height:1.45;display:flex}.harbour-notice>.icon{flex-shrink:0;width:22px;height:22px}.harbour-notice p{margin:0}.cargo-list{margin:16px 0}.cargo-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;font-size:13px;display:flex}.cargo-row>div{flex:1}.cargo-row small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.cargo-row>b{white-space:nowrap;font-size:13px}.hold-summary{justify-content:space-between;font-size:15px;display:flex}.empty-hold{text-align:center;padding:32px 0}.empty-hold>.icon{color:#86aaa0;width:46px;height:46px;margin-bottom:16px}.empty-hold p{color:var(--muted);margin-top:10px;font-size:14px}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.shortcut-item{min-height:48px;box-shadow:inset 0 0 0 1px var(--line);background:#fff9;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 10px 14px;font-size:13px;display:flex}.shortcut-item kbd{background:var(--sand);padding:4px 8px;font-size:11.5px}.shortcut-item.shortcut-wide{grid-column:1/-1}.shortcut-item small.shortcut-hint{color:var(--muted);text-align:right;font-size:12px}.shortcut-grid.is-touch{grid-template-columns:1fr;gap:6px}.shortcut-grid.is-touch .shortcut-item{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:0;padding:9px 14px}.shortcut-grid.is-touch .shortcut-item span{font-weight:600}.shortcut-grid.is-touch .shortcut-item small{color:var(--muted);font-size:12.5px;line-height:1.35}.journal-stat{gap:20px;margin:22px 0;display:flex}.journal-stat div{flex:1}.journal-stat b{font:500 38px/1.1 Cormorant Garamond,serif;display:block}.journal-stat span{color:var(--muted);font-size:11px}.collection-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.fish-entry{align-items:center;gap:10px;padding:12px 0;font-size:12px;display:flex}.fish-entry.unknown{opacity:.4}.activity-row{text-align:left;border-bottom:1px solid var(--line);background:0 0;border-radius:10px;align-items:center;gap:12px;width:calc(100% + 16px);margin:0 -8px;padding:15px 8px;display:flex}.activity-row:not(:disabled):hover{background:#1f47440a}.activity-row>div{flex:1}.activity-row b{font-size:14px}.activity-row small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.quiz-progress{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:22px;font-size:13px;display:flex}.quiz-question{margin-bottom:22px;font-family:inherit;font-size:21px;font-weight:500;line-height:1.45}.quiz-choice{text-align:left;width:100%;box-shadow:inset 0 0 0 1px var(--line-strong), 0 1px 2px #1f474410;background:#fff;border-radius:12px;align-items:center;gap:12px;margin:8px 0;padding:15px 16px;font-size:15px;display:flex}.quiz-choice:not(:disabled):hover{box-shadow:inset 0 0 0 1.5px var(--teal), 0 4px 14px -6px #1c5c5966;background:#f1f6ee}.quiz-choice>span{background:var(--sand);width:28px;height:28px;color:var(--teal-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.quiz-choice:not(:disabled):hover>span{background:var(--teal);color:var(--cream)}.quiz-result{text-align:center;padding:24px 0}.quiz-result b{font:500 72px/1 Cormorant Garamond,serif;display:block}.quiz-result p{color:var(--muted);margin:12px 0 24px;font-size:14px}.achievement{border-bottom:1px solid var(--line);padding:15px 0}.achievement b{font-size:14px}.achievement p{color:var(--muted);margin-top:4px;font-size:12px}.achievement.done b{color:#56874e}@media (width<=700px){.panel{top:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));width:calc(100vw - 16px);max-width:520px;max-height:calc(var(--app-height,100dvh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:var(--panel-pad) 0 0;--panel-rise:24px;border-radius:24px;transform:translate(-50%)}@starting-style{.panel{scale:1}}.panel[hidden]{scale:1}.panel:has(>.panel-tabs){height:min(680px, calc(var(--app-height,100dvh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}.panel-head h2{font-size:28px}.shortcut-item{flex-direction:column;align-items:flex-start;gap:5px;padding:10px}.shortcut-item kbd{color:var(--muted)}.panel{--panel-pad:18px}.harbour-welcome{gap:12px;margin-top:12px}.harbour-welcome>.icon{width:30px;height:30px}.harbour-welcome span{font-size:17px}.panel-tabs button{gap:3px;min-height:52px;font-size:10.5px}.panel-tabs .icon{width:19px;height:19px}.shipyard-switch{gap:5px}.shipyard-switch button{min-height:30px;padding-inline:10px;font-size:12px}}@media (width<=380px){.panel-tabs{gap:0;padding:3px}.panel-tabs button{padding-inline:2px;font-size:10px}}@media (height<=520px) and (orientation:landscape){.panel{--panel-pad:16px;max-height:calc(var(--app-height,100dvh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.panel:has(>.panel-tabs){height:calc(var(--app-height,100dvh) - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.panel-head{margin-bottom:10px}.panel-head h2{font-size:24px}.panel-head .eyebrow{margin-bottom:2px}.panel-tabs{margin:-2px 0 10px}.panel-tabs button{flex-direction:row;gap:6px;min-height:40px;padding:5px 6px}.panel-tabs .icon{width:18px;height:18px}}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.card{min-width:0;box-shadow:inset 0 0 0 1px var(--line);background:#fffaf2;border-radius:14px;transition:box-shadow .15s,background .15s;position:relative}.card[open]{box-shadow:inset 0 0 0 1px var(--line-strong), 0 6px 18px -10px #0b3a4540;background:#fff;grid-column:1/-1}.card>summary,.card>.card-face{cursor:pointer;grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:10px;padding:10px 12px;list-style:none;display:grid}.card>.card-face{cursor:default}.card>summary::-webkit-details-marker{display:none}.card>summary:hover{background:#ffffff80;border-radius:14px}.card-mark{color:#9aa491;border:1.5px dashed #cfc9ae;border-radius:50%;grid-row:1/span 2;place-items:center;width:34px;height:34px;display:grid;position:relative}.card-mark .icon{width:19px;height:19px}.card.is-known .card-mark{color:var(--teal-deep);background:#dcebe3;border:0}.card.is-known .card-mark:after{content:"✓";background:var(--teal);color:#fff;border-radius:50%;place-items:center;width:15px;height:15px;font-size:9px;font-weight:700;display:grid;position:absolute;bottom:-3px;right:-3px;box-shadow:0 0 0 2px #fffaf2}.card-title{-webkit-line-clamp:2;color:var(--ink);-webkit-box-orient:vertical;font-size:13.5px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.card:not(.is-known) .card-title{color:#5b716c}.card-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11.5px;line-height:1.35;overflow:hidden}.card-meta.is-long{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.card-status{vertical-align:top;text-overflow:ellipsis;max-width:100%;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:999px;margin-top:5px;padding:1px 8px;font-size:10.5px;font-weight:600;display:inline-block;overflow:hidden}.card.is-known .card-status{box-shadow:none;color:var(--teal-deep);background:#dcebe3}.card-more{color:#4d6b65;padding:0 14px 14px 56px;font-size:12.5px;line-height:1.55}.card-more p{margin:0 0 8px}.card-more .card-hint{color:var(--muted);font-style:italic}.card-more button{margin-top:2px}.card-value{color:#9a6a1f;font-size:14px;font-weight:700;position:absolute;top:10px;right:12px}.card-value small{color:var(--muted);text-align:right;font-size:10.5px;font-weight:500;display:block}.card.has-value .card-title,.card.has-value .card-meta{padding-right:58px}.cards-head{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:4px 0 10px;font-size:11px;font-weight:700;display:flex}.cards-progress{background:var(--sand);border-radius:999px;flex:0 110px;height:5px;overflow:hidden}.cards-progress i{border-radius:inherit;background:var(--teal);height:100%;display:block}@media (width<=700px){.cards{gap:6px}.card>summary,.card>.card-face{grid-template-columns:30px minmax(0,1fr);column-gap:8px;padding:9px 10px}.card-mark{width:30px;height:30px}.card-mark .icon{width:17px;height:17px}.card-title{font-size:13px}.card-more{padding:0 12px 12px}.card.has-value .card-title,.card.has-value .card-meta{padding-right:0}.card.has-value .card-meta{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box}.card.has-value .card-mark{grid-row:1/span 3}.card.has-value .card-value{grid-column:2;align-items:baseline;gap:5px;min-width:0;margin-top:3px;font-size:13px;line-height:1.2;display:flex;position:static}.card.has-value .card-value small{text-overflow:ellipsis;white-space:nowrap;text-align:left;overflow:hidden}}@media (width<=340px){.cards{grid-template-columns:minmax(0,1fr)}}.chat-bubble{background:var(--cream);text-align:center;overflow-wrap:anywhere;border-radius:16px;min-width:70px;max-width:230px;padding:9px 14px;font-size:14px;line-height:1.4;position:absolute;transform:translate(-50%,-100%);box-shadow:0 1px 2px #0b3a4526,0 8px 22px -6px #0b3a4559}.chat-bubble small{color:var(--teal);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.chat-bubble:after{content:"";border-left:7px solid #0000;border-right:7px solid #0000;border-top:8px solid var(--cream);position:absolute;bottom:-7px;left:calc(50% - 7px)}.fishing{left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px) + 92px);background:linear-gradient(180deg, var(--cream), var(--paper));border-radius:var(--radius-l);width:348px;max-width:calc(100vw - 24px);box-shadow:inset 0 0 0 1px #ffffffb3, var(--shadow-lg);z-index:15;text-align:center;animation:rise-in .28s var(--ease) both;padding:22px 22px 20px;position:fixed;transform:translate(-50%)}.fishing .eyebrow{color:var(--teal)}.fishing-count{color:var(--muted);font-size:12px}.fishing-limit-badge{background:var(--ink);color:var(--cream);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:8px;padding:2px 5px;font-size:10px;line-height:1.2;position:absolute;top:-5px;right:2px}#fish-button.is-resting .icon{opacity:.5}.fishing .close-button{width:28px;height:28px;position:absolute;top:10px;right:10px}.fishing .close-button:before{content:"";position:absolute;inset:-8px}.fishing h3{margin:8px 0;font-size:28px}.fishing p{color:var(--muted);margin:10px 0 16px;font-size:12px}.fishing .primary-button{-webkit-user-select:none;user-select:none;touch-action:none;width:100%}.tension{background:linear-gradient(90deg,#b8cdb0 0 22%,#78a66e 22% 72%,#e9c579 72% 88%,#d9866b 88%);border-radius:10px;height:10px;margin:22px 0 10px;position:relative;box-shadow:inset 0 1px 2px #1f474426}.tension i{background:var(--ink);width:4px;height:22px;box-shadow:0 0 0 2px var(--cream), 0 2px 6px #1f474466;border-radius:3px;transition:left 90ms linear;position:absolute;top:-5px;left:20%;transform:translate(-50%)}.catch-progress{background:#dce3ce;border-radius:5px;height:4px;margin-bottom:7px;overflow:hidden}.catch-progress i{background:var(--teal);transform-origin:0;height:100%;transition:transform 90ms linear;display:block;transform:scaleX(0)}.fishing-metrics{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.bite-pulse{animation:.6s ease-in-out infinite alternate bite}@keyframes bite{to{background:#b98b31;transform:scale(1.025)}}@media (width<=700px){.fishing{bottom:calc(var(--dock) + 10px);padding:18px}.chat-bubble{max-width:180px;font-size:12px}}@media (height<=520px) and (orientation:landscape){.fishing{bottom:calc(var(--dock) + 8px);width:320px;padding:14px 18px}.fishing h3{margin:4px 0;font-size:22px}.fishing p{margin:6px 0 10px}#app:has(#fishing-root .fishing) .feature-hud{visibility:hidden}}.shark-tug{color:var(--muted);grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:18px 0 6px;font-size:11px;display:grid}.shark-tug-rope{background:repeating-linear-gradient(110deg,#c9b48a 0 6px,#ab9467 6px 9px);border-radius:6px;height:6px;position:relative;box-shadow:inset 0 1px 2px #1f474426}.shark-tug-rope i{background:var(--ink);width:16px;height:16px;box-shadow:0 0 0 2px var(--cream), 0 2px 6px #1f474466;border-radius:50%;transition:left .1s linear;position:absolute;top:50%;left:45%;transform:translate(-50%,-50%)}.fishing.is-shark-run h3{color:#b4553f}.fishing.is-shark-tire h3{color:var(--teal)}.fishing.is-shark-run{box-shadow:inset 0 0 0 2px #d9866b88, var(--shadow-lg)}.fishing.is-shark-tire{box-shadow:inset 0 0 0 2px #78a66e88, var(--shadow-lg)}@media (prefers-reduced-motion:reduce){.shark-tug-rope i{transition:none}}.map-overlay{--map-top:104px;--veil-at:50% 46%;--chart-cream:#f6ecd4;pointer-events:none;position:fixed;inset:0}.map-overlay:before{content:"";background:radial-gradient(ellipse 78% 74% at var(--veil-at), #041b22f0 0%, #041b22ed 38%, #041b22e3 50%, #041b22cc 60%, #041b22ab 69%, #041b2285 77%, #041b225e 85%, #041b2242 93%, #041b2233 100%);position:absolute;inset:0}.map-stage{inset:max(var(--map-top), calc(var(--hud-bottom,0px) + 18px)) 64px 176px;margin-right:var(--hud-right,0px);place-items:center;display:grid;position:absolute;container-type:size}.map-card{width:min(100cqw, 100cqh * var(--chart-ratio), 1240px);aspect-ratio:var(--chart-ratio);position:relative}.map-card>svg{width:100%;height:100%;font-family:DM Sans,sans-serif;display:block;overflow:visible}.map-overlay:not([hidden]):before{animation:map-veil .4s var(--ease) both}.map-overlay:not([hidden]) .map-card{animation:map-in .45s var(--ease) both}@keyframes map-veil{0%{opacity:0}}@keyframes map-in{0%{opacity:0;transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.map-overlay:not([hidden]):before,.map-overlay:not([hidden]) .map-card{animation:none}}.map-mark{transform:scale(var(--u,1))}.pirate-map circle{fill:#151413}.pirate-map>circle:first-child{stroke:#c8483d;stroke-width:1.6px}.pirate-map-skull{fill:#efe8d8}.map-rose{opacity:.55}.map-rose .map-mark{transform:scale(calc(var(--u,1) * .8))}.map-rose-ring{fill:none;stroke:var(--chart-cream);stroke-opacity:.3;stroke-width:.8px}.map-rose-dark{fill:var(--chart-cream);fill-opacity:.7}.map-rose-light{fill:#041b22;stroke:var(--chart-cream);stroke-opacity:.5;stroke-width:.6px;stroke-linejoin:round}.map-rose-north{fill:var(--gold);text-anchor:middle;font:600 13px DM Sans,sans-serif}.map-shallows path{fill:#7fd0c8;fill-opacity:.1;stroke:#7fd0c8;stroke-opacity:.1;stroke-width:calc(16px * var(--u,1));stroke-linejoin:round}.map-surf path{fill:none;stroke:#bfeee4;stroke-opacity:.28;stroke-width:calc(6px * var(--u,1));stroke-linejoin:round}.map-island{fill:var(--isle,#a9b98f);stroke:#fff8e8;stroke-opacity:.7;stroke-width:calc(1px * var(--u,1));stroke-linejoin:round}.map-label{fill:var(--chart-cream);fill-opacity:.85;font:600 calc(10.5px * var(--u,1)) "DM Sans", sans-serif;letter-spacing:.16em;text-transform:uppercase}.map-position-halo{fill:#e8b95a2e;stroke:#ffe3a3;stroke-opacity:.5;stroke-width:1px}.map-position-boat{fill:var(--gold);stroke:#fff8e8;stroke-width:1.4px;stroke-linejoin:round}@media (width<=1100px){.map-stage{bottom:192px;left:44px;right:44px}}@media (width<=700px){.map-overlay{--map-top:84px}.map-stage{bottom:150px;left:18px;right:18px}.map-label{font-size:calc(9.5px * var(--u,1));letter-spacing:.12em}.map-rose .map-mark{transform:scale(calc(var(--u,1) * .55))}}@media (width<=700px) and (orientation:portrait){.map-overlay{--map-top:112px;--veil-at:50% 30%}.map-stage{place-items:start center}}@media (height<=520px){.map-overlay{--map-top:66px}.map-stage{bottom:132px;left:28px;right:28px}}.identity{z-index:45;background:radial-gradient(120% 90% at 50% 40%,#073e4933,#06303aa6);place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0;overflow:auto}.identity-form{background:linear-gradient(180deg, var(--cream), var(--paper));width:min(392px,100%);box-shadow:inset 0 0 0 1px #ffffffb3, var(--shadow-lg);animation:panel-rise .4s var(--ease) both;border-radius:26px;padding:30px}@keyframes panel-rise{0%{opacity:0;transform:translateY(14px)scale(.98)}}.identity-heading{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:24px;display:flex}.identity-heading img{object-fit:contain;width:68px;height:68px}.identity h1{letter-spacing:-.01em;white-space:nowrap;font-size:min(36px,10vw);line-height:1.02}.identity-heading p{color:var(--muted);overflow-wrap:anywhere;margin-top:7px;font-size:13px}.identity-heading .identity-online{min-height:16px;color:var(--teal-deep);opacity:0;transition:opacity .4s var(--ease);margin-top:6px;font-size:12px;line-height:16px}.identity-heading .identity-online.is-shown{opacity:1}.identity-online.is-shown:before{content:"";vertical-align:1px;background:#3f9d78;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 0 3px #3f9d7826}@media (prefers-reduced-motion:reduce){.identity-heading .identity-online{transition:none}}.identity-real{color:var(--muted);text-align:center;margin:4px 0 0;font-size:12px;line-height:16px;display:none}.identity-real.is-shown{animation:.4s ease-out both fade-in;display:block}@media (prefers-reduced-motion:reduce){.identity-real.is-shown{animation:none}}.identity label,.identity legend{margin:0 0 9px;font-size:14px;font-weight:600;display:block}#player-name{width:100%;height:48px;box-shadow:inset 0 0 0 1px var(--line-strong), 0 1px 2px #1f474410;color:var(--ink);background:#fff;border:0;border-radius:12px;padding:11px 16px;transition:box-shadow .15s}#player-name:focus-visible{box-shadow:inset 0 0 0 2px var(--teal), 0 0 0 4px #287a761f;outline:0}.identity fieldset{border:0;margin:22px 0 26px;padding:0}.colour-options{justify-content:space-between;gap:7px;padding:3px;display:flex}.colour-options label{cursor:pointer;margin:0;position:relative}.colour-options input{opacity:0;position:absolute}.colour-options span{background:var(--swatch);border:3px solid var(--cream);width:30px;height:30px;transition:transform .2s var(--ease), box-shadow .2s;border-radius:50%;display:block;box-shadow:0 0 0 1px #1f474426,inset 0 -2px #0000001a}.colour-options input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}.identity .primary-button{width:100%;min-height:50px}.identity small{color:var(--muted);text-align:center;margin-top:16px;font-size:12px;line-height:1.5;display:block}#identity-error{color:#a14c3b;margin-top:14px;font-size:13px;line-height:1.5}.saved-captain{align-items:center;gap:12px;margin:0 0 14px;font-size:15px;display:flex}.saved-colour{color:var(--swatch);background:var(--sand);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;flex:none;place-items:center;display:grid}.saved-colour .icon{width:24px;height:24px}.saved-captain small{text-align:left;margin-top:4px}.identity-edit{width:100%;min-height:44px;margin-top:8px}.identity-link{min-height:36px;color:var(--muted);background:0 0;margin:6px auto 0;padding:6px 12px;font-size:13px;display:block}.identity-reset-link{color:#986653}.identity-reset-note{color:var(--muted);margin-bottom:24px;font-size:14px;line-height:1.6}.identity-reset-confirm{background:#a25040}#identity-error:empty{display:none}@media (width<=370px){.identity-form{padding:24px 20px}.identity-form .identity-footer{margin-inline:-20px}.colour-options{gap:5px}.colour-options span{width:26px;height:26px}}.language-switch{background:var(--sand);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.language-switch button{min-width:40px;min-height:30px;color:var(--muted);letter-spacing:.05em;background:0 0;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.language-switch button[aria-pressed=true]{background:var(--teal);color:var(--cream)}.language-switch button:not([aria-pressed=true]):hover{color:var(--teal-deep)}.identity-footer{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:6px;margin:8px -30px -14px;padding-top:14px;display:flex}.identity-links{align-items:center;gap:8px;font-size:12px;display:flex}.identity-links a{color:var(--teal);text-decoration:none}.identity-links a:hover{text-decoration:underline}.identity-links span{color:var(--muted)}.identity-links button{color:var(--teal);font:inherit;background:0 0;padding:0;font-weight:600}.identity-links button:hover{text-decoration:underline}.identity-links [hidden]{display:none}.identity-footer .identity-copyright{letter-spacing:.03em;color:var(--muted);text-align:center;margin:0;font-size:11px}.identity-language{box-shadow:none;background:0 0}.identity-language button{min-width:36px;min-height:28px;font-size:11.5px}@media (height<=520px) and (orientation:landscape){.identity{place-items:start center;padding:10px 16px}.identity-form{width:min(520px,100%);padding:16px 22px}.identity-heading{text-align:left;flex-direction:row;justify-content:center;gap:14px;margin-bottom:10px}.identity-heading img{width:44px;height:44px}.identity h1{font-size:28px}.identity-heading>div{flex-wrap:wrap;align-items:baseline;column-gap:12px;display:flex}.identity-heading h1{flex-basis:100%}.identity-heading .identity-online{margin-top:7px}.identity-footer{margin:6px -22px -6px;padding-top:8px}}.whale-notice{left:50%;bottom:calc(118px + env(safe-area-inset-bottom,0px));z-index:18;width:min(414px,90vw);color:var(--ink);pointer-events:auto;background:linear-gradient(145deg,#fff8e8 48%,#e9f1e6);border:1px solid #f9f7eae0;border-radius:20px;padding:18px;position:fixed;transform:translate(-50%);box-shadow:0 12px 38px #07394535,0 2px 8px #07394515}.whale-notice:not([hidden]){animation:.22s ease-out both whale-notice-arrive}.whale-notice-head{grid-template-columns:64px minmax(0,1fr) 28px;align-items:center;gap:12px;display:grid}.whale-notice-art{object-fit:contain;background:#dfebe1;border-radius:15px;width:64px;height:64px;display:block}.whale-notice-title{letter-spacing:-.025em;font:600 19px/1.22 DM Sans,sans-serif}.whale-notice-status{color:var(--teal);margin-top:6px;font-size:12px;font-weight:600;line-height:1.3}.whale-notice-close{width:28px;height:28px;color:var(--muted);background:#244f4c09;border-radius:50%;align-self:start;place-items:center;padding:0;font-size:23px;line-height:1;display:grid;position:relative}.whale-notice-close:before{content:"";position:absolute;inset:-7px}.whale-notice-close:hover{color:var(--ink);background:#244f4c14}.whale-notice-story{color:#526f68;margin-top:15px;font-size:13px;line-height:1.65}.whale-notice-footer{border-top:1px solid #244f4c15;margin-top:14px;padding-top:12px;font-size:12px}.whale-notice-year{color:var(--muted)}@keyframes whale-notice-arrive{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (width<=700px){.whale-notice{bottom:calc(112px + env(safe-area-inset-bottom,0px));border-radius:18px;padding:16px}.whale-notice-head{gap:10px}.whale-notice-title{font-size:17px}.whale-notice-story{margin-top:13px}}@media (height<=520px) and (orientation:landscape){.whale-notice{bottom:calc(142px + env(safe-area-inset-bottom,0px));max-height:calc(var(--app-height,100dvh) - 142px - 68px);overscroll-behavior:contain;overflow:auto}}@media (height<=480px) and (orientation:portrait){.whale-notice{max-height:calc(var(--app-height,100dvh) - 170px);overscroll-behavior:contain;overflow:auto}}@media (hover:none) and (pointer:coarse) and (orientation:portrait){.whale-notice{bottom:calc(272px + env(safe-area-inset-bottom,0px));max-height:calc(var(--app-height,100dvh) - 358px);overscroll-behavior:contain;overflow:auto}}@media (hover:none) and (pointer:coarse) and (width<=700px),(hover:none) and (pointer:coarse) and (height<=520px) and (orientation:landscape){.whale-notice{bottom:var(--thumbs-top);max-height:calc(var(--app-height,100dvh) - var(--thumbs-top) - 64px - env(safe-area-inset-top,0px));overscroll-behavior:contain;overflow:auto}}@media (hover:none) and (pointer:coarse) and (height<=520px) and (orientation:landscape){.whale-notice{width:min(414px, calc(100vw - 2 * (2 * var(--thumb) + 40px)))}}.voyage-caption{color:var(--muted);margin:0 0 16px;font-size:13px;line-height:1.6}.voyage-empty{align-items:center;gap:14px;padding:20px 0;font-size:14px;line-height:1.6;display:flex}.voyage-empty>.icon{color:#6a9888;flex-shrink:0;width:30px;height:30px}.voyage-empty p{color:var(--muted);margin:4px 0 0;font-size:13px}.voyage-card-heading{align-items:center;gap:12px;display:flex}.voyage-card-heading>div{flex:1}.voyage-card-heading h3,.delivery-offer h3{margin:3px 0 0;font:600 18px/1.3 DM Sans,sans-serif}.voyage-card-heading small,.delivery-offer-top small{letter-spacing:.045em;color:var(--muted);font-size:11px}.voyage-seal{color:#427f71;background:#dceadd;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.voyage-reward{color:#876529;text-align:right;font-size:22px}.voyage-reward small{text-align:right;letter-spacing:0;font-weight:400;display:block}.delivery-board{gap:12px;display:grid}.delivery-offer,.delivery-active{background:#edf0e1;border:1px solid #cad9c4;border-radius:14px;padding:16px}.delivery-offer-top{align-items:center;gap:12px;display:flex}.delivery-offer:nth-child(2) .voyage-seal{color:#9a7341;background:#eee2c6}.delivery-offer:nth-child(3) .voyage-seal{color:#7870a3;background:#e4e0ee}.delivery-offer.is-trade .voyage-seal,.delivery-active.is-trade .voyage-seal{color:#a4583a;background:#f1ddd0}.delivery-offer-note{color:var(--muted);margin:-4px 0 12px;font-size:12px;line-height:1.55}.delivery-offer-cargo{flex-wrap:wrap;justify-content:space-between;gap:8px;margin:16px 0 12px;font-size:13px;display:flex}.delivery-offer-cargo b{color:var(--muted);font-weight:500}.voyage-wide{justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:12px;padding:12px 14px;font-size:13px;display:flex}.voyage-wide:disabled{opacity:.62;cursor:default}.delivery-route{align-items:center;gap:10px;padding-top:17px;font-size:13px;display:flex}.delivery-route .icon{color:#8aa499;flex-shrink:0;width:18px}.delivery-active>p{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.6}.delivery-active+.voyage-caption{margin-top:14px}.fragment-count{color:#826b45;white-space:nowrap;font-size:28px;font-weight:600}.fragment-count small{font-size:14px}.treasure-chart{background:#ece6d0;border:1px solid #d8cfad;border-radius:14px;width:100%;margin:18px 0 12px;display:block}.treasure-chart .uncharted{fill:#d0d8c6;stroke:#bac7b3;stroke-width:.6px}.treasure-chart .found{fill:#81a285;stroke:#42786d;stroke-width:.8px}.chart-route{fill:none;stroke:#94764b;stroke-width:1px;stroke-dasharray:3 5}.chart-wave,.chart-compass{fill:none;stroke:#afa782;stroke-width:1px}.chart-pin{fill:#faf4e3;stroke:#4b8173;stroke-width:1.2px}.chart-number{fill:#2e645b;font:600 9px DM Sans,sans-serif}.fragment-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.map-fragment{color:#8b9b88;border:1px dashed #c7d2bf;border-radius:9px;flex-direction:column;align-items:center;gap:6px;padding:10px 5px;font-size:11px;display:flex}.map-fragment.found{color:#467b69;background:#e7eddd;border-style:solid}.map-fragment .icon{width:18px;height:18px}.treasure-clue{border-left:3px solid #dcb666;padding:4px 0 4px 15px}.treasure-clue>small{color:#947349;letter-spacing:.1em;font-size:11px;font-weight:600}.treasure-clue p{margin:8px 0;font-size:14px;line-height:1.65}.treasure-clue details{color:var(--muted);margin-top:12px;font-size:12px}.treasure-clue summary{cursor:pointer}.treasure-clue details p{font-size:12px}.treasure-empty{text-align:center;padding:12px 4px 8px}.treasure-empty h3{margin:18px 0 10px;font:600 20px/1.35 DM Sans,sans-serif}.treasure-empty p{color:var(--muted);margin-bottom:22px;font-size:14px;line-height:1.7}.treasure-prize{color:#8b7044;justify-content:center;align-items:center;gap:8px;font-size:12px;display:inline-flex}.bottle-illustration{background:#c5dfcbbb;border:3px solid #598e7c;border-radius:15px 15px 11px 11px;width:44px;height:72px;margin-top:25px;display:inline-block;position:relative;transform:rotate(18deg)}.bottle-illustration:before{content:"";background:#d6e8d5;border:3px solid #598e7c;border-top:6px solid #b7986e;border-radius:3px;width:17px;height:20px;position:absolute;top:-20px;left:10px}.bottle-illustration i{background:#faf0cf;border:1px solid #ccba8e;border-radius:3px;width:22px;height:39px;display:block;position:absolute;top:13px;left:8px;transform:rotate(-12deg);box-shadow:inset 4px 0 #e3d5ae}.treasure-finished{background:#e5ecda;border-radius:12px;align-items:center;gap:12px;padding:16px;display:flex}.treasure-finished>.icon{color:#b38c3c;flex-shrink:0}.treasure-finished b{font-size:14px}.treasure-finished p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.6}.treasure-waiting{color:var(--muted);align-items:center;gap:10px;margin:12px 0 0;font-size:12px;line-height:1.6;display:flex}.treasure-waiting>.icon{color:#598e7c;flex-shrink:0}@media (width<=420px){.delivery-offer,.delivery-active{padding:13px}.delivery-offer .voyage-wide{flex-direction:column;align-items:flex-start}.voyage-card-heading h3,.delivery-offer h3{font-size:16px}}.paving-preview{aspect-ratio:1;border-radius:8px;width:min(100%,260px);margin:0 auto 15px;box-shadow:0 5px 14px #654f2a16}.paving-preview svg{width:100%;height:100%;display:block}.paving-byline{justify-content:space-between;align-items:baseline;gap:10px;margin:12px 0;display:flex}.paving-byline b{font-size:15px}.paving-byline span,.paving-hint,.paving-signatures{color:var(--muted);font-size:12px;line-height:1.5}.paving-route{color:#275f59;font-weight:600}.paving-route span{color:#ae966b;margin:0 3px}.paving-story{color:var(--muted);font-size:12px;line-height:1.7}.paving-signatures{margin:8px 0 12px;font-style:italic}.paving-actions{gap:8px;margin-top:16px;display:grid}.paving-actions .primary-button,.paving-actions .secondary-button{min-height:42px;padding:12px;font-size:13px}.paving-empty{text-align:center;background:#edf0de80;border:1px dashed #bac9ae;border-radius:14px;justify-items:center;gap:12px;padding:24px 18px;display:grid}.paving-empty>span{color:#c7984b;font-size:34px}.paving-empty b{font-size:16px}.paving-empty p{max-width:260px;color:var(--muted);font-size:13px;line-height:1.65}.paving-gallery{grid-template-columns:repeat(4,1fr);gap:8px;max-height:220px;margin-top:20px;display:grid;overflow:auto}.paving-gallery button{background:0 0;border:1px solid #0000;border-radius:7px;min-width:0;padding:4px}.paving-gallery button[aria-pressed=true]{background:#f0e6cc;border-color:#ba9966}.paving-gallery svg{width:100%;display:block}.paving-gallery span{white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11px;display:block;overflow:hidden}.paving-status{color:#2d7771;margin-top:12px;font-size:12px;line-height:1.5}.paving-status:empty{display:none}.paving-status.error{color:#a24e36}.paving-editor-head{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;display:flex}.paving-back{background:0 0;padding:4px 0;font-size:13px}.drawing-colors{justify-content:space-between;gap:4px;margin-bottom:10px;display:flex}.drawing-colors button{background:0 0;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:34px;height:34px;padding:4px;position:relative}.drawing-colors button:before{content:"";background:var(--paint);border-radius:50%;width:100%;height:100%;display:block;box-shadow:inset 0 0 0 1px #234f5015}.drawing-colors button[aria-pressed=true]{border-color:var(--ink)}.drawing-tools{justify-content:space-between;align-items:center;gap:8px;margin:0 0 14px;display:flex}.drawing-brushes,.drawing-history{align-items:center;gap:3px;display:flex}.drawing-tools button{background:0 0;border-radius:9px;place-items:center;min-width:36px;height:36px;display:grid}.drawing-tools button[aria-pressed=true]{color:#216e67;background:#dceade}.drawing-brushes span{background:currentColor;border-radius:50%;display:block}.drawing-tools svg{width:20px;height:20px}.drawing-history button{font-size:24px}.drawing-history [data-clear]{padding:0 8px;font-size:13px}.drawing-canvas{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:#fffaf0;border-radius:4px;width:min(100%,48dvh,440px);height:auto;margin:0 auto;display:block;box-shadow:0 0 0 1px #a6b59b80,0 6px 20px #354a3910}.drawing-canvas[aria-disabled=true]{cursor:wait}.drawing-canvas:focus-visible{outline-offset:4px;outline:2px solid #7b9c90}.paving-legacy{text-align:center;border:1px dashed #bac9ae;border-radius:12px;padding:28px 16px}.paving-legacy span{color:var(--muted);margin-top:8px;font-size:13px;display:block}.paving-legacy-thumb{padding:24px 0}@media (width<=420px){.paving-preview{width:min(100%,260px)}.paving-byline{flex-wrap:wrap;gap:3px}.drawing-colors{gap:0}.drawing-colors button{width:29px;height:32px;padding:3px}.drawing-tools button{min-width:32px}}@media (width<=360px){.drawing-colors{grid-template-columns:repeat(5,1fr);row-gap:4px;display:grid}.drawing-colors button{justify-self:center;width:36px}.drawing-tools{gap:3px}.drawing-tools button{min-width:29px}}.paving-postcard{margin:0 0 12px}.boat-outfits{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.boat-outfit{border:1px solid var(--line);background:#f3f1df;border-radius:14px;flex-direction:column;min-width:0;padding:16px;display:flex}.boat-outfit.is-fitted{background:#e0eee2;border-color:#79a69a}.boat-outfit header{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:12px;display:flex}.boat-outfit h3{font:600 16px/1.3 DM Sans,sans-serif}.outfit-badge{background:#287a7612;border-radius:5px;padding:3px 6px;font-size:11px;font-weight:600}.boat-outfit p{font-size:13px;line-height:1.45}.outfit-refit{background:var(--teal);width:100%;min-height:40px;color:var(--cream);border-radius:9px;justify-content:center;align-items:center;gap:5px;padding:9px 8px;font-size:13px;font-weight:600;display:flex}.is-fitted .outfit-refit{color:var(--teal);opacity:1;background:0 0}.outfit-refit .icon{width:17px;height:17px}.outfit-note{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.5}@media (width<=420px){.boat-outfits{gap:8px}.boat-outfit{padding:12px}}:root{--hairline:#1f474417;--hairline-strong:#1f474426;--gold-ink:#9a7330;--ink-soft:#3d605c;--glass:#fffbf2d6;--glass-edge:#ffffff80;--blur:blur(18px) saturate(1.5);--sheen:linear-gradient(180deg, #ffffff5c, #fff0 58%);--bar-height:54px;--bar-gap:14px;--float-shadow:0 1px 1px #08323a0f, 0 6px 14px -4px #08323a26, 0 18px 40px -18px #08323a4d}@media (hover:none) and (pointer:coarse){:root{--glass:#fffbf2f0;--blur:none}}.topbar-start{box-shadow:var(--float-shadow)}.place-mark,.bar-button,.resources{background:linear-gradient(#0c3d48cc,#0a3039bf);box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 1px #ffffff14}.bar-button .icon{stroke-width:1.6px}@media (hover:hover){.bar-button:hover{background-image:linear-gradient(#ffffff21,#ffffff21),linear-gradient(#0c3d48cc,#0a3039bf)}}.bar-button:is(:focus-visible,[aria-expanded=true]){background-image:linear-gradient(#ffffff29,#ffffff29),linear-gradient(#0c3d48cc,#0a3039bf)}.place-mark #location-name{letter-spacing:.01em}.place-mark small{letter-spacing:.08em;text-transform:uppercase;color:#cfe2dcd9;font-weight:500}.resource b{letter-spacing:0;color:var(--cream)}.resource .icon{stroke-width:1.6px}.captain-button{background:radial-gradient(circle at 50% 35%,#ffffff2e,#ffffff0d 70%);box-shadow:inset 0 0 0 1px #ffffff26}.captain-avatar{box-shadow:inset 0 0 0 1.5px #ffffff4d,0 1px 2px #08323a33}@media (width>=701px) and (height>=521px){.place-mark{gap:11px;padding:4px 16px 4px 4px}.place-mark #location-name{font-size:21px}.place-mark small{margin-top:1px;font-size:10.5px}.resource{grid-template-columns:15px auto;gap:7px;min-height:28px;padding:0 12px 0 10px}.resource b{font-size:13.5px;font-weight:600}.resource .icon{width:15px;height:15px}.captain-button{width:40px;height:40px}.captain-avatar{width:32px;height:32px;font-size:14px}}.actions,.context-action,#toast{background-color:var(--glass);background-image:var(--sheen)}.actions,.context-action{box-shadow:inset 0 0 0 1px var(--glass-edge), var(--float-shadow)}.hud .action{max-width:140px;transition:max-width .32s var(--ease), padding .32s var(--ease), opacity .2s ease, background .15s, visibility 0s}.hud .action.is-collapsed{opacity:0;visibility:hidden;pointer-events:none;transition:max-width .32s var(--ease), padding .32s var(--ease), opacity .16s ease, visibility 0s .32s;overflow:hidden;min-width:0!important;max-width:0!important;margin-inline:0!important;padding-inline:0!important}@media (width>=701px) and (height>=521px){.actions{border-radius:999px;align-items:center;gap:3px;padding:5px}.actions>.ship-status{order:0}.actions>.ship-divider{order:1}#fish-button{order:2}#fire-button{order:3}#harbour-button{order:5}.actions>.action-divider:not(.ship-divider){order:6}#map-button{order:7}#photo-button{order:10}.action-divider{background:var(--hairline-strong);align-self:center;height:22px;margin:0 6px}.action{min-width:0;height:44px;color:var(--ink);border-radius:999px;flex-direction:row;gap:8px;padding:0 16px 0 13px}.action span{letter-spacing:.005em;color:var(--ink);white-space:nowrap;font-size:13px;font-weight:600}.action .icon{stroke-width:1.55px;width:21px;height:21px}.action:not(:disabled):hover{background:#1f474410}@media (hover:hover){.action:not(:disabled):hover .icon{transform:none}}#map-button,#photo-button{width:44px;color:var(--ink-soft);border-radius:50%;justify-content:center;padding:0}:is(#map-button,#photo-button) span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.action[aria-expanded=true],.action[aria-expanded=true]:not(:disabled):hover,:is(#map-button,#photo-button)[aria-expanded=true]{background:var(--teal-deep);color:var(--cream);box-shadow:0 4px 12px -4px #1c5c5999}.actions #fire-button:not(.is-armed){opacity:0;visibility:hidden;pointer-events:none;min-width:0;max-width:0;transition:max-width .32s var(--ease), padding .32s var(--ease), opacity .16s ease, visibility 0s .32s;padding-inline:0;overflow:hidden}#fire-button{color:var(--glass-coral)}#fire-button span{color:#9e3d32}.ship-status{gap:7px;width:auto;min-width:148px;padding:2px 12px 2px 16px}.ship-status>div:first-child{letter-spacing:.01em;align-items:baseline;gap:12px;font-size:12.5px}.ship-status small{color:var(--ink-soft);font-size:12.5px;font-weight:600}.health{background:var(--glass-wash);height:3px}.ship-status[hidden]+.ship-divider{display:none}.context-action{bottom:calc(var(--bottom) + var(--bar-height) + var(--bar-gap))}.fishing{bottom:calc(24px + env(safe-area-inset-bottom,0px) + var(--bar-height) + var(--bar-gap))}}@media (width>=701px) and (height>=521px) and (width<=1100px){.fishing{bottom:calc(18px + env(safe-area-inset-bottom,0px) + var(--bar-height) + var(--bar-gap))}}@media (width<=700px),(height<=520px) and (orientation:landscape){.actions{box-shadow:inset 0 1px 0 #ffffffa6, 0 -1px 0 var(--hairline), 0 -10px 30px -18px #08323a59}.actions #fire-button:not(.is-armed){display:none}.action span{color:var(--ink-soft);font-size:10.5px;font-weight:600}.action .icon{stroke-width:1.55px}.action[aria-expanded=true],.action[aria-expanded=true]:not(:disabled):hover{color:var(--teal-deep);background:#287a761f}.action[aria-expanded=true] span{color:var(--teal-deep)}}@media (hover:none) and (pointer:coarse){.thumb-actions #fire-button:not(.is-armed):not(.is-ready){background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow-sm);color:#b3473a}.thumb-actions #fire-button:not(.is-armed):not(.is-ready) span{color:#9e3d32}#fire-button{transition:background .3s,box-shadow .3s,color .3s}}.context-action{gap:11px;min-height:44px;padding:6px 20px 6px 6px;font-size:14px}.context-action kbd{min-width:30px;height:30px;color:var(--teal-deep);background:linear-gradient(#fff,#efeadb);border-radius:9px;padding:0 7px;font-size:12px;font-weight:600;box-shadow:0 0 0 1px #1f474424,inset 0 -2px #d9d6c2,0 1px 2px #1f474426}.context-action b{color:var(--ink);font-weight:600}.context-action small{letter-spacing:.01em;color:var(--glass-accent);font:500 16px/1 Cormorant Garamond,serif}.context-action small:not(:empty):before{content:"·";color:#1f474466;margin:0 7px;font-family:DM Sans,sans-serif}.context-action:not([aria-disabled=true]):hover{background-color:#fffcf4f2}.context-action[aria-disabled=true] kbd{color:var(--muted);background:#ece8da}@media (hover:none) and (pointer:coarse){.context-action kbd{background:linear-gradient(180deg, #2f8781, var(--teal-deep));color:var(--cream);border-radius:50%;font-size:0;box-shadow:0 2px 6px -2px #1c5c5999}.context-action small{color:var(--glass-accent);font-size:15px}.context-action small:not(:empty):before{content:none}}#toast{color:var(--ink);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--float-shadow);border-radius:16px;padding:11px 20px;font-size:13.5px;font-weight:500}@media (width>=701px) and (height>=521px){#toast{bottom:calc(env(safe-area-inset-bottom,0px) + 24px + var(--bar-height) + 22px)}#app:has(#context-button:not([hidden])) #toast{bottom:calc(env(safe-area-inset-bottom,0px) + 24px + var(--bar-height) + var(--bar-gap) + 44px + 10px)}}@media (width>=701px) and (height>=521px) and (width<=1100px){#toast{bottom:calc(env(safe-area-inset-bottom,0px) + 18px + var(--bar-height) + 22px)}#app:has(#context-button:not([hidden])) #toast{bottom:calc(env(safe-area-inset-bottom,0px) + 18px + var(--bar-height) + var(--bar-gap) + 44px + 10px)}}#app:has(#panel:not([hidden])) #toast{top:calc(env(safe-area-inset-top,0px) + 14px);bottom:auto}.hud-more{letter-spacing:.02em;background:#0b3a45bf;padding:4px 12px}.badge-text{background-color:var(--glass);background-image:var(--sheen);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--float-shadow);color:var(--ink);text-shadow:none;border-radius:16px;gap:1px;padding:10px 20px 12px}.badge-text small{color:var(--gold-ink)}.badge-text b{color:var(--ink);font-weight:500}.badge-text em{color:var(--muted);opacity:1}@property --glass-tint{syntax:"<color>";inherits:true;initial-value:#fffbf2d6}@property --glass-rim{syntax:"<color>";inherits:true;initial-value:#ffffff80}@property --glass-gloss{syntax:"<color>";inherits:true;initial-value:#ffffff5c}@property --glass-ink{syntax:"<color>";inherits:true;initial-value:#1f4744}@property --glass-ink-soft{syntax:"<color>";inherits:true;initial-value:#3d605c}@property --glass-muted{syntax:"<color>";inherits:true;initial-value:#526d67}@property --glass-line{syntax:"<color>";inherits:true;initial-value:#1f474417}@property --glass-line-strong{syntax:"<color>";inherits:true;initial-value:#1f474426}@property --glass-wash{syntax:"<color>";inherits:true;initial-value:#1f474414}@property --glass-gold{syntax:"<color>";inherits:true;initial-value:#9a7330}@property --glass-accent{syntax:"<color>";inherits:true;initial-value:#1c5c59}@property --glass-coin{syntax:"<color>";inherits:true;initial-value:#b8872a}@property --glass-star{syntax:"<color>";inherits:true;initial-value:#c27a3d}@property --glass-coral{syntax:"<color>";inherits:true;initial-value:#b3473a}:root{transition-property:--glass-tint,--glass-rim,--glass-gloss,--glass-ink,--glass-ink-soft,--glass-muted,--glass-line,--glass-line-strong,--glass-wash,--glass-gold,--glass-accent,--glass-coin,--glass-star,--glass-coral;transition-duration:1.5s;transition-timing-function:ease-in-out}:root:is([data-daylight=twilight],[data-daylight=night]){--glass-tint:#25525ade;--glass-rim:#d9f1eb40;--glass-gloss:#ffffff1f;--glass-ink:#f6efe0;--glass-ink-soft:#d3e4de;--glass-muted:#b9d1ca;--glass-line:#e6f4ee1f;--glass-line-strong:#e6f4ee33;--glass-wash:#ffffff1a;--glass-gold:#ebc67e;--glass-accent:#9edbd0;--glass-coin:#e9bd5e;--glass-star:#f0a978;--glass-coral:#f9b49c}:root[data-daylight=night]{--glass-tint:#17424ade;--glass-rim:#cfe8e238;--glass-gloss:#ffffff14}@media (hover:none) and (pointer:coarse){:root{--glass-tint:#fffbf2f0}:root[data-daylight=twilight]{--glass-tint:#25525af2}:root[data-daylight=night]{--glass-tint:#17424af2}}:where(.actions,.context-action,.mobile-controls,#toast,.badge-text,.powerup-effect,.objective-banner,.onboarding-banner,.account-banner,.logbook-notice,.news-banner,.recap-banner,.social-banner,.bounty-banner){--glass:var(--glass-tint);--glass-edge:var(--glass-rim);--sheen:linear-gradient(180deg, var(--glass-gloss), #fff0 58%);--ink:var(--glass-ink);--ink-soft:var(--glass-ink-soft);--muted:var(--glass-muted);--hairline:var(--glass-line);--hairline-strong:var(--glass-line-strong);--gold-ink:var(--glass-gold)}:root:is([data-daylight=twilight],[data-daylight=night]) :is(.action:not(:disabled):hover,.objective-close:hover,.onboarding-skip:hover,.emote-menu button:hover,.objective-progress,.bounty-health){background:var(--glass-wash)}:root:is([data-daylight=twilight],[data-daylight=night]) .move-stick{color:var(--glass-accent)}:root:is([data-daylight=twilight],[data-daylight=night]) :is(#fire-button span,.thumb-actions #fire-button:not(.is-armed,.is-ready),.thumb-actions #fire-button:not(.is-armed,.is-ready) span,.hud.wind-foul .ship-status .wind-arrow){color:var(--glass-coral)}:root:is([data-daylight=twilight],[data-daylight=night]) .hud.wind-fair .ship-status .wind-arrow{color:var(--glass-coin)}:root:is([data-daylight=twilight],[data-daylight=night]) .objective-reward{color:var(--glass-gold)}:root:is([data-daylight=twilight],[data-daylight=night]) .onboarding-text span{color:var(--glass-ink-soft)}:root:is([data-daylight=twilight],[data-daylight=night]) .onboarding-dots li:not(.is-done,.is-current){background:var(--glass-line-strong)}:root:is([data-daylight=twilight],[data-daylight=night]) .context-action small:not(:empty):before{color:var(--glass-muted)}:root:is([data-daylight=twilight],[data-daylight=night]) .context-action:not([aria-disabled=true]):hover{background-color:var(--glass-tint)}@media (width<=700px),(height<=520px) and (orientation:landscape){:root:is([data-daylight=twilight],[data-daylight=night]) .actions{box-shadow:inset 0 1px 0 var(--glass-line-strong), 0 -1px 0 var(--hairline), 0 -10px 30px -18px #08323a59}:root:is([data-daylight=twilight],[data-daylight=night]) .action[aria-expanded=true]{background:var(--glass-wash);color:var(--glass-accent)}:root:is([data-daylight=twilight],[data-daylight=night]) .action[aria-expanded=true] span{color:var(--glass-accent)}}.scene-veil{--mist:#f4efe2;--mist-light:#fffcf4;--mist-shade:#ddd6c2;pointer-events:none;opacity:0;visibility:hidden;background:radial-gradient(130% 100% at 50% 45%, #fff0 45%, color-mix(in srgb, var(--mist-shade) 70%, transparent)), color-mix(in srgb, var(--mist) 80%, transparent);-webkit-backdrop-filter:blur(10px)saturate(.7);backdrop-filter:blur(10px)saturate(.7);transition:opacity .9s cubic-bezier(.4,0,.2,1),visibility 0s .9s;position:absolute;inset:0;overflow:hidden}.scene-veil.is-covering{opacity:1;visibility:visible;transition:opacity .16s ease-out,visibility}.scene-veil.is-lifting{visibility:visible}.scene-veil:before,.scene-veil:after{content:"";background:radial-gradient(24% 18% at 24% 34%, var(--mist-light), #fff0 72%), radial-gradient(30% 20% at 68% 58%, var(--mist-light), #fff0 72%), radial-gradient(22% 16% at 42% 78%, var(--mist-light), #fff0 72%), radial-gradient(26% 18% at 80% 22%, var(--mist-light), #fff0 72%);transition:transform 1.1s cubic-bezier(.2,.7,.3,1),opacity .9s ease-out;position:absolute;inset:-30%}.scene-veil:after{background:radial-gradient(28% 16% at 36% 52%, color-mix(in srgb, var(--mist-shade) 70%, transparent), #fff0 72%), radial-gradient(22% 14% at 72% 36%, color-mix(in srgb, var(--mist-shade) 60%, transparent), #fff0 72%), radial-gradient(26% 16% at 58% 84%, var(--mist-light), #fff0 72%)}.scene-veil:is(.is-covering,.is-lifting):before{animation:5s ease-in-out infinite alternate mist-drift}.scene-veil:is(.is-covering,.is-lifting):after{animation:7s ease-in-out -2s infinite alternate-reverse mist-drift}.scene-veil.is-lifting:before{opacity:0;transform:scale(1.22)translateY(-5%)}.scene-veil.is-lifting:after{opacity:0;transform:scale(1.14)translateY(4%)}@keyframes mist-drift{0%{translate:-3% 1%}to{translate:4% -2%}}:root:is([data-daylight=twilight],[data-daylight=night]) .scene-veil{--mist:#34565d;--mist-light:#4f7176;--mist-shade:#1b3a41}@media (hover:none) and (pointer:coarse){.scene-veil{background:radial-gradient(130% 100% at 50% 45%, #fff0 45%, color-mix(in srgb, var(--mist-shade) 70%, transparent)), color-mix(in srgb, var(--mist) 90%, transparent);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.scene-veil{transition:opacity .25s ease-out,visibility 0s .25s!important}.scene-veil.is-covering{transition:opacity .12s ease-out,visibility!important}.scene-veil:before,.scene-veil:after{content:none}}.panel{--panel-pad:30px;background-color:#fcf7ea;background-image:radial-gradient(130% 70% at 50% 0,#fffdf7 0%,#fffdf700 62%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .28 0 0 0 0 .27 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");border-radius:28px;box-shadow:inset 0 0 0 1px #ffffffc7,0 0 0 1px #1f474412,0 2px 8px #06283014,0 40px 80px -24px #06283080}#panel-shade{background:radial-gradient(120% 90% at 50% 45%,#06303a40,#06303a99)}.panel-head{margin-bottom:18px}.panel-head h2{letter-spacing:-.005em;color:#1c4441;font-size:35px}.panel-head .eyebrow{color:var(--gold-ink);letter-spacing:.17em;margin-bottom:4px;font-size:10.5px}.close-button,.back-button{width:38px;height:38px;box-shadow:inset 0 0 0 1px var(--hairline-strong);background:0 0}.close-button:hover,.back-button:hover{background:#1f47440d}.panel-body{scrollbar-color:#d4d2bd transparent}:is(.panel.is-scrolled>.panel-tabs,.panel.is-scrolled:not(:has(>.panel-tabs))>.panel-head){box-shadow:0 14px 14px -14px #0b3a4526}.panel-tabs{box-shadow:inset 0 -1px 0 var(--hairline-strong);background:0 0;border-radius:0;gap:0;margin:-6px 0 18px;padding:0}.panel.is-scrolled>.panel-tabs{box-shadow:inset 0 -1px 0 var(--hairline-strong), 0 14px 14px -14px #0b3a4526}.panel-tabs button{min-height:54px;color:var(--muted);border-radius:12px 12px 0 0;padding:6px 4px 10px;position:relative}.panel-tabs button:after{content:"";height:2px;transition:background .2s, left .25s var(--ease), right .25s var(--ease);background:0 0;border-radius:2px;position:absolute;bottom:0;left:30%;right:30%}.panel-tabs button:hover{color:var(--ink);background:#1f474408}.panel-tabs button[aria-current=page]{box-shadow:none;color:var(--ink);background:0 0}.panel-tabs button[aria-current=page]:after{background:var(--teal);left:16%;right:16%}.panel-tabs .icon{stroke-width:1.5px}.shipyard-switch{gap:6px;margin:0 0 20px}.shipyard-switch button{min-height:32px;box-shadow:inset 0 0 0 1px var(--hairline-strong);color:var(--ink-soft);background:#fffdf8;padding:6px 14px}.shipyard-switch button[aria-pressed=true]{background:var(--teal-deep);color:var(--cream);box-shadow:0 3px 10px -4px #1c5c5999}.primary-button{letter-spacing:.01em;background:linear-gradient(#2e8a83,#1b5a57);border-radius:15px;min-height:52px;font-size:15px;box-shadow:inset 0 1px #ffffff2e,0 1px 2px #0b3a4540,0 12px 24px -12px #1c5c59cc}.primary-button:not(:disabled):hover{background:linear-gradient(#2a817a,#17504d)}.secondary-button{box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 1px 2px #1f47440d;background:#fffdf8}.secondary-button:not(:disabled):hover{background:#f8f3e5}.panel .primary-button,.panel .secondary-button{border-radius:15px}.panel :is(.adventure-card,.delivery-offer,.delivery-active){border:1px solid var(--hairline-strong);background:#fffdf8;border-radius:20px;padding:18px;box-shadow:0 1px 2px #1f47440a,0 12px 28px -20px #1f474466}.panel .adventure-card.is-pinned{border-color:#9cc1b5;box-shadow:inset 0 0 0 1px #9cc1b566,0 12px 28px -20px #1f474466}.panel :is(.delivery-offer,.delivery-active).is-hot{background:linear-gradient(#fff9ea,#fdf3db);border-color:#e8cf98}.panel .voyage-card-heading h3,.panel .delivery-offer h3{letter-spacing:.005em;color:#1c4441;font:500 22px/1.15 Cormorant Garamond,serif}.panel .voyage-card-heading small,.panel .delivery-offer-top small{letter-spacing:.09em;text-transform:uppercase;font-size:10.5px;font-weight:600}.panel .voyage-seal{width:44px;height:44px;box-shadow:inset 0 0 0 1px #1f47440f}.panel .voyage-reward{color:var(--gold-ink);font:500 28px/1 Cormorant Garamond,serif}.panel .adventure-detail b{color:var(--gold-ink)}.panel .adventure-list{gap:12px}.section-label{letter-spacing:.15em;color:#6f857f;margin:30px 0 12px;font-size:10.5px}.panel-body>.section-label:first-child{margin-top:6px}.panel-note{line-height:1.6}.panel .rank-card .eyebrow{color:var(--gold-ink);letter-spacing:.17em;font-size:10.5px}.panel .rank-progress{height:6px;box-shadow:none;background:#1f474414}.panel .rank-allowance{box-shadow:inset 0 0 0 1px var(--hairline);background:#fffdf8;border-radius:12px}.panel .collection-tab{box-shadow:inset 0 0 0 1px var(--hairline-strong);background:#fffdf8;border-radius:14px}.panel .collection-tab[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--teal), 0 8px 18px -12px #1f474466;background:#fff}.harbour-purse{margin:-4px 0 10px}.harbour-purse span{box-shadow:inset 0 0 0 1px var(--hairline);color:var(--gold-ink);background:#fffdf8;border-radius:999px;padding:4px 11px 4px 8px;font-size:12.5px;font-weight:600}.harbour-purse .icon{color:#b8872a}.harbour-welcome{gap:16px;margin-top:4px}.harbour-welcome>.icon{box-sizing:content-box;width:26px;height:26px;color:var(--teal-deep);background:linear-gradient(#e3efe4,#d2e4d6);border-radius:50%;padding:11px;box-shadow:inset 0 0 0 1px #1f474412}.harbour-welcome span{letter-spacing:.005em;color:#1c4441;font:500 25px/1.12 Cormorant Garamond,serif;display:block}.harbour-welcome p{margin-top:4px;font-size:13px}.harbour-actions{gap:10px;margin-top:22px}.harbour-actions+.harbour-actions{margin-top:10px}.harbour-actions .primary-button{min-height:56px;font-size:16px}.activity-row{border-bottom-color:var(--hairline)}.shortcut-grid{gap:0 28px}.shortcut-item{min-height:46px;box-shadow:inset 0 -1px 0 var(--hairline);color:var(--ink);background:0 0;border-radius:0;padding:10px 2px;font-size:13.5px}.panel kbd,.shortcut-item kbd{color:var(--ink-soft);background:linear-gradient(#fff,#f1ecdd);border-radius:7px;padding:3px 8px;font-size:11px;box-shadow:0 0 0 1px #1f474421,inset 0 -1.5px #ddd9c5}.shortcut-grid.is-touch{gap:0}.shortcut-grid.is-touch .shortcut-item{box-shadow:inset 0 -1px 0 var(--hairline);gap:3px;padding:12px 2px}.shortcut-grid.is-touch .shortcut-item span{font-size:14px}.settings-list{display:grid}.setting-row{width:100%;min-height:58px;box-shadow:inset 0 -1px 0 var(--hairline);color:var(--ink);text-align:left;background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 2px;font-size:14px;display:flex}.setting-name{gap:2px;min-width:0;font-weight:600;display:grid}.setting-name small{color:var(--muted);font-size:12.5px;font-weight:400;line-height:1.4}button.setting-row:not(:disabled):hover{background:#1f474408}button.setting-row:not(:disabled):active{translate:none}button.setting-row:focus-visible{outline-offset:-2px;border-radius:10px}.setting-row .help-language{box-shadow:inset 0 0 0 1px var(--hairline-strong);background:#fffdf8;flex-shrink:0}.setting-link>.icon{width:18px;height:18px;color:var(--teal)}.switch-track{background:var(--line-strong);border-radius:999px;flex-shrink:0;width:40px;height:24px;transition:background .2s;position:relative}.switch-track i{width:18px;height:18px;transition:transform .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #1f474440}.setting-switch[aria-checked=true] .switch-track{background:var(--teal)}.setting-switch[aria-checked=true] .switch-track i{transform:translate(16px)}.settings-links{gap:18px;margin-top:18px;font-size:12.5px;display:flex}.settings-links a{white-space:nowrap;text-decoration:none}.settings-links a:hover{text-decoration:underline}@media (width<=700px){.panel{--panel-pad:20px;border-radius:26px}.panel-head h2{font-size:30px}.panel-tabs button{min-height:52px;padding-bottom:9px}.shortcut-item{flex-direction:row;align-items:center;padding:10px 2px}.harbour-welcome span{font-size:22px}.harbour-welcome>.icon{width:22px;height:22px;padding:10px}.panel .voyage-card-heading h3,.panel .delivery-offer h3{font-size:20px}}@media (height<=520px) and (orientation:landscape){.panel{--panel-pad:18px}.panel-head h2{font-size:26px}.panel-tabs{margin:-2px 0 12px}.panel-tabs button{border-radius:10px 10px 0 0;min-height:42px;padding:4px 6px 8px}.panel-tabs button:after{left:12%;right:12%}}.identity{background:radial-gradient(80% 60% at 50% 38%,#0a3d4800,#06303a8c 100%),linear-gradient(#06303a33 0%,#06303a1a 40%,#04232bcc 100%);padding:32px 16px}.identity-form{background-color:#fcf7ea;background-image:radial-gradient(120% 60% at 50% 0,#fffdf7 0%,#fffdf700 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .28 0 0 0 0 .27 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");border-radius:30px;width:min(410px,100%);margin-top:52px;padding:64px 34px 26px;position:relative;box-shadow:inset 0 0 0 1px #ffffffc7,0 0 0 1px #1f474412,0 2px 8px #06283014,0 50px 90px -30px #04222acc}.identity-heading{gap:0;margin-bottom:16px}.identity-heading img{width:104px;height:104px;animation:medallion-in .7s var(--ease) .1s both;background:radial-gradient(circle at 50% 30%,#fffdf6,#efe7d1);border-radius:50%;padding:9px;position:absolute;top:-52px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #1f474414,0 0 0 7px #fffbf266,0 18px 34px -12px #04222a99}@keyframes medallion-in{0%{opacity:0;transform:translate(-50%,8px)scale(.92)}}.identity-eyebrow{color:var(--gold-ink);letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px;font-size:10.5px;font-weight:600;display:block}.identity h1{color:#1c4441;font-size:min(42px,11vw)}.identity-heading p{color:#5d7771;margin-top:4px;font:italic 500 19px/1.3 Cormorant Garamond,serif}.identity-heading .identity-online{margin-top:4px;font-size:12px}.identity label,.identity legend{color:#5f7a74;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:10.5px;font-weight:600}#player-name{height:52px;box-shadow:inset 0 0 0 1px var(--hairline-strong), inset 0 1px 2px #1f47440d;background:#fffdf8;border-radius:15px;padding:12px 18px;font-size:16px}#player-name::placeholder{color:#9aaba5}#player-name:focus-visible{box-shadow:inset 0 0 0 1.5px var(--teal), 0 0 0 4px #287a761f}.identity fieldset{margin:24px 0 30px}.colour-options{gap:6px;padding:4px 3px}.colour-options span{border:0;width:36px;height:36px;position:relative;box-shadow:inset 0 0 0 1px #0000001a,inset 0 -3px #00000014,0 1px 3px #1f474433}.colour-options span:after{content:"";background:var(--swatch-ink,#fffaf0e6);position:absolute;inset:8px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.5 2.5 12.5 16 5 16Z'/%3E%3Cpath d='M13.6 6.5 13.6 16 19 16Z' opacity='.75'/%3E%3Cpath d='M3 17.5h18l-2.6 3.5H5.6Z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.5 2.5 12.5 16 5 16Z'/%3E%3Cpath d='M13.6 6.5 13.6 16 19 16Z' opacity='.75'/%3E%3Cpath d='M3 17.5h18l-2.6 3.5H5.6Z'/%3E%3C/svg%3E") 50%/contain no-repeat}.colour-options label:hover span{transform:translateY(-2px)}.colour-options input:checked+span{box-shadow:0 0 0 2.5px #fffdf8, 0 0 0 4.5px var(--teal-deep), 0 10px 18px -8px #1f474499;transform:translateY(-2px)scale(1.04)}.identity .primary-button{min-height:50px;font-size:16px}.identity-link{font-size:13px}.identity-footer{border-top-color:var(--hairline);margin:10px -34px -8px;padding-top:10px}.saved-captain{box-shadow:inset 0 0 0 1px var(--hairline-strong);background:#fffdf8;border-radius:18px;padding:10px 14px}.saved-colour{background:#f4efe1}@media (width<=440px){.identity-form{padding:60px 24px 22px}.identity-form .identity-footer{margin-inline:-24px}.colour-options{gap:4px}.colour-options label{flex:0 auto;min-width:0}.colour-options span{width:min(34px,8.4vw);height:min(34px,8.4vw)}.colour-options span:after{inset:22%}}@media (width<=370px){.identity-form{padding:58px 18px 20px}.identity-form .identity-footer{margin-inline:-18px}}@media (height<=520px) and (orientation:landscape){.identity-form{margin-top:0;padding:16px 24px}.identity-heading{margin-bottom:12px}.identity-heading img{width:52px;height:52px;padding:5px;animation:none;position:static;transform:none}.identity-eyebrow{display:none}.identity h1{font-size:28px}.identity-heading p{margin-top:2px;font-size:16px}.identity label,.identity legend{margin-bottom:6px}#player-name{height:44px}.identity fieldset{margin:12px 0 14px}.colour-options span{width:30px;height:30px}.identity .primary-button{min-height:46px}.identity-signin{min-height:36px;margin-top:4px}.identity-footer{margin:8px -24px -6px;padding-top:8px}}@media (prefers-reduced-motion:reduce){.identity-heading img{animation:none}}.chat-window,.chat-feed{left:calc(var(--edge) + env(safe-area-inset-left,0px));bottom:calc(var(--bottom) + var(--bar-height) + var(--bar-gap));z-index:25;width:min(380px,50vw - 150px);position:fixed}.chat-window{pointer-events:auto;height:min(440px, calc(var(--app-height,100dvh) - var(--top) - var(--bottom) - var(--bar-height) - var(--bar-gap) - 72px));-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1f, inset 0 1px 0 #ffffff14, var(--float-shadow);color:#f3efe3;background:linear-gradient(#0c3d48eb,#0a3039e0);border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.chat-window[hidden]{display:none}.chat-window:not([hidden]){animation:chat-rise .25s var(--ease) both}@keyframes chat-rise{0%{opacity:0;transform:translateY(8px)}}.chat-head{border-bottom:1px solid #ffffff14;align-items:center;gap:6px;padding:10px 10px 9px 12px;display:flex;container-type:inline-size}.chat-channels{scrollbar-width:none;flex:1;gap:4px;min-width:0;margin:-5px;padding:5px;display:flex;overflow-x:auto}.chat-channels button,.chat-tools button{color:#cfe2dc;white-space:nowrap;background:0 0;border-radius:999px;align-items:center;gap:6px;height:30px;padding:0 12px;font-size:13px;font-weight:600;display:flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff26}.chat-channels button:hover,.chat-tools button:hover{background:#ffffff12}.chat-channels button[aria-pressed=true]{background:var(--cream);box-shadow:none;color:var(--teal-deep)}.chat-channels small{opacity:.75;font-size:12px;font-weight:600}.chat-channels small:empty{display:none}.chat-channels button.has-unread:after{content:"";background:var(--alert);border-radius:50%;width:7px;height:7px}.chat-tools{gap:4px;display:flex}.chat-channels>button:first-child{flex-shrink:0}.chat-channels>button{min-width:0}.chat-channels>button>span{text-overflow:ellipsis;overflow:hidden}.chat-head:is(:has(.chat-channels>:nth-child(2)),:has(.chat-tools>:not([hidden])~:not([hidden])~:not([hidden]))) .chat-tools button{justify-content:center;width:30px;padding:0}.chat-head:is(:has(.chat-channels>:nth-child(2)),:has(.chat-tools>:not([hidden])~:not([hidden])~:not([hidden]))) .chat-tools button>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@container (width<=310px){.chat-tools button{justify-content:center;width:30px;padding:0}.chat-tools button>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.chat-close{color:#cfe2dc;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.chat-close:hover{background:#ffffff14}.chat-close .icon{width:17px;height:17px}.chat-logs{flex-direction:column;flex:1;min-height:0;display:flex}.chat-log{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff30 transparent;flex-direction:column;flex:1;min-height:0;padding:8px 10px 6px;display:flex;overflow-y:auto}.chat-log[hidden]{display:none}.chat-log:empty:before{content:attr(data-empty);color:#cfe2dc80;text-align:center;margin:auto;padding:0 24px;font-size:13px}.chat-log .chat-line{overflow-wrap:anywhere;border-radius:8px;margin:0;padding:3px 8px;font-size:13.5px;line-height:1.45}.chat-log .chat-line+.chat-line{margin-top:2px}.chat-log>.chat-line:first-child{margin-top:auto}.chat-line time{float:right;color:#cfe2dc66;font-variant-numeric:tabular-nums;margin:1px 0 0 8px;font-size:11px}.chat-line.is-mention{box-shadow:inset 2px 0 0 var(--gold);background:#e8b95a24}.chat-line.is-system{color:#cfe2dcb3;font-style:italic}.chat-name{color:#fff;font:inherit;text-align:left;background:0 0;border-radius:4px;padding:0;font-weight:600;display:inline}.chat-name:before{content:"";background:var(--captain,var(--teal));vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}button.chat-name:hover{text-underline-offset:2px;text-decoration:underline}.chat-line.is-own .chat-name{color:#bfe6dd}.chat-tag{color:#f1cf86;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;background:#e8b95a33;border-radius:6px;margin-right:6px;padding:0 6px;font-size:10.5px;font-weight:600;display:inline-block}.chat-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chat-row[hidden],.chat-window>small[hidden]{display:none}.chat-row{gap:8px;padding:8px 10px 4px;display:flex}#chat-input{background:var(--cream);width:100%;min-width:0;height:42px;color:var(--ink);border:0;border-radius:999px;flex:1;padding:10px 16px;box-shadow:inset 0 0 0 1px #ffffff40}#chat-input:focus-visible{box-shadow:inset 0 0 0 2px var(--teal);outline:0}.chat-row button{background:var(--teal);width:42px;height:42px;color:var(--cream);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.chat-row button:hover{background:#2f8d88}.chat-window>small{color:#cfe2dc80;margin:2px 14px 10px;font-size:11px;display:block}.chat-window>small.is-waiting{color:#f1cf86;font-weight:600}.chat-feed{pointer-events:none;flex-direction:column;align-items:flex-start;gap:5px;display:flex}.chat-feed .chat-line{background:var(--glass-dark);max-width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:#f3efe3;overflow-wrap:anywhere;cursor:pointer;pointer-events:auto;border-radius:12px;margin:0;padding:6px 12px 7px;font-size:13.5px;line-height:1.38;animation:10s linear both chat-feed-line}.chat-feed .chat-line:nth-last-child(n+5){display:none}@keyframes chat-feed-line{0%{opacity:0;transform:translateY(6px)}3%{opacity:1;transform:none}82%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.chat-feed .chat-line{animation-name:chat-feed-line-still}@keyframes chat-feed-line-still{0%,82%{opacity:1}to{opacity:0}}}#app:has(.chat-window:not([hidden])) .chat-feed{display:none}#chat-button.has-unread:after{content:"";background:var(--alert);border-radius:50%;width:10px;height:10px;position:absolute;top:calc(50% - 15px);right:calc(50% - 15px);box-shadow:0 0 0 2px #0b3a45}#chat-button[aria-expanded=true]:after{display:none}#chat-bubbles{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.chat-bubble:after{translate:var(--tail,0px) 0}@media (hover:none) and (pointer:coarse){.chat-window{background:linear-gradient(#0c3d48f7,#0a3039f2)}.chat-window>small:not(.is-waiting){display:none}.chat-feed .chat-line{background:#0a323cdb}}@media (width<=700px),(height<=520px) and (orientation:landscape){.chat-window,.chat-feed{bottom:calc(var(--thumbs-top,calc(var(--dock) + 10px)) + 4px)}.chat-window{left:calc(8px + env(safe-area-inset-left,0px));right:calc(8px + env(safe-area-inset-right,0px));width:auto;height:clamp(120px, calc(var(--app-height,100dvh) - var(--thumbs-top,var(--dock)) - var(--top) - 76px), 360px);border-radius:20px}.chat-window:focus-within{bottom:calc(var(--dock) + 10px);height:clamp(120px, calc(var(--app-height,100dvh) - var(--dock) - var(--top) - 76px), 360px)}.chat-feed{left:calc(12px + env(safe-area-inset-left,0px));gap:4px;width:min(300px,100vw - 110px)}.chat-feed .chat-line{padding:5px 10px 6px;font-size:12.5px}.chat-feed .chat-line:nth-last-child(n+3){display:none}#chat-input{font-size:16px}}.festa-guests-aboard{background:#f3e2b5;border-bottom:0;border-radius:10px;margin:0 -10px;padding:11px 10px}.festa-guests-aboard .festa-count{color:#7a5a1c}.festa-guests-aboard small{margin-bottom:0}.map-festa-guests circle{fill:var(--festa,var(--gold));stroke:#fff8e8;stroke-width:1.5px}.festa-procession{margin-top:10px}.festa-procession .festa-offer-row{border-top:1px solid var(--line)}.map-procession-route{fill:none;stroke:#f2c230;stroke-width:calc(1.2px * var(--u,1));stroke-dasharray:calc(2px * var(--u,1)) calc(3px * var(--u,1));opacity:.85}.map-procession-ring{fill:#f2c2301f;stroke:#f2c230b3;stroke-width:calc(1px * var(--u,1))}.map-procession-boat{fill:var(--festa,#1f5fa8);stroke:#fff8e8;stroke-width:1.4px}.festa-banner,.race-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:var(--cream);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.festa-banner[hidden],.race-banner[hidden]{display:none}.festa-banner>div,.race-banner>div{flex:1;min-width:0}.festa-banner b,.race-banner b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.festa-banner small,.race-banner small{color:#e9f2eccc;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11.5px;display:block;overflow:hidden}.festa-banner .festa-seal,.race-banner .festa-seal{width:32px;height:32px;color:var(--cream);background:var(--festa,#287a76)}.race-banner .festa-seal{background:#d2403a}.festa-banner time,.race-banner time{font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:0 4px;font:600 17px/1 DM Sans,sans-serif}.festa-banner time:empty{display:none}.race-banner.racing time{color:var(--gold)}.race-banner-action{background:var(--cream);color:var(--ink);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:600}.festa-banner-close{color:#e9f2ecd9;background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;font-size:18px;line-height:1;display:grid}.festa-banner-close:hover{background:#ffffff26}.festa-banner-close.is-leave{letter-spacing:.01em;border-radius:999px;width:auto;padding:0 12px;font-size:12px;font-weight:600}.festa-seal{color:#fffaf0;background:var(--festa,var(--teal));border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.festa-seal .icon{width:20px;height:20px}.race-seal{background:#d2403a}.festa-eyebrow{color:var(--teal);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:600}.festa-card,.race-course,.race-next{background:#f5f1e2;border:1px solid #d9d6c2;border-radius:14px;padding:16px}.festa-card{border-top:4px solid var(--festa,var(--teal))}.race-course{margin-top:12px}.festa-card-head{align-items:center;gap:12px;display:flex}.festa-card-head>div{flex:1;min-width:0}.festa-card-head small{letter-spacing:.06em;color:var(--muted);text-transform:uppercase;font-size:11px}.festa-card-head h3{margin:3px 0 0;font:500 24px/1.15 Cormorant Garamond,serif}.festa-activity{color:#4f6962;margin:12px 0 4px;font-size:13px;line-height:1.6}.festa-note{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.6}.festa-note b{color:var(--ink);font-weight:600}.festa-yours{color:#7a5a1c}.festa-offers{gap:2px;margin-top:8px;display:grid}.festa-offer-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:11px 0;display:grid}.festa-offer-row b{font-size:14px;font-weight:600}.festa-offer-row small{color:var(--muted);margin:2px 0 7px;font-size:11.5px;display:block}.festa-count{font-variant-numeric:tabular-nums;color:#5b4f38;font-size:13px;font-weight:600}.festa-buttons{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.festa-buttons-wide{margin-top:12px}.festa-buttons .purchase{padding:8px 12px;font-size:12px}.festa-meter{background:#e2dcc6;border-radius:999px;height:6px;overflow:hidden}.festa-meter i{background:var(--festa,var(--teal));transform-origin:0;height:100%;display:block}.festa-wide{width:100%;min-height:44px;margin-top:14px;font-size:13px}.festa-calendar{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 18px;padding:0;list-style:none;display:grid}.festa-calendar li{min-width:0;box-shadow:inset 0 0 0 1px var(--line);background:#fffaf2;border-radius:12px;gap:1px;padding:8px 10px;font-size:13px;display:grid}.festa-calendar li.today{box-shadow:inset 0 0 0 1.5px var(--teal);background:#e5eddc}.festa-calendar span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.festa-calendar b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.festa-calendar small{color:#6b5d3c;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.festa-real>summary{cursor:pointer;list-style:none}.festa-real>summary::-webkit-details-marker{display:none}.festa-real>summary:after{content:" ›";color:var(--teal);font-weight:700}.festa-real[open]>summary:after{content:" ⌄"}.festa-real p{margin:6px 0 0}.festa-stamps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.festa-stamp{color:#8b9b88;text-align:center;border:1px dashed #cdd3c0;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;display:flex}.festa-stamp .festa-seal{background:#d7dccb;width:34px;height:34px}.festa-stamp b{font-size:12px;font-weight:600;line-height:1.25}.festa-stamp small{font-size:11px}.festa-stamp.attended{color:var(--ink);background:#f3efdf;border-style:solid}.festa-stamp.attended .festa-seal{background:var(--festa)}.race-next{background:#e8eedf;align-items:center;gap:12px;margin-bottom:4px;display:flex}.race-next.test{background:#f4e2d5;border-color:#e0c2a8}.race-next>div{flex:1;min-width:0}.race-next small{color:var(--muted);letter-spacing:.06em;font-size:11px;display:block}.race-next b{margin:2px 0;font-size:15px;display:block}.race-next span{color:#4f6962;font-size:12px}.race-next .primary-button{min-height:40px;padding:9px 18px;font-size:13px}.race-entered{color:#5b4310;background:#f3d08e;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.race-best{color:var(--muted);background:#fbf8ee;border-radius:10px;justify-content:space-between;align-items:baseline;margin:12px 0;padding:10px 12px;font-size:12px;display:flex}.race-best b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px}.race-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.race-actions button{min-height:42px;padding:10px 14px;font-size:13px}.race-rankings{width:100%;color:var(--teal-deep);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:8px 4px;font-size:12.5px;font-weight:600;display:flex}.race-rankings span{flex:1}.race-rankings .icon{width:15px;height:15px}@media (hover:hover){.race-rankings:hover{background:#1f47440d}}.paving-byline .paving-frame-badge{color:#4a3508;white-space:nowrap;background:linear-gradient(#f3d38a,#d9a93c);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600}.paving-gallery button.paving-framed svg{outline-offset:-3px;outline:3px solid #d9a93c}.map-festa-island{fill:none;stroke:var(--festa,var(--coral));stroke-width:calc(3px * var(--u,1));stroke-dasharray:calc(4px * var(--u,1)) calc(3px * var(--u,1));stroke-linecap:round;stroke-linejoin:round}.map-race-route{fill:none;stroke:#ffd27a;stroke-width:calc(1.4px * var(--u,1));stroke-dasharray:calc(4px * var(--u,1)) calc(4px * var(--u,1));opacity:.9}.map-race-gate{stroke:#fff8e8;stroke-width:calc(2.4px * var(--u,1));stroke-linecap:round}.map-race-gate.next{stroke:#ff7b3a;stroke-width:calc(4px * var(--u,1))}@media (width<=700px){.festa-banner,.race-banner{gap:8px;padding:5px 5px 5px 6px}.festa-banner .festa-seal,.race-banner .festa-seal{width:28px;height:28px}.festa-banner time,.race-banner time{font-size:15px}.festa-card,.race-course,.race-next{padding:13px}.festa-card-head h3{font-size:21px}.festa-calendar{gap:5px}.festa-calendar li{padding:7px 8px}.festa-stamps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.festa-stamp{padding:9px 4px}}.powerup-effects{right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));pointer-events:none;z-index:4;gap:8px;display:flex;position:absolute}.powerup-effect{--effect-well:var(--cream);--effect-ink:var(--effect-color);--effect-stroke:var(--ink);background:var(--sheen), var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--float-shadow);pointer-events:auto;border-radius:999px;align-items:center;gap:7px;padding:5px 12px 5px 5px;animation:.34s cubic-bezier(.2,1.5,.4,1) both powerup-effect-in;display:flex}.powerup-effect[data-type=rapid-fire]{--effect-well:#1d3b42;--effect-ink:#fff1c2;--effect-stroke:none}.powerup-effect[data-type=triple-broadside]{--effect-well:#e9f1f0;--effect-ink:#2c3a41;--effect-stroke:none}.powerup-effect[data-type=fair-wind]{--effect-well:#1d3b42;--effect-ink:#fffaf0;--effect-stroke:none}.powerup-effect[data-type=heavy-shot]{--effect-well:#e9f1f0;--effect-ink:#2c3a41;--effect-stroke:none}.powerup-effect[data-type=heavy-shot] .powerup-effect-streak{fill:#ffb347}.powerup-effect[data-type=smoke-pots]{--effect-well:#1d3b42;--effect-ink:#f4f6f2;--effect-stroke:none}.powerup-effect[data-type=copper]{--effect-well:#1d3b42;--effect-ink:#e08a4a;--effect-stroke:none}.powerup-effect[data-type=boathooks]{--effect-well:#e9f1f0;--effect-ink:#4f5d1c;--effect-stroke:none}.powerup-effect[data-type=santelmo]{--effect-well:#1d3b42;--effect-ink:#c4bbff;--effect-stroke:none}.powerup-effect[data-type=whale-call]{--effect-well:#e9f1f0;--effect-ink:#2f4b5c;--effect-stroke:none}.powerup-effect[data-type=long-tom]{--effect-well:#e9f1f0;--effect-ink:#9a6f2c;--effect-stroke:none}.powerup-effect[data-ready]{gap:0;padding-right:5px}.powerup-effect[data-ready] .powerup-effect-timer{display:none}.powerup-effect[data-ready] .powerup-effect-symbol{background:repeating-conic-gradient(var(--effect-color) 0 30deg, transparent 30deg 45deg)}.powerup-effect-symbol{background:conic-gradient(var(--effect-color) calc(var(--remaining,1) * 1turn), var(--hairline-strong) 0);border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:relative}.powerup-effect-symbol:before{content:"";background:var(--effect-well);border-radius:50%;position:absolute;inset:3px}.powerup-effect-symbol svg{width:18px;height:18px;fill:var(--effect-ink);stroke:var(--effect-stroke);stroke-width:1.25px;stroke-linejoin:round;position:relative}.powerup-effect-symbol .powerup-effect-streak{fill:var(--effect-color)}.powerup-effect-timer{font-variant-numeric:tabular-nums;min-width:25px;font-size:13px;font-weight:600;line-height:1}.powerup-effect.powerup-effect-more{font-variant-numeric:tabular-nums;order:1;justify-content:center;min-width:40px;height:40px;padding:0 11px;font-size:13px;font-weight:600;line-height:1}.powerup-effect[data-ending] .powerup-effect-symbol{animation:1s ease-in-out infinite powerup-effect-ending}@keyframes powerup-effect-in{0%{opacity:0;transform:scale(.6)}}@keyframes powerup-effect-ending{50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--effect-color) 45%, transparent);opacity:.7}}@media (prefers-reduced-motion:reduce){.powerup-effect,.powerup-effect[data-ending] .powerup-effect-symbol{animation:none}}@media (width<=1180px){.powerup-effects{right:calc(18px + env(safe-area-inset-right,0px));bottom:142px}}@media (width<=700px),(height<=520px) and (orientation:landscape){.powerup-effects{right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px) + 138px);flex-direction:column;align-items:flex-end;gap:5px}.powerup-effect{pointer-events:none;gap:4px;padding-right:8px}}@media (height<=520px) and (orientation:landscape){.powerup-effects{bottom:calc(12px + env(safe-area-inset-bottom,0px));direction:rtl;grid-template-rows:repeat(2,auto);grid-auto-flow:column;align-content:end;justify-items:right;display:grid}.powerup-effect{direction:ltr}}@media (hover:none) and (pointer:coarse) and (width<=700px){.powerup-effects{bottom:var(--thumbs-top)}}@media (hover:none) and (pointer:coarse) and (height<=520px) and (orientation:landscape){.powerup-effects{right:calc(10px + env(safe-area-inset-right,0px));bottom:calc(env(safe-area-inset-bottom,0px) + 8px + 68px + 8px + var(--thumb) + 10px);direction:ltr;flex-direction:row;align-items:center;display:flex}}.storm-banner{border-radius:var(--radius-m);background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:var(--cream);align-items:center;gap:10px;padding:9px 12px 9px 11px;display:flex}.storm-banner[hidden]{display:none}.storm-banner>.icon{color:#cfe2dc;flex-shrink:0;width:24px;height:24px}.storm-banner[data-tone=warning]>.icon{color:var(--gold)}.storm-banner[data-tone=rescued]>.icon{color:#9fe0c4}.storm-banner>div{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.storm-banner b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.storm-banner p{color:#dcebe6;margin:0;font-size:12px;line-height:1.35}.storm-banner small{color:#a9c8c0;font-size:11px;line-height:1.35}.storm-banner time{font-variant-numeric:tabular-nums;letter-spacing:.01em;flex-shrink:0;padding:0 2px;font:600 17px/1 DM Sans,sans-serif}.storm-banner time:empty{display:none}.storm-banner .storm-cast-off{min-height:34px;color:var(--cream);background:#ffffff1f;flex-shrink:0;padding:6px 12px;font-size:12px;box-shadow:inset 0 0 0 1px #ffffff40}.storm-banner .storm-cast-off:not(:disabled):hover{background:#fff3}@media (width<=700px){.storm-banner{gap:8px;padding:7px 10px}.storm-banner>.icon{width:20px;height:20px}.storm-banner p{font-size:11.5px}.storm-banner time{font-size:15px}}.harbour-closed{color:var(--ink);background:#e7ede9}.harbour-closed>.icon{color:var(--teal-deep)}.sky-card{border-radius:var(--radius-m);color:var(--cream);background:linear-gradient(135deg,#123f4b,#1c5c59);align-items:center;gap:16px;margin-bottom:8px;padding:14px 16px;display:flex}.sky-card small{letter-spacing:.08em;color:#a9c8c0;font-size:11px}.sky-card h3{margin:2px 0 4px;font:500 22px/1.1 Cormorant Garamond,serif}.sky-card p{color:#dcebe6;margin:0;font-size:13px;line-height:1.45}.moon-icon{flex-shrink:0}.moon-dark{fill:#2c5360;stroke:#6d919a;stroke-width:1px}.moon-lit{fill:#f4efdc}.storm-forecast{cursor:default}.storm-forecast>.icon{color:var(--teal)}.map-storm-track{fill:none;stroke:#d9e6ea;stroke-opacity:.45;stroke-width:calc(1.5px * var(--u,1));stroke-dasharray:calc(4px * var(--u,1)) calc(6px * var(--u,1))}.map-storm-cell{fill:#35505a;fill-opacity:.32;stroke:#d9e6ea;stroke-opacity:.7;stroke-width:calc(1.2px * var(--u,1));stroke-dasharray:calc(3px * var(--u,1)) calc(4px * var(--u,1))}.map-storm-cell.is-gathering{fill-opacity:.14}.map-closed-harbour circle{fill:#7a3b2e;stroke:#fff8e8;stroke-width:1.5px;opacity:.55}.map-closed-harbour path{stroke:#fff8e8;stroke-width:1.8px;stroke-linecap:round;opacity:.55}.storm-active .map-closed-harbour circle,.storm-active .map-closed-harbour path{opacity:1}.map-yacht{fill:#ff8a4c;stroke:#fff8e8;stroke-width:1.5px}.map-rescue-target{fill:none;stroke:#9fe0c4;stroke-width:2px;stroke-dasharray:3 3}.debug-schedule p{color:#cfe2dc;margin:3px 0;font-size:11px;line-height:1.4}.badge-reveal{z-index:40;width:min(300px,80vw);color:var(--cream);cursor:pointer;background:0 0;border:0;justify-items:center;gap:6px;padding:0;animation:.25s ease-out both badge-fade-in;display:grid;position:fixed;top:38%;left:50%;transform:translate(-50%,-50%)}.badge-reveal.is-leaving{animation:.32s ease-in both badge-leave}.badge-art{width:min(220px,56vw);height:auto;overflow:visible}.badge-art .badge-layer,.badge-art .badge-ring,.badge-art .badge-glow,.badge-art .badge-sparkle{transform-box:fill-box;transform-origin:50%}.badge-seal{--from:-140deg;animation:.8s cubic-bezier(.2,1.5,.35,1) both badge-spin-in,24s linear .8s infinite badge-spin}.badge-square{--from:120deg;animation:.85s cubic-bezier(.2,1.6,.35,1) .12s both badge-spin-in,18s linear 1s infinite badge-spin-back}.badge-star{animation:.7s cubic-bezier(.2,1.8,.3,1) .26s both badge-pop,30s linear 1s infinite badge-spin}.badge-glyph{animation:.55s cubic-bezier(.2,1.6,.4,1) .42s both badge-pop}.badge-glow{animation:2.4s ease-in-out .2s infinite alternate both badge-glow}.badge-ring{opacity:0;animation:1.4s cubic-bezier(.1,.7,.3,1) .28s both badge-ring}.badge-ring-late{animation-delay:.62s}.badge-sparkle{opacity:0;animation:badge-sparkle 1s cubic-bezier(.1, .8, .3, 1) calc(.34s + var(--delay)) both}.badge-text{text-align:center;text-shadow:0 1px 2px #0b3a4599,0 2px 14px #0b3a45b3;justify-items:center;gap:2px;animation:.5s cubic-bezier(.2,.9,.3,1) .4s both badge-rise;display:grid}.badge-text small{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-size:11px;font-weight:600}.badge-text b{font-family:Cormorant Garamond,serif;font-size:26px;font-weight:600;line-height:1.1}.badge-text em{opacity:.9;font-size:13px;font-style:normal}@keyframes badge-fade-in{0%{opacity:0}}@keyframes badge-leave{to{opacity:0;transform:translate(-50%,-50%)scale(.86)}}@keyframes badge-spin-in{0%{opacity:0;transform:rotate(var(--from)) scale(.2)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes badge-spin{to{transform:rotate(360deg)}}@keyframes badge-spin-back{to{transform:rotate(-360deg)}}@keyframes badge-pop{0%{opacity:0;transform:scale(.1)rotate(-30deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes badge-glow{0%{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.06)}}@keyframes badge-ring{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.55)}}@keyframes badge-sparkle{0%{opacity:0;transform:translate(0)scale(.2)}30%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(1) rotate(90deg)}}@keyframes badge-rise{0%{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.badge-reveal,.badge-reveal.is-leaving{animation-duration:.2s}.badge-seal,.badge-square,.badge-star,.badge-glyph,.badge-glow,.badge-text{animation:.3s ease-out both badge-fade-in}.badge-ring,.badge-sparkle{display:none}}.nature-lookout{background:var(--glass-dark);min-height:34px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:var(--cream);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.nature-lookout-time{min-width:30px;color:var(--gold);font-weight:600}.nature-lookout:before{content:"";background:var(--gold);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #e8b95a40}.whale-notice-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.whale-notice-log{min-height:32px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--teal-deep);background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.whale-notice-log:not(:disabled):hover{background:var(--teal);color:var(--cream)}.whale-notice-art[hidden]+.whale-notice-heading{grid-column:1/3}.whale-notice.is-entry .whale-notice-status{color:var(--teal);font-weight:600}.nature-forecast{border-radius:var(--radius-m);color:var(--cream);background:linear-gradient(160deg,#173f4a,#0b3a45);margin-bottom:16px}.nature-forecast>summary{cursor:pointer;gap:3px;padding:14px 16px;list-style:none;display:grid}.nature-forecast>summary::-webkit-details-marker{display:none}.nature-forecast .eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;font-weight:600}.nature-forecast summary b{font:500 21px/1.2 Cormorant Garamond,serif}.nature-forecast-line{-webkit-line-clamp:2;color:#dfe9e2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.nature-forecast[open] .nature-forecast-line{display:block}.nature-forecast-more{padding:0 16px 14px}.nature-forecast p{color:#dfe9e2;margin:0;font-size:12.5px;line-height:1.5}.nature-forecast .nature-day{color:#b9cdc6}.nature-forecast .nature-day b{color:var(--cream);margin-right:4px;font-weight:600}.nature-lookout-note{align-items:center;gap:8px;font-weight:600;display:flex;color:var(--gold)!important;margin-top:10px!important}.nature-lookout-note .icon{flex-shrink:0;width:18px;height:18px}.card.is-stamp.is-known{background:#f6efd9;box-shadow:inset 0 0 0 1px #e3d3a6}.card.is-stamp.is-known .card-mark,.card.is-stamp.is-known .card-status{color:#7a5a22;background:#efe0b8}.nature-list{display:grid}.nature-entry{border-bottom:1px solid var(--line);gap:12px;padding:12px 0;display:flex}.nature-entry b{font-size:14px}.nature-entry small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.nature-entry p{color:#4d6b65;margin:6px 0 0;font-size:12.5px;line-height:1.55}.nature-entry .nature-hint{color:var(--muted);font-style:italic}.nature-mark{background:var(--sand);color:#9aa491;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.nature-entry.is-known .nature-mark{color:var(--teal-deep);background:#dcebe3;position:relative}.nature-entry.is-known .nature-mark:after{content:"✓";background:var(--teal);color:#fff;width:17px;height:17px;box-shadow:0 0 0 2px var(--paper);border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid;position:absolute;bottom:-3px;right:-3px}.nature-entry:not(.is-known) .nature-mark{background:0 0;border:1.5px dashed #cfc9ae}.nature-entry:not(.is-known) b{color:#5b716c}.nature-entry:not(.is-known){opacity:.82}.nature-body{flex:1;min-width:0}.nature-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.nature-status{box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 9px;font-size:11px;font-weight:600}.nature-status.is-done{box-shadow:none;color:var(--teal-deep);background:#dcebe3}.nature-stamp .nature-status{margin:0 0 6px;display:inline-block}.nature-stamp.is-known .nature-status.is-done{color:#7a5a22;background:#efe0b8}.nature-section{justify-content:space-between;align-items:center;gap:12px;display:flex}.nature-progress{background:var(--sand);border-radius:999px;flex:0 120px;height:5px;overflow:hidden}.nature-progress i{border-radius:inherit;background:var(--teal);height:100%;display:block}.nature-stamps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.nature-stamp{box-shadow:inset 0 0 0 1px var(--line);background:#fff9;border-radius:12px;padding:12px 12px 12px 14px;position:relative}.nature-stamp small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px}.nature-stamp b{margin:3px 34px 4px 0;font-size:13.5px;line-height:1.3;display:block}.nature-stamp p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.nature-stamp-seal{color:#b8b39a;border:1.5px dashed #c9c3a8;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;top:10px;right:10px}.nature-stamp-seal .icon{width:17px;height:17px}.nature-stamp.is-known{background:#f6efd9;box-shadow:inset 0 0 0 1px #e3d3a6}.nature-stamp.is-known .nature-stamp-seal{color:#9c7433;border:1.5px solid #b58a3f;transform:rotate(-8deg)}.nature-walk{box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--teal-deep);background:#fff;border-radius:999px;margin-top:8px;padding:5px 12px;font-size:12px;font-weight:600}.nature-walk:not(:disabled):hover{background:var(--teal);color:var(--cream)}.lookout-ring{fill:#e8b95a26;stroke:#ffe7b0;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite lookout-pulse}.lookout-dot{fill:#e8b95a;stroke:#fff8e8;stroke-width:1.2px}.lookout-mark.is-dolphin .lookout-dot{fill:#8fd0d6}.lookout-mark.is-dolphin .lookout-ring{stroke:#d2f2f2;fill:#8fd0d626}.lookout-mark.is-hidden{opacity:.45}.lookout-mark.is-hidden .lookout-ring{stroke-dasharray:3 3;animation:none}@keyframes lookout-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}@media (width<=700px){.nature-stamps{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.lookout-ring{animation:none}}.rescue-banner{background:var(--glass-dark);max-width:min(92vw,460px);min-height:34px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:var(--cream);font:inherit;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.rescue-banner:before{content:"";background:#ffe29a;border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 0 3px #ffe29a40}.rescue-progress{color:var(--cream);text-shadow:0 1px 2px #0b3a4599,0 1px 8px #0b3a4566;white-space:nowrap;pointer-events:none;justify-items:center;gap:2px;font-size:12px;display:grid;position:absolute;top:0;left:0}.rescue-progress svg{width:38px;height:38px;transform:rotate(-90deg)}.rescue-progress circle{fill:none;stroke-width:4px}.rescue-progress-track{stroke:#0b3a4580}.rescue-progress-fill{stroke:#7ccca9;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px}.rescue-progress.is-running .rescue-progress-fill{animation:rescue-cut var(--rescue-ms,3s) linear forwards}@keyframes rescue-cut{to{stroke-dashoffset:0}}.rescue-map ellipse{fill:#8a4a2b;stroke:#fff8e8;stroke-width:1.6px}.rescue-map path{fill:none;stroke:#fff8e8;stroke-width:1.6px;stroke-linecap:round}.rescue-intro{border-radius:var(--radius-m);color:var(--cream);background:linear-gradient(160deg,#173f4a,#0b3a45);gap:3px;margin-bottom:16px;padding:14px 16px;display:grid}.rescue-intro .eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;font-weight:600}.rescue-intro h3{margin:0;font:500 21px/1.2 Cormorant Garamond,serif}.rescue-intro p{color:#dfe9e2;margin:0;font-size:12.5px;line-height:1.5}.rescue-intro .nature-lookout-note{margin-top:8px}.rescue-intro .rescue-walk{justify-self:start;margin-top:10px}.order-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #e8b95a59, var(--shadow-sm);color:var(--cream);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.order-banner[hidden]{display:none}.order-banner>div{flex:1;min-width:0}.order-banner b,.order-banner small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.order-banner b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.order-banner small{color:#e9f2eccc;margin-top:1px;font-size:11.5px}.order-seal{background:var(--gold);color:#3d2b0c;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.order-seal .icon{width:18px;height:18px}.order-banner .order-banner-go{background:var(--cream);min-height:32px;color:var(--ink);border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.order-banner .order-banner-go[hidden]{display:none}.hot-order-map circle{fill:var(--gold);stroke:#fff8e8;stroke-width:2px}.hot-order-map path{fill:#3d2b0c}.hot-order-map .hot-order-pulse{fill:none;stroke:var(--gold);stroke-width:2px;opacity:.7;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite hot-order-pulse}@keyframes hot-order-pulse{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.hot-order-map .hot-order-pulse{opacity:.5;animation:none}}.delivery-hot{margin-bottom:12px}.delivery-offer.is-hot,.delivery-active.is-hot{background:#f6ecd2;border-color:#e2c47f}.delivery-offer.is-hot .voyage-seal,.delivery-active.is-hot .voyage-seal{color:#3d2b0c;background:var(--gold)}.hot-order-flag{color:#876529;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;margin:-4px 0 12px;font-size:11px;font-weight:600;display:flex}.hot-order-flag .icon{width:14px;height:14px}.hot-order-flag time{font-variant-numeric:tabular-nums;letter-spacing:0;margin-left:auto}.delivery-progress{background:#d6dcc6;border-radius:6px;height:6px;margin:14px 0 8px;overflow:hidden}.delivery-progress i{transform-origin:0;background:linear-gradient(90deg,#6fa393,#e8b95a);height:100%;display:block}.delivery-progress+.voyage-caption{margin:0;font-size:12px}.delivery-map circle{fill:#f1ddd0;stroke:#123d45b3;stroke-width:1.2px}.delivery-map path{fill:none;stroke:#a4583a;stroke-width:1.3px;stroke-linejoin:round}@media (width<=700px){.order-banner .order-banner-go{padding:6px 10px}}.objective-banner{background:var(--glass);background-image:var(--sheen);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);color:var(--ink);animation:mate-in .35s var(--ease) both;border-radius:18px;align-items:center;gap:12px;padding:8px 8px 8px 10px;display:flex}.objective-banner[hidden]{display:none}.objective-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.objective-text small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.objective-text b{-webkit-line-clamp:2;line-clamp:2;text-wrap:balance;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.objective-text small{color:var(--muted);letter-spacing:.05em;font-size:10.5px;font-weight:600}.objective-kind{text-transform:uppercase;display:none}.objective-reward{color:#8a6524;letter-spacing:.01em}.objective-banner:is([data-kind=first-voyage],[data-kind=goal],[data-kind=treasure],[data-kind=festa],[data-kind=riddle],[data-pinned]) .objective-kind{display:inline}.objective-banner:is([data-kind=first-voyage],[data-kind=goal],[data-kind=treasure],[data-kind=festa],[data-kind=riddle],[data-pinned]) .objective-reward:not(:empty):before{content:" · ";color:var(--muted)}.objective-text b{letter-spacing:.005em;font:500 18px/1.15 Cormorant Garamond,serif}.objective-detail{color:var(--muted);font-size:12px;line-height:1.35}.objective-banner[data-kind=hot] .objective-text small{white-space:normal}.objective-clock{white-space:nowrap}.objective-progress{background:#1f474414;border-radius:3px;height:3px;margin-top:5px;display:block;overflow:hidden}.objective-progress[hidden]{display:none}.objective-progress>i{border-radius:inherit;background:linear-gradient(90deg, var(--teal), #7fc289);transform-origin:0;height:100%;transition:transform .6s var(--ease);display:block;transform:scaleX(0)}.objective-seal{color:#245f55;background:#dceadd;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.objective-seal .icon{width:19px;height:19px}.objective-banner[data-kind=hot] .objective-seal{color:#3d2b0c;background:var(--gold)}.objective-banner[data-kind=offer] .objective-seal,.objective-banner[data-kind=delivery] .objective-seal{color:#a4583a;background:#f1ddd0}.objective-banner[data-kind=treasure] .objective-seal{color:#826b45;background:#eee2c6}.objective-go{background:linear-gradient(180deg, #2f8781, var(--teal-deep));min-height:36px;color:var(--cream);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px 7px 11px;font-size:12.5px;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff26,0 4px 10px -4px #1c5c5999}.objective-go[hidden]{display:none}.objective-go .icon{width:16px;height:16px}.objective-close{width:32px;height:32px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:19px;line-height:1;display:grid}.objective-close:hover{color:var(--ink);background:#1f47440f}@keyframes mate-in{0%{opacity:0;transform:translateY(-6px)}}@media (width<=700px),(height<=520px) and (orientation:landscape){.objective-banner{border-radius:16px;gap:10px;padding:6px 6px 6px 8px}.objective-seal{width:32px;height:32px}.objective-seal .icon{width:17px;height:17px}.objective-text b{font-size:16.5px}.objective-go{justify-content:center;width:38px;min-height:38px;padding:0}.objective-go span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.objective-go .icon{width:18px;height:18px}.objective-banner:not([data-kind=first-voyage]) .objective-kind{display:none}.objective-banner:not([data-kind=first-voyage]) .objective-reward:before{content:none!important}.objective-banner[data-kind=first-voyage] .objective-reward{display:none}.objective-close{width:30px;height:30px}}.adventure-list{gap:10px;display:grid}.adventure-card{background:#edf0e1;border:1px solid #cad9c4;border-radius:14px;padding:14px}.adventure-card.is-pinned{background:#e0eee2;border-color:#79a69a;margin-bottom:4px}.adventure-card[data-adventure=hot] .voyage-seal{color:#3d2b0c;background:var(--gold)}.adventure-card[data-adventure=offer] .voyage-seal{color:#a4583a;background:#f1ddd0}.adventure-card[data-adventure=treasure] .voyage-seal{color:#826b45;background:#eee2c6}.adventure-card .voyage-card-heading h3{font-size:16px}.adventure-detail{color:var(--muted);margin:10px 0 0;font-size:12.5px;line-height:1.5}.adventure-detail b{color:#876529;font-weight:600}.adventure-actions{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:12px;display:flex}.adventure-actions .secondary-button{align-items:center;gap:6px;min-height:36px;padding:7px 12px;font-size:12.5px;display:inline-flex}.adventure-actions .secondary-button .icon{width:16px;height:16px}.adventure-actions .identity-link{align-items:center;min-height:36px;margin:0;padding:6px 4px;font-size:12.5px;display:inline-flex}.first-voyage .logbook-steps{margin-top:4px}@media (width<=700px){.adventure-card{padding:12px}.adventure-card .voyage-seal{width:36px;height:36px}.adventure-card .voyage-seal .icon{width:19px;height:19px}.adventure-card .voyage-card-heading{gap:10px}.adventure-card .voyage-card-heading h3{font-size:15px}.adventure-detail,.adventure-actions{margin-top:8px}}.rank-celebration .reveal-list{flex-wrap:wrap;gap:5px;margin:8px 0 2px;padding:0;list-style:none;display:flex}.reveal-list li{min-width:0;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);animation:reveal-item .45s var(--ease) both;background:#fffdf6;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 7px;font-size:11.5px;font-weight:600;line-height:1.25;display:inline-flex}.reveal-list li:nth-child(2){animation-delay:60ms}.reveal-list li:nth-child(3){animation-delay:.12s}.reveal-list li:nth-child(4){animation-delay:.18s}.reveal-list li:nth-child(5){animation-delay:.24s}.reveal-list li:nth-child(6){animation-delay:.3s}.reveal-list li:nth-child(7){animation-delay:.36s}.reveal-list li:nth-child(n+8){animation-delay:.42s}.reveal-list .icon{color:#a27a26;width:16px;height:16px}.rank-celebration .reveal-also{margin-top:6px;font-size:11.5px}@keyframes reveal-item{0%{opacity:0;transform:translateY(4px)}}.rank-celebration:has(.reveal-list){align-items:flex-start}.rank-opens{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.rank-opens span{box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);background:#ffffffb3;border-radius:999px;align-items:center;gap:5px;padding:3px 8px 3px 6px;font-size:11px;font-weight:600;display:inline-flex}.rank-opens .icon{width:13px;height:13px;color:var(--teal)}.rank-ladder .is-passed .rank-opens span,.rank-ladder .is-current .rank-opens span{color:var(--teal-deep)}@media (width<=700px),(height<=520px) and (orientation:landscape){.rank-celebration .reveal-list{gap:4px}.reveal-list li{padding:4px 8px 4px 6px;font-size:11px}.reveal-list .icon{width:14px;height:14px}.rank-celebration:has(.reveal-list) .rank-insignia{width:42px;height:42px}}@media (height<=520px) and (orientation:landscape){.rank-celebration:has(.reveal-list){max-height:calc(var(--app-height,100dvh) - var(--top) - 56px - var(--dock) - 2 * var(--thumb,52px) - 24px);overscroll-behavior:contain;scrollbar-width:none;overflow-y:auto}.rank-celebration:has(.reveal-list) .rank-insignia{display:none}.rank-celebration:has(.reveal-list) h3{font-size:20px}}@media (prefers-reduced-motion:reduce){.reveal-list li{animation:none}}.cooking-intro{margin-bottom:18px}.cooking-detail{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.55}.cooking-recipe .delivery-offer-cargo small{color:var(--muted);font-weight:400}.cooking-pot{background:#edf0e1;border:1px solid #cad9c4;border-radius:14px;padding:16px}.cooking-pot.is-ready{background:#f6ecd2;border-color:#e2c47f}.cooking-progress{background:#d6dcc6;border-radius:6px;height:6px;margin:16px 0 10px;overflow:hidden}.cooking-progress i{transform-origin:0;background:linear-gradient(90deg,#e0876a,#e8b95a);height:100%;display:block}.cooking-time{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.cooking-time span{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.cargo-row .icon{flex-shrink:0}.map-cooking circle{fill:#fff8e8e6;stroke:#123d45b3;stroke-width:1px}.map-cooking path{fill:none;stroke:#367d76;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.map-cooking.is-cooking circle{fill:#f3d08e}.map-cooking.is-ready circle{fill:#e8b95a;stroke:#fff8e8;stroke-width:2px}.map-cooking.is-ready path{stroke:#0b3a45}.debug-panel .debug-row small{color:#9fc3bb;align-self:center}.kitchen-card{text-align:left;width:100%;padding:0;display:block}button.kitchen-card:hover{box-shadow:inset 0 0 0 1px var(--teal)}.kitchen-card .card-mark .icon{width:18px;height:18px}.kitchen-card.is-known .card-mark:after{content:none}.kitchen-card .card-status{font-variant-numeric:tabular-nums}.rank-insignia{flex-shrink:0;width:44px;height:44px}.rank-card{align-items:center;gap:16px;margin:4px 0 18px;display:flex}.rank-card .rank-insignia{filter:drop-shadow(0 4px 10px #27395b44);width:64px;height:64px}.rank-card .eyebrow{color:var(--teal);text-transform:uppercase;display:block}.rank-card h3{margin:4px 0;font:500 30px/1.1 Cormorant Garamond,serif}.rank-card p{color:var(--muted);font-size:13px}.rank-card p b{color:var(--ink);font-weight:600}.rank-progress{background:var(--sand);border-radius:999px;height:8px;overflow:hidden;box-shadow:inset 0 1px 2px #1f474414}.rank-progress i{background:linear-gradient(90deg, var(--teal), var(--gold));transform-origin:0;height:100%;display:block}.rank-points{color:var(--muted);margin-top:8px;font-size:13px}.rank-points b{color:var(--ink)}.rank-tally{flex-wrap:wrap;gap:6px;display:flex}.rank-tally span{color:var(--muted);background:#f3f1df;border-radius:999px;align-items:baseline;gap:5px;padding:5px 11px;font-size:12px;display:inline-flex}.rank-tally b{color:var(--ink);font:600 15px/1 Cormorant Garamond,serif}.rank-tally-empty{color:var(--muted);font-size:13px}.rank-ladder{margin:0;padding:0;list-style:none}.rank-ladder li{opacity:.62;border-radius:12px;align-items:flex-start;gap:10px;padding:7px 8px;display:flex}.rank-ladder li+li{margin-top:2px}.rank-ladder .rank-insignia{width:32px;height:32px}.rank-ladder li.is-passed,.rank-ladder li.is-current{opacity:1}.rank-ladder li.is-current{background:linear-gradient(90deg,#e8b95a26,#0000)}.rank-ladder b{font-size:14px}.rank-ladder small{color:var(--teal-deep);margin-top:1px;font-size:12px;line-height:1.35;display:block}.rank-ladder p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.rank-earning{margin-top:18px;font-size:13px}.rank-earning summary{cursor:pointer;color:var(--teal-deep);font-weight:600}.rank-earning ul{margin:10px 0 0;padding:0;list-style:none}.rank-earning li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;display:flex}.rank-earning li b{white-space:nowrap}.rank-earning li small{color:var(--muted);margin-top:1px;font-size:11.5px;line-height:1.35;display:block}.collection-pages{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.collection-tab{text-align:left;min-height:52px;box-shadow:inset 0 0 0 1px var(--line);background:#f3f1df;border-radius:12px;grid-template-columns:18px minmax(0,1fr);align-content:center;align-items:center;gap:3px 6px;padding:8px 9px 11px;display:grid;position:relative;overflow:hidden}.collection-tab .icon{width:18px;height:18px;color:var(--teal);flex-shrink:0;grid-row:2}.collection-tab>span{display:contents}.collection-tab b{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;grid-area:1/1/auto/-1;font-size:12px;line-height:1.25}.collection-tab small{color:var(--muted);grid-area:2/2;font-size:11px}.collection-tab .collection-done{width:16px;height:16px;position:absolute;bottom:9px;right:8px}.collection-tab>i{background:var(--teal);transform-origin:0;height:3px;position:absolute;bottom:0;left:0;right:0}.collection-tab[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--teal), 0 2px 8px #1f474414;background:#fff}.collection-page{margin-top:18px}.collection-page header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.collection-page h3{font:500 26px/1.15 Cormorant Garamond,serif}.collection-page header span{color:var(--muted);font-size:13px}.collection-page .panel-note{margin:6px 0 12px}.collection-reward{background:linear-gradient(90deg,#e8b95a24,#f3f1df);border-radius:14px;align-items:center;gap:12px;margin-bottom:8px;padding:12px;display:flex;box-shadow:inset 0 0 0 1px #e8b95a66}.collection-reward .swatch{background:#fffaf0;border-radius:10px;flex-shrink:0;width:44px;height:44px}.collection-reward>div{flex:1;min-width:0}.collection-reward small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px;display:block}.collection-reward b{margin:2px 0;font-size:14px;display:block}.collection-reward span{color:var(--teal-deep);font-size:12px}.collection-reward>.icon{color:#56874e}.collection-reward.is-claimed{background:#e0eee2;box-shadow:inset 0 0 0 1px #79a69a}.collection-reward .collection-to-go{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:600}.collection-entry{align-items:center;gap:10px;min-width:0;padding:10px 0;font-size:12px;display:flex}.collection-entry .icon{color:var(--teal);flex-shrink:0}.collection-entry .collection-flag{width:34px;height:22px;box-shadow:0 0 0 1px var(--hairline);border-radius:2px;flex-shrink:0}.collection-entry b{font-weight:600;display:block}.collection-entry small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.collection-entry.unknown{opacity:.4}.collection-check{background:var(--teal);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;margin-left:auto;font-size:10px;font-style:normal;font-weight:700;display:grid}.rank-celebration,.page-celebration{border-radius:var(--radius-l);background:linear-gradient(180deg, var(--cream), var(--paper));width:100%;box-shadow:inset 0 0 0 1px #ffffffb3, var(--shadow-lg);animation:celebration-in .5s var(--ease) both;align-items:center;gap:14px;padding:14px 44px 14px 14px;display:flex;position:relative}.rank-celebration{box-shadow:inset 0 0 0 1.5px var(--gold), var(--shadow-lg)}.rank-celebration .rank-insignia{width:58px;height:58px;animation:insignia-shine 1.6s var(--ease) .2s both}.page-celebration>.icon{width:34px;height:34px;color:var(--teal);flex-shrink:0}.rank-celebration .eyebrow,.page-celebration .eyebrow{color:#a27a26;text-transform:uppercase;display:block}.rank-celebration h3,.page-celebration h3{margin:2px 0;font:500 24px/1.15 Cormorant Garamond,serif}.rank-celebration p,.page-celebration p{color:var(--muted);font-size:12px;line-height:1.45}.rank-celebration ul{color:var(--teal-deep);margin:6px 0 0;padding-left:16px;font-size:12px}.celebration-link{color:var(--teal-deep);background:0 0;align-items:center;gap:6px;margin-top:6px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.celebration-link .icon{width:15px;height:15px}.celebration-close{width:32px;height:32px;color:var(--muted);background:0 0;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.celebration-close .icon{width:16px;height:16px}@keyframes celebration-in{0%{opacity:0;transform:translateY(-10px)scale(.97)}}@keyframes insignia-shine{0%{opacity:0;transform:rotate(-12deg)scale(.6)}60%{opacity:1;transform:rotate(4deg)scale(1.08)}}@media (prefers-reduced-motion:reduce){.rank-celebration,.page-celebration,.rank-celebration .rank-insignia{animation:none}}@media (width<=520px){.collection-pages{grid-template-columns:repeat(2,minmax(0,1fr))}}.rank-card h3 small{color:var(--muted);margin-left:4px;font:500 14px/1.2 DM Sans,sans-serif}.rank-allowance{background:var(--sand);border-radius:10px;margin:14px 0 6px;padding:8px 12px;font-size:12.5px;font-weight:600;position:relative;overflow:hidden}.rank-allowance span{position:relative}.rank-allowance i{transform-origin:0;background:#e8b95a38;position:absolute;inset:0}.customise{flex-direction:column;min-height:100%;display:flex}.customise-top{z-index:3;margin:0 calc(-1 * var(--panel-pad));padding:2px var(--panel-pad) 10px;background:#fcf7ea;transition:box-shadow .2s;position:sticky;top:-2px}.panel.is-scrolled .customise-top{box-shadow:0 14px 14px -14px #0b3a4533}.customise-view{background:#e3f0ee;border-radius:18px;height:190px;position:relative;overflow:hidden}.customise-view:after{content:"";border-radius:inherit;box-shadow:inset 0 0 0 1px var(--hairline);pointer-events:none;position:absolute;inset:0}.customise-stage{position:absolute;inset:0}.customise-stage .boat-preview{width:100%;height:100%;display:block}.boat-showroom{cursor:grab;touch-action:pan-y;width:100%;height:100%;display:block}.boat-showroom:active{cursor:grabbing}.customise-drag{color:var(--ink-soft);pointer-events:none;background:#fffbf2c7;border-radius:999px;align-items:center;gap:5px;padding:4px 10px 4px 7px;font-size:11.5px;font-weight:600;display:inline-flex;position:absolute;bottom:10px;left:10px;box-shadow:inset 0 0 0 1px #ffffff80}.customise-drag .icon{width:16px;height:16px}.customise-view:not(:has(.boat-showroom)) .customise-drag{display:none}.panel-body>.harbour-purse:has(+.customise){z-index:4;align-items:flex-start;height:0;margin:0;padding-right:10px;position:sticky;top:8px}.customise-parts{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px;display:grid}.customise-parts button{min-width:0;min-height:50px;box-shadow:inset 0 0 0 1px var(--hairline-strong);color:var(--ink-soft);text-align:center;text-wrap:balance;background:#fffdf8;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:5px 3px;font-size:12px;font-weight:600;line-height:1.12;display:flex}.customise-parts .icon{stroke-width:1.5px;flex:none;width:20px;height:20px}.customise-parts button:hover{background:#f8f3e5}.customise-parts button[aria-pressed=true]{background:linear-gradient(180deg, #2a7f79, var(--teal-deep));color:var(--cream);box-shadow:inset 0 1px #ffffff26,0 4px 12px -5px #1c5c59b3}.customise-list{flex:1 0 auto;padding:6px 0 16px}.customise-row+.customise-row{margin-top:16px}.customise-row h4{letter-spacing:.15em;text-transform:uppercase;color:#6f857f;align-items:baseline;gap:8px;margin:0 0 10px;font-size:10.5px;font-weight:600;display:flex}.customise-row h4 small{letter-spacing:.01em;text-transform:none;color:var(--muted);font-size:11.5px;font-weight:500}.customise-swatches{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:10px 8px;margin:-4px;padding:4px;display:grid}.customise-swatch{aspect-ratio:1;width:100%;max-width:62px;box-shadow:inset 0 0 0 1px var(--hairline-strong);background:#fffdf8;border-radius:14px;justify-self:center;place-items:center;padding:0;transition:box-shadow .15s;display:grid;position:relative}.customise-swatch .swatch{width:86%;height:86%}.customise-swatch .swatch.is-cloth{border-radius:10px;width:calc(100% - 8px);height:calc(100% - 8px);box-shadow:0 0 0 1px #1f47441a}.customise-swatch .swatch.is-flag{aspect-ratio:64/40;filter:drop-shadow(0 1px 1.5px #1f474433);width:82%;height:auto}.customise-swatch:hover{box-shadow:inset 0 0 0 1px #1f474459}.customise-swatch.is-round{box-shadow:none;background:0 0;border-radius:50%}.customise-dot{background:var(--dot);border-radius:50%;width:100%;height:100%;box-shadow:inset 0 0 0 1px #1f474421,inset 0 -8px 12px -8px #00000038,inset 0 8px 12px -8px #ffffff8c}.customise-dot.is-sheen{background:radial-gradient(circle at 34% 28%, #fff7d6, #fff7d600 42%), linear-gradient(140deg, #f4da86, var(--dot) 48%, #b5892f 88%)}.customise-swatch.is-lantern{background:linear-gradient(#27495a,#1b3745);box-shadow:inset 0 0 0 1px #0b2a3640}.customise-swatch.is-worn{box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 0 0 2px #fcf7ea, 0 0 0 4px var(--teal)}.customise-swatch.is-picked{box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 0 0 2px #fcf7ea, 0 0 0 4.5px var(--gold)}.customise-swatch.is-round.is-worn{box-shadow:0 0 0 2px #fcf7ea, 0 0 0 4px var(--teal)}.customise-swatch.is-round.is-picked{box-shadow:0 0 0 2px #fcf7ea, 0 0 0 4.5px var(--gold)}.customise-swatch.is-locked>:not(.customise-lock){opacity:.5;filter:saturate(.55)}.customise-lock{width:20px;height:20px;box-shadow:0 0 0 1px var(--hairline-strong), 0 1px 3px #1f474426;color:var(--ink-soft);background:#fffdf8;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-3px;right:-3px}.customise-lock .icon{stroke-width:2px;width:12px;height:12px}.customise-bar{bottom:calc(-1 * var(--panel-pad));z-index:3;min-height:68px;margin:0 calc(-1 * var(--panel-pad)) calc(-1 * var(--panel-pad));padding:10px var(--panel-pad) 12px;background-color:var(--glass);background-image:var(--sheen);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 1px 0 var(--hairline-strong), 0 -14px 24px -20px #0b3a4559;flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex;position:sticky}.customise-bar-text{flex:110px;gap:3px;min-width:0;display:grid}.customise-bar-text b{color:#1c4441;overflow-wrap:break-word;font:500 21px/1.12 Cormorant Garamond,serif}.customise-bar-text span{color:var(--muted);align-items:center;gap:5px;font-size:12.5px;font-weight:600;line-height:1.3;display:flex}.customise-bar-text span .icon{stroke-width:1.8px;flex:none;width:15px;height:15px}.customise-bar-text .is-price{color:var(--gold-ink);font-variant-numeric:tabular-nums}.customise-bar-text .is-price .icon{color:#b8872a}.customise-bar-text .is-worn{color:var(--teal)}.customise-bar-text .is-owned{color:var(--ink-soft)}.customise-bar-text .is-locked{align-items:flex-start;font-weight:500}.customise-bar-text .is-locked .icon{margin-top:1px}.customise-bar-actions{flex:none;gap:8px;margin-left:auto;display:flex}.customise-bar-actions button{border-radius:14px;min-height:44px;padding:10px 18px;font-size:14px}.panel .customise-bar-actions button{border-radius:14px}@media (width<=700px){.customise-view{border-radius:16px;height:172px}.customise-parts{gap:5px;margin-top:10px}.customise-parts button{min-height:56px;padding-inline:2px;font-size:11px}.customise-swatches{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:12px 10px}.customise-bar{gap:8px 10px;min-height:68px}.customise-bar-text b{font-size:20px}.customise-bar-actions{gap:6px}.customise-bar-actions button{min-height:44px;padding:10px 13px;font-size:13.5px}}@media (height<=520px) and (orientation:landscape){.customise-top{position:static}.panel-body>.harbour-purse:has(+.customise){position:relative;top:8px}.customise-view{height:136px}.customise-parts button{flex-direction:row;gap:6px;min-height:42px}.customise-bar{min-height:62px;padding-block:8px 10px}}.logbook-label{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.logbook-label span{letter-spacing:.02em;text-transform:none;font-weight:500}.logbook-task{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:14px 0;display:flex}.logbook-task>div{flex:1;min-width:0}.logbook-task b{font-size:14px;display:block}.logbook-task small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.45;display:block}.logbook-task .logbook-reward{color:#876529;margin-top:6px}.logbook-task.done b{color:#3f7a48}.logbook-task.claimed b,.logbook-task.claimed small{color:#8c9b95}.logbook-task .purchase{flex-shrink:0}.logbook-count{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px;font-weight:600}.logbook-claimed{color:#56874e;flex-shrink:0;align-items:center;gap:5px;font-size:12px;display:inline-flex}.logbook-claimed .icon{width:16px;height:16px}.logbook-progress{background:var(--sand);border-radius:999px;height:6px;margin-top:8px;overflow:hidden;box-shadow:inset 0 1px 1px #1f474414}.logbook-progress i{border-radius:inherit;background:linear-gradient(90deg, #4b958c, var(--teal));height:100%;transition:width .3s var(--ease);display:block}.logbook-steps{gap:2px;margin:14px 0 4px;padding:0;list-style:none;display:grid}.logbook-steps li{border-top:1px solid #d9e2cf;align-items:center;gap:10px;padding:7px 0;font-size:13px;display:flex}.logbook-steps li:first-child{border-top:0}.logbook-steps li span{flex:1}.logbook-steps li small{color:var(--muted);font-variant-numeric:tabular-nums}.logbook-steps .icon{color:#9aab94;flex-shrink:0;width:17px;height:17px}.logbook-steps li.done{color:#3f7a48}.logbook-steps li.done .icon{color:#56874e}.logbook-returned{border-radius:var(--radius-m);background:linear-gradient(#eef2e3,#e7ecd9);border:1px solid #d3dcc5;margin-bottom:6px;padding:16px}.logbook-returned>p{margin:12px 0 4px;font-size:13px;line-height:1.6}.logbook-returned .voyage-paving-link{padding-top:10px}.logbook-chronicle{margin:8px 0 0;padding:0;list-style:none}.logbook-chronicle li{border-bottom:1px solid var(--line);align-items:flex-start;gap:11px;padding:10px 0;display:flex}.logbook-chronicle li:last-child{border-bottom:0}.logbook-chronicle .icon{color:#6a9888;flex-shrink:0;width:19px;height:19px;margin-top:1px}.logbook-chronicle li[data-kind=festa] .icon{color:#c27a3d}.logbook-chronicle li[data-kind=storm] .icon{color:#5d7390}.logbook-chronicle li[data-kind=season] .icon{color:#876529}.logbook-chronicle b{font-size:13px;font-weight:500;line-height:1.45;display:block}.logbook-chronicle small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.logbook-season{--season:var(--teal);border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--line), inset 4px 0 0 var(--season);background:#fffdf6;padding:18px 18px 16px}.logbook-season>small{letter-spacing:.08em;color:var(--season);font-size:11px;font-weight:600}.logbook-season h3{margin:6px 0 8px;font:500 30px/1.1 Cormorant Garamond,serif}.logbook-season>p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.logbook-season .logbook-season-dates{margin-top:6px;font-size:12px}.logbook-season-points{align-items:baseline;gap:10px;margin-top:16px;display:flex}.logbook-season-points b{font-variant-numeric:lining-nums;color:var(--ink);font:500 40px/1 Cormorant Garamond,serif}.logbook-season-points span{color:var(--muted);font-size:12px}.logbook-season .logbook-progress i{background:var(--season)}.logbook-tiers{margin:14px 0 0;padding:0;list-style:none}.logbook-tiers li{border-top:1px solid var(--line);align-items:center;gap:12px;padding:9px 0;display:flex}.logbook-tiers li>div{flex:1;min-width:0}.logbook-tiers b{font-size:13px;display:block}.logbook-tiers small{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.4;display:block}.logbook-tier-mark{background:var(--sand);width:34px;height:34px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:600;display:grid}.logbook-tier-mark .icon{width:16px;height:16px}.logbook-tiers li.reached .logbook-tier-mark{background:var(--season);color:var(--cream)}.logbook-tiers li.claimed .logbook-tier-mark{color:#3f7a48;background:#dceadd}.logbook-featured{gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.logbook-featured li{align-items:center;gap:9px;display:flex}.logbook-featured .icon{width:15px;height:15px;color:var(--season,#876529);flex-shrink:0}.logbook-contest-intro{margin:0 0 10px;font-size:13px;line-height:1.6}.logbook-leaders{gap:6px;margin:0;padding:0;list-style:none;display:grid}.logbook-leaders li{box-shadow:inset 0 0 0 1px var(--line);background:#fff9;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.logbook-leaders li b{flex:1;font-weight:600}.logbook-leaders li small{color:#876529;font-weight:600}.logbook-leaders li>span,.logbook-hall p>span,.paving-leaders b{background:var(--laurel,var(--sand));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}[data-frame=gold],[data-laurel=gold]{--laurel:#cf9f3a}[data-frame=silver],[data-laurel=silver]{--laurel:#98a4a6}[data-frame=bronze],[data-laurel=bronze]{--laurel:#b47a4c}.logbook-laurel b{color:#876529}.logbook-hall{gap:10px;display:grid}.logbook-hall article{background:#f3efdf;border-radius:12px;align-items:center;gap:14px;padding:12px;display:flex}.logbook-hall-art{aspect-ratio:1;width:76px;box-shadow:0 0 0 3px var(--laurel,#d9d3bb), 0 4px 10px #654f2a1f;border-radius:4px;flex-shrink:0;overflow:hidden}.logbook-hall-art svg{width:100%;height:100%;display:block}.logbook-hall-art.empty{color:#a89c7b;background:#ebe4cc;place-items:center;display:grid}.logbook-hall small{letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:600}.logbook-hall p{align-items:center;gap:8px;margin:6px 0 0;font-size:13px;display:flex}.logbook-hall p small{letter-spacing:0;color:#876529}.logbook-notice{background:var(--glass);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);color:var(--ink);animation:logbook-notice-in .35s var(--ease) both;border-radius:16px;align-items:center;gap:10px;padding:9px 8px 9px 10px;display:flex}@keyframes logbook-notice-in{0%{opacity:0;transform:translateY(-8px)}}.logbook-notice>div{flex:1;min-width:0}.logbook-notice b{font-size:13px;display:block}.logbook-notice p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.4}.logbook-notice-mark{color:#3f7a48;background:#dceadd;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.logbook-notice-mark .icon{width:18px;height:18px}.logbook-notice button:not(.logbook-notice-close){background:var(--teal);min-height:34px;color:var(--cream);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.logbook-notice button .icon{width:15px;height:15px}.logbook-notice-close{width:30px;height:30px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.logbook-notice-close .icon{width:16px;height:16px}.paving-laurel{background:color-mix(in srgb, var(--laurel) 22%, #fff);color:#6b4d12;border-radius:999px;margin:-4px 0 10px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.paving-preview[data-laurel]{box-shadow:0 0 0 4px var(--laurel), 0 0 0 7px color-mix(in srgb, var(--laurel) 30%, transparent), 0 5px 14px #654f2a26}.paving-contest{background:#f3efdf;border-radius:12px;margin:14px 0 4px;padding:12px}.paving-contest>div{color:var(--muted);justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.paving-contest>div b{color:#876529;white-space:nowrap;font-size:14px}.paving-contest .primary-button,.paving-contest .secondary-button{width:100%;min-height:42px;padding:11px;font-size:13px}.paving-contest p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.5}.paving-leaders{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:18px;font-size:11px;font-weight:600;display:flex}.paving-leaders span{width:100%}.paving-leaders button{min-height:34px;box-shadow:inset 0 0 0 1px var(--line-strong);letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:5px 10px 5px 5px;font-size:12px;display:inline-flex}.paving-leaders button small{color:#876529;font-weight:600}.paving-gallery button{position:relative}.paving-gallery button[data-laurel] svg{box-shadow:0 0 0 2px var(--laurel);border-radius:2px}.paving-votes{color:#876529;background:#fffaf0e6;border-radius:999px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:700;position:absolute;top:7px;right:7px;box-shadow:0 1px 3px #654f2a26}@media (width<=420px){.logbook-task{gap:10px}.logbook-season{padding:16px 14px 14px}.logbook-season h3{font-size:26px}.logbook-hall-art{width:62px}.logbook-notice{gap:8px;padding:8px 6px 8px 8px}.logbook-notice-mark{width:28px;height:28px}}.crew-portrait{background:var(--crew-colour,var(--teal));width:36px;height:36px;box-shadow:inset 0 0 0 2px #ffffff59, var(--shadow-sm);color:#fffaf0;letter-spacing:.04em;text-shadow:0 1px 2px #0b3a4566;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.crew-portrait.is-large{width:48px;height:48px;font-size:15px}.crew-portrait.is-small{width:24px;height:24px;font-size:9px;box-shadow:inset 0 0 0 1px #ffffff59}.tavern-intro{margin-bottom:16px}.crew-card{gap:0}.crew-card header{flex-wrap:nowrap;gap:12px}.crew-card header small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.crew-card>p{margin-bottom:10px}.crew-returning{color:var(--muted);font-style:italic}.crew-card .outfit-refit{margin-top:4px}.crew-row .crew-portrait{align-self:flex-start;margin-top:2px}.crew-progress{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.4;display:block}.crew-progress.is-complete{color:var(--teal)}.crew-meter{background:var(--line);border-radius:4px;height:4px;margin-top:6px;display:block;overflow:hidden}.crew-meter i{background:var(--gold);transform-origin:0;height:100%;display:block}.crew-empty-note{margin-top:0}.crew-elsewhere{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0;padding:0;list-style:none;display:grid}.crew-elsewhere li{min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.crew-elsewhere b{color:var(--ink);font-weight:600}.crew-story{border-bottom:1px solid var(--line);padding:18px 0}.crew-story header{align-items:center;gap:12px;display:flex}.crew-story header>div{flex:1;min-width:0}.crew-story h3{font:500 23px/1.2 Cormorant Garamond,serif}.crew-story header small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.4;display:block}.crew-chapters{margin:12px 0 0;padding:0;list-style:none}.crew-chapters li+li{margin-top:6px}.crew-chapters summary{cursor:pointer;padding:4px 0;font-size:14px;font-weight:600}.crew-chapters p{color:#3d5d59;margin:4px 0 8px;font-size:14px;line-height:1.65}.crew-new{background:var(--gold);color:var(--deep);letter-spacing:.04em;text-transform:uppercase;border-radius:5px;margin-left:6px;padding:2px 6px;font-size:10px}.bounty-flag{background:linear-gradient(135deg, var(--bounty-hull) 55%, var(--bounty-pennant) 55%);width:30px;height:22px;box-shadow:inset 0 0 0 1px #ffffff40, var(--shadow-sm);border-radius:4px;flex-shrink:0}.bounty-note{margin-top:0;line-height:1.5}.bounty-row{align-items:flex-start}.bounty-row .bounty-flag{margin-top:3px}.bounty-row small{color:var(--muted);line-height:1.5;display:block}.bounty-row .outfit-badge{white-space:nowrap}.bounty-banner{border-radius:var(--radius-m);background:var(--glass);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow-sm);color:var(--ink);align-items:center;gap:10px;padding:8px 14px 9px 10px;display:flex}.bounty-banner>div{flex:1;min-width:0}.bounty-banner b{font-size:13px;display:block}.bounty-banner small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.bounty-banner time{font-variant-numeric:tabular-nums;letter-spacing:.01em;flex-shrink:0;padding:0 2px;font:600 17px/1 DM Sans,sans-serif}.bounty-banner time:empty{display:none}.bounty-health{background:#0b3a451f;border-radius:5px;height:5px;margin-top:5px;display:block;overflow:hidden}.bounty-health i{background:var(--coral);transform-origin:0;height:100%;display:block}.bounty-label{color:var(--cream);text-shadow:0 1px 2px #0b3a4599,0 1px 8px #0b3a4566;white-space:nowrap;justify-items:center;gap:4px;font-size:12px;display:grid;position:absolute;top:0;left:0}.bounty-label span{background:#0b3a4580;border-radius:5px;width:86px;height:5px;display:block;overflow:hidden;box-shadow:0 0 0 1px #fffaf04d}.bounty-label i{background:var(--coral);transform-origin:0;height:100%;display:block}.bounty-map circle{fill:#b8322e;stroke:#fff8e8;stroke-width:2px}.bounty-map path{fill:#fff8e8}@media (width<=700px){.bounty-banner time{font-size:15px}}@media (width<=520px){.crew-elsewhere{grid-template-columns:minmax(0,1fr)}.crew-story h3{font-size:21px}}.hit-pop{color:var(--cream);text-shadow:0 1px 2px #0b3a4599,0 1px 8px #0b3a4566;white-space:nowrap;pointer-events:none;will-change:transform, opacity;justify-items:center;gap:1px;font-size:12px;display:grid;position:absolute;top:0;left:0}.hit-pop b{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);font-size:13px}.hit-pop span{font-variant-numeric:tabular-nums;font-weight:600}.hit-pop.is-hurt b{color:var(--coral)}.armament-cards{gap:8px;display:grid}.armament-cards .card{margin:0}.armament-cards .card-face{grid-template-columns:34px minmax(0,1fr) auto;min-height:72px}.armament-cards :is(.purchase,.armament-price){grid-area:1/3/span 2;align-self:center}.armament-cards .card.has-value :is(.card-title,.card-meta){padding-right:0}.armament-cards :is(.card-title,.card-meta){grid-column:2}.armament-cards .card-meta{-webkit-line-clamp:unset;white-space:normal;display:block;overflow:visible}.armament-cards .purchase{min-width:64px;min-height:44px}.armament-cards .armament-price{color:#5b716c;white-space:nowrap;font-size:12px;font-weight:600}.armament-cards .card.is-fitted{box-shadow:inset 0 0 0 1.5px var(--gold-ink)}.armament-stats{color:var(--gold-ink);font-size:13px;font-weight:600}.target-label{color:var(--cream);text-shadow:0 1px 2px #0b3a4599,0 1px 8px #0b3a4566;white-space:nowrap;pointer-events:none;justify-items:center;gap:3px;font-size:12px;display:grid;position:absolute;top:0;left:0}.target-label b{font-size:13px}.target-label small{opacity:.85;font-size:11px}.target-label span{background:#0b3a4580;border-radius:5px;width:86px;height:5px;display:block;overflow:hidden;box-shadow:0 0 0 1px #fffaf04d}.target-label i{background:var(--coral);transform-origin:0;height:100%;display:block}.target-label em{text-shadow:none;background:#0b3a45b3;border-radius:999px;margin-top:2px;padding:2px 8px 3px;font-size:11.5px;font-style:normal;font-weight:600}.target-label.is-ready em{background:var(--gold);color:var(--deep)}#fire-button.is-ready{box-shadow:inset 0 0 0 1.5px var(--gold);background:#e8b95a38}#fire-button.is-ready .icon{animation:fire-ready .9s var(--ease) infinite alternate}@keyframes fire-ready{to{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){#fire-button.is-ready .icon{animation:none}}.news-intro{margin-bottom:10px}.news-list{gap:10px;display:grid}.news-entry{border:1px solid var(--line);background:#f7f3e4;border-radius:14px}.news-entry[open]{background:#fffaf0}.news-entry summary{cursor:pointer;gap:2px;padding:12px 14px;list-style:none;display:grid}.news-entry summary::-webkit-details-marker{display:none}.news-entry summary time{letter-spacing:.08em;text-transform:uppercase;color:var(--teal);font-size:11px;font-weight:600}.news-entry summary b{color:var(--ink);font:600 16px/1.3 DM Sans,sans-serif}.news-body{color:var(--ink);padding:0 14px 12px;font-size:13px;line-height:1.55}.news-body h4{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:10px 0 4px;font-size:11px;font-weight:700}.news-body p{margin:0 0 6px}.news-body ul{margin:0 0 6px;padding-left:18px}.news-body li{margin:3px 0}.news-body code{font-size:12px}.news-part+.news-part{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.news-part h3{color:var(--ink);margin:4px 0 2px;font:600 14px/1.35 DM Sans,sans-serif}.news-banner{background:var(--glass);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);color:var(--ink);animation:news-in .35s var(--ease) both;border-radius:16px;align-items:center;gap:10px;padding:9px 8px 9px 10px;display:flex}@keyframes news-in{0%{opacity:0;transform:translateY(-8px)}}.news-banner>div{flex:1;min-width:0}.news-banner b{font-size:13px;display:block}.news-banner p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:12px;line-height:1.4;overflow:hidden}.news-banner-mark{color:#8a6420;background:#f5e8c8;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.news-banner-mark .icon{width:18px;height:18px}.news-open{background:var(--teal);min-height:34px;color:var(--cream);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.news-open .icon{width:15px;height:15px}.news-close{width:30px;height:30px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.news-close .icon{width:16px;height:16px}@media (prefers-reduced-motion:reduce){.news-banner{animation:none}}.news-feedback{border-top:1px solid var(--line);gap:8px;margin-top:18px;padding-top:14px;display:grid}.news-feedback .panel-note{margin:0}#route-preview{left:50%;top:var(--top);background:var(--glass-dark);max-width:calc(100vw - 24px);min-height:44px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:var(--cream);pointer-events:auto;animation:route-preview-in .2s var(--ease) both;border-radius:999px;align-items:center;gap:8px;padding:6px 6px 6px 18px;font-size:13px;display:flex;position:absolute;transform:translate(-50%)}#route-preview[hidden],.hud.is-previewing-route #route-status{display:none}.route-preview-text{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;display:flex}.route-preview-text b{font-weight:600}.route-preview-text small,#route-status .route-eta{color:#cfe2dc;font-variant-numeric:tabular-nums;font-size:12px}#route-status .route-eta:empty{display:none}.route-preview-cancel{background:#ffffff1f;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;line-height:1;display:grid}.route-preview-cancel:hover{background:#fff3}#route-preview.is-planning b:after{content:"";background:var(--gold);vertical-align:2px;border-radius:50%;width:6px;height:6px;margin-left:8px;animation:.9s ease-in-out infinite pulse;display:inline-block}@keyframes route-preview-in{0%{opacity:0;transform:translate(-50%,-6px)}}#gold-button{position:relative}.coin-pop{--pop-dx:0px;--pop-dy:-8px;background:var(--gold);color:var(--deep);font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:var(--shadow-sm);pointer-events:none;opacity:0;translate:-50%;transform:translate(calc(var(--pop-dx) * -1), calc(var(--pop-dy) * -1));border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;position:absolute;top:calc(100% + 6px);left:50%}.coin-pop.is-spend{background:var(--cream);color:var(--muted)}.coin-pop.is-points{background:var(--deep);color:var(--gold)}#gold-button>.coin-pop.is-points{top:calc(100% + 32px)}.coin-pop.is-showing{animation:coin-pop 1.2s var(--ease) both}@keyframes coin-pop{0%{opacity:0;transform:translate(calc(var(--pop-dx) * -1), calc(var(--pop-dy) * -1)) scale(.85)}18%{opacity:1;transform:scale(1.06)}70%{opacity:1;transform:translate(calc(var(--pop-dx) * .25), calc(var(--pop-dy) * .25))}to{opacity:0;transform:translate(var(--pop-dx), var(--pop-dy))}}@media (prefers-reduced-motion:reduce){.coin-pop.is-showing{opacity:1;transform:none}}.resource .icon.coin-bump{animation:coin-bump .5s var(--ease)}@keyframes coin-bump{35%{transform:translateY(-4px)rotate(-14deg)scale(1.25)}}.onboarding-banner{background:var(--glass);background-image:var(--sheen);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);color:var(--ink);border-radius:18px;align-items:center;gap:12px;padding:9px 8px 9px 16px;display:flex}.onboarding-banner[hidden]{display:none}.onboarding-banner.is-new{animation:onboarding-in .35s var(--ease) both}.onboarding-dots{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.onboarding-dots li{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.onboarding-dots .is-done{background:var(--teal)}.onboarding-dots .is-current{background:var(--gold);box-shadow:0 0 0 3px #e8b95a40}.onboarding-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.onboarding-text small{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.onboarding-text b{font:500 19px/1.15 Cormorant Garamond,serif}.onboarding-text span{color:#3d605c;font-size:12.5px;line-height:1.35}.onboarding-skip{color:var(--muted);background:0 0;border-radius:12px;align-self:stretch;padding:0 12px;font-size:12px;font-weight:600}.onboarding-skip:hover{color:var(--ink);background:#1f47440f}@keyframes onboarding-in{0%{opacity:0;transform:translateY(-6px)}}.buoy-label{color:var(--ink);text-shadow:none;background:#fffaf0e6;border-radius:999px;padding:3px 9px;font-size:11px;top:0;left:0;box-shadow:0 1px 2px #0b3a4526,0 4px 10px #0b3a451f}.buoy-label.is-edge:after{content:"→";color:#c9492f;transform:rotate(var(--pointing,0deg));margin-left:5px;display:inline-block}.map-course{fill:none;stroke-linecap:round;stroke-linejoin:round}.map-course.is-preview{stroke:#f6d58c;stroke-width:calc(3px * var(--u,1));stroke-dasharray:calc(7px * var(--u,1)) calc(6px * var(--u,1))}.map-course.is-active{stroke:#fff8e8cc;stroke-width:calc(2px * var(--u,1));stroke-dasharray:calc(4px * var(--u,1)) calc(6px * var(--u,1))}.map-course-end{fill:#f6d58c;stroke:#fff8e8;stroke-width:2px}.map-buoy{fill:#d9573b;stroke:#fff8e8;stroke-width:2px}button[data-busy]{cursor:progress;animation:1s ease-in-out infinite busy-breathe}@keyframes busy-breathe{50%{opacity:.35}}.sound-control{background:var(--sand);min-height:40px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;flex-shrink:0;align-items:center;gap:12px;padding:3px 14px 3px 3px;display:inline-flex}.sound-switch{background:var(--teal);width:34px;height:34px;color:var(--cream);border-radius:999px;place-items:center;padding:0;display:inline-grid}.sound-switch[aria-pressed=false]{color:var(--muted);background:0 0}.sound-switch .icon{width:18px;height:18px}.sound-volume{--fill:60%;appearance:none;background:linear-gradient(90deg, var(--teal) var(--fill), var(--line-strong) var(--fill));cursor:pointer;border-radius:999px;width:96px;height:4px;margin:0}.sound-volume::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--teal);background:var(--cream);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:50%}.sound-volume::-moz-range-thumb{border:2px solid var(--teal);background:var(--cream);width:14px;height:14px;box-shadow:var(--shadow-sm);border-radius:50%}.sound-volume:focus-visible{outline:2px solid var(--teal);outline-offset:6px}@media (width>=1101px) and (height>=521px){#route-preview{top:calc(var(--top) + 64px)}}@media (width<=1100px){#route-preview{top:calc(var(--top) + 70px)}}@media (width<=700px){#route-preview{top:calc(var(--top) + 56px);left:calc(var(--edge) + env(safe-area-inset-left,0px));right:calc(var(--edge) + env(safe-area-inset-right,0px));justify-content:flex-end;gap:6px;max-width:none;min-height:40px;padding-left:12px;font-size:12px;animation:none;transform:none}.route-preview-text{flex:1}.onboarding-banner{gap:10px;padding:7px 6px 7px 12px}.onboarding-text b{font-size:17px}.onboarding-text span{font-size:12px}}@media (height<=520px) and (orientation:landscape){#route-preview{top:calc(var(--top) + 56px);left:calc(var(--edge) + env(safe-area-inset-left,0px));max-width:calc(100% - min(340px, 42vw) - 3 * var(--edge) - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));min-height:40px;font-size:12px;animation:none;right:auto;transform:none}}.captain-dot{background:var(--captain,var(--teal));width:12px;height:12px;box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--line-strong);border-radius:50%;flex-shrink:0}.social-switch button{align-items:center;gap:6px;display:inline-flex}.social-count{background:var(--coral);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.social-switch+.section-label,.social-switch+.social-heading .section-label{margin-top:0}.social-heading{justify-content:space-between;align-items:baseline;display:flex}.social-link{color:var(--teal);background:0 0;padding:6px 0;font-size:13px;font-weight:600}.social-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.social-who{flex:1;min-width:0}.social-who b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.social-who small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.social-row.is-offline .social-who,.social-row.is-offline .captain-dot{opacity:.55}.social-badge{color:#6b4d12;letter-spacing:.08em;text-transform:uppercase;vertical-align:1px;background:#f3d08e59;border-radius:6px;padding:2px 6px;font-size:10px;font-weight:700}.social-actions,.social-banner-actions{flex-shrink:0;gap:6px;display:flex}.social-button{background:var(--sand);min-height:36px;box-shadow:inset 0 0 0 1px var(--line);color:#1f4744;white-space:nowrap;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.social-button:not(:disabled):hover{background:#e9e5d0}.social-button.is-primary{background:var(--teal);box-shadow:none;color:var(--cream)}.social-button.is-primary:not(:disabled):hover{background:var(--teal-deep)}.social-empty{padding:12px 0 4px}.social-bonus{border-radius:var(--radius-m);background:#f3d08e33;gap:10px;margin:18px 0 4px;padding:14px 16px;display:grid;box-shadow:inset 0 0 0 1px #e8b95a66}.social-bonus b{font-size:14px}.social-bonus small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.social-meter{background:#1f47441a;border-radius:6px;height:6px;display:block;overflow:hidden}.social-meter i{background:var(--gold);transform-origin:0;height:100%;display:block}.social-bonus.is-earned .social-meter i{background:var(--teal)}.social-crew-actions{margin-top:18px}.social-crew-actions .social-button{border-radius:12px;min-height:48px}.social-banners{flex-direction:column;gap:6px;width:100%;display:flex}.social-banners:empty{display:none}.social-banner{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);color:var(--ink);animation:social-in .25s var(--ease) both;border-radius:16px;align-items:center;gap:12px;padding:12px 12px 14px 16px;display:flex;position:relative;overflow:hidden}.social-banner>div:first-of-type{flex:1;min-width:0}.social-banner b{font-size:14px;display:block}.social-banner small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.social-banner-time{background:var(--teal);opacity:.55;transform-origin:0;height:3px;animation:linear forwards social-countdown;position:absolute;bottom:0;left:0;right:0}@keyframes social-countdown{to{transform:scaleX(0)}}@keyframes social-in{0%{opacity:0;transform:translateY(-6px)}}.chat-bubble[data-channel=crew]{box-shadow:inset 0 0 0 2px #287a7666,0 8px 22px -6px #0b3a4559}.chat-bubble[data-channel=crew] small:before{content:"Crew · "}.crew-tag{color:var(--cream);white-space:nowrap;will-change:transform;background:#0a323c8c;border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 6px;font-size:11px;font-weight:600;display:inline-flex;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 1px #ffffff26}.crew-tag i{background:var(--captain,var(--teal));width:8px;height:8px;box-shadow:0 0 0 1.5px var(--cream);border-radius:50%}.map-captain-dot{fill:var(--captain,var(--teal));stroke:#fff8e8;stroke-width:1.5px}.map-captain.is-ashore .map-captain-dot{stroke-dasharray:2 2}.map-captain-ring{fill:#fff8e82e;stroke:var(--captain,var(--teal));stroke-width:2px}.map-captain-name{fill:#fff8e8;font-size:calc(12px * var(--u,1));dominant-baseline:middle;paint-order:stroke;stroke:#0b3a45d9;stroke-width:calc(3px * var(--u,1));stroke-linejoin:round;font-weight:500}.map-captain.is-crew .map-captain-name{font-weight:700}@media (width<=700px){.social-banner{flex-wrap:wrap}.social-banner-actions{justify-content:flex-end;width:100%}.social-row{flex-wrap:wrap}.social-who{flex-basis:150px}.social-actions{margin-left:24px}}@media (pointer:coarse){.social-button{min-height:40px}}.chat-tools .icon{stroke-width:1.7px;width:15px;height:15px}.online-tool[aria-expanded=true]{background:var(--cream);box-shadow:none;color:var(--teal-deep)}.online-list{pointer-events:auto;z-index:30;width:min(330px,100vw - 24px);max-height:min(560px, calc(var(--app-height,100dvh) - var(--top) - 160px));background-color:#fffbf2f2;background-image:var(--sheen);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow-lg);color:var(--ink);animation:social-in .2s var(--ease) both;border-radius:22px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.online-list[hidden]{display:none}.online-list header{border-bottom:1px solid var(--hairline);padding:16px 18px 10px}.online-list header b{font:500 25px/1.1 Cormorant Garamond,serif;display:block}.online-list header small{color:var(--muted);font-size:13px}.online-body{overscroll-behavior:contain;padding:4px 8px 10px;overflow-y:auto}.online-body h4{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:10px 10px 4px;font-size:10.5px;font-weight:600}.online-empty{color:var(--muted);margin:14px 10px;font-size:13.5px}.online-row{width:100%;color:var(--ink);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;padding:7px 10px;display:flex}button.online-row:hover{background:#1f47440d}.online-row>span{flex:1;min-width:0}.online-row b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.online-row b small{color:var(--muted);font-weight:500}.online-row>span>small{color:var(--muted);font-size:12px;display:block}.online-row em{max-width:48%;color:var(--ink-soft);text-align:right;font-size:12px;font-style:normal}.online-row em.is-muted{color:#b3473a;font-weight:600}.online-row.is-muted b{color:var(--muted);-webkit-text-decoration:line-through #66707066;text-decoration:line-through #66707066}.captain-card{pointer-events:auto;z-index:31;background-color:#fffbf2f7;background-image:var(--sheen);width:min(280px,100vw - 24px);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow-lg);color:var(--ink);border-radius:18px;padding:14px;position:fixed}.captain-card[hidden]{display:none}.captain-card-top{align-items:center;gap:11px;margin-bottom:10px;display:flex}.captain-face{background:var(--captain,var(--teal));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;font-weight:600;display:grid;box-shadow:inset 0 0 0 1.5px #ffffff59}.captain-card-top>div{min-width:0}.captain-card-top b{text-overflow:ellipsis;white-space:nowrap;font:500 22px/1.1 Cormorant Garamond,serif;display:block;overflow:hidden}.captain-card-top small{color:var(--muted);font-size:12.5px;display:block}.captain-card-actions{gap:2px;display:grid}.captain-card-actions button{min-height:38px;color:var(--ink);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;padding:0 10px;font-size:14px;font-weight:600;display:flex}.captain-card-actions button:not(:disabled):hover{background:#1f47440f}.captain-card-actions button:disabled{color:var(--muted)}.captain-card-actions .icon{width:18px;height:18px;color:var(--teal)}.captain-card-actions button:disabled .icon{color:var(--muted)}.captain-card-actions .is-danger,.captain-card-actions .is-danger .icon{color:#b3473a}.captain-card-actions hr{border:0;border-top:1px solid var(--hairline-strong);width:100%;margin:4px 0}@media (width<=700px),(height<=520px) and (orientation:landscape){@media (pointer:coarse){.captain-card-actions button{min-height:44px}}}#chat-form>.emote-row{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;margin:6px 10px 0;display:grid}#chat-form .emote-row button{background:#ffffff0d;border-radius:10px;place-items:center;height:34px;padding:0;font-size:19px;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a}#chat-form .emote-row button:hover{background:#ffffff1f}#chat-form .emote-row button:active{transform:scale(.94)}@media (width<=420px){#chat-form>.emote-row{gap:2px}#chat-form .emote-row button{border-radius:9px;height:32px;font-size:17px}}.chat-bubble[data-channel=emote]{padding:5px 12px 7px}.chat-bubble[data-channel=emote] span{text-align:center;font-size:30px;line-height:1.05;display:block}@media (prefers-reduced-motion:no-preference){.chat-bubble[data-channel=emote] span{animation:emote-pop .35s var(--ease) both}@keyframes emote-pop{0%{opacity:0;transform:scale(.4)}}}.chat-gate{background:#ffffff0f;border-radius:16px;align-items:center;gap:10px;margin:8px 10px 10px;padding:9px 10px 9px 14px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a}.chat-gate[hidden]{display:none}.chat-gate p{color:#dbe9e4;flex:1;margin:0;font-size:12.5px;line-height:1.4}.chat-gate button{background:var(--cream);height:34px;color:var(--teal-deep);border-radius:999px;flex-shrink:0;padding:0 14px;font-size:12.5px;font-weight:600}.chat-gate button:hover{background:#fff}.reports-tool[hidden]{display:none}.report-row{align-items:flex-start}.report-row q{color:var(--ink-soft);quotes:none;overflow-wrap:anywhere;background:#1f47440a;border-left:2px solid #e8b95a;border-radius:0 6px 6px 0;margin-top:4px;padding:4px 8px;font-size:12.5px;display:block}.report-row q.is-empty{color:var(--muted);font-style:italic}.moderator-actions{border-top:1px solid var(--hairline-strong);flex-wrap:wrap;gap:4px;margin-top:6px;padding-top:8px;display:flex}.moderator-actions small{width:100%;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:10.5px;font-weight:600}.captain-card-actions .moderator-actions button{min-height:30px;box-shadow:inset 0 0 0 1px var(--hairline-strong);border-radius:999px;padding:0 10px;font-size:12px}.account-options{gap:0;display:grid}.account-google{justify-content:center;min-height:44px;display:flex}.account-or{color:var(--muted);align-items:center;gap:12px;margin:16px 0 14px;font-size:12px;display:flex}.account-or:before,.account-or:after{content:"";background:var(--line);flex:1;height:1px}.account-options label{color:var(--ink);margin:0 0 9px;font-size:14px;font-weight:600;display:block}.account-email{gap:10px;display:grid}#account-email{width:100%;height:48px;box-shadow:inset 0 0 0 1px var(--line-strong), 0 1px 2px #1f474410;color:var(--ink);background:#fff;border:0;border-radius:12px;padding:11px 16px;font-size:15px;transition:box-shadow .15s}#account-email:focus-visible{box-shadow:inset 0 0 0 2px var(--teal), 0 0 0 4px #287a761f;outline:0}.account-email .primary-button{width:100%;min-height:48px}.account-small{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.account-sent{color:var(--teal-deep);background:#e4efe8;border-radius:14px;align-items:flex-start;gap:10px;margin:14px 0 0;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.account-sent .icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.identity .account-sent{margin:0 0 18px}.identity-note{color:var(--teal-deep);text-align:center;background:#e4efe8;border-radius:12px;margin:-8px 0 18px;padding:10px 12px;font-size:13px;line-height:1.5}.identity-signin{color:var(--teal-deep);font-weight:600}.account-note{color:var(--ink);margin:0 0 14px;font-size:14px;line-height:1.55}.account-note b{overflow-wrap:anywhere}.account-captains{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px;display:grid}.account-captain{min-width:0;box-shadow:inset 0 0 0 1px var(--line);text-align:center;color:var(--muted);background:#fffaf2;border-radius:14px;align-content:start;justify-items:center;gap:4px;padding:12px 10px 14px;font-size:12px;line-height:1.4;display:grid}.account-captain small,.identity .account-captain small{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:10.5px;font-weight:700}.account-captain .saved-colour{width:44px;height:44px;margin-bottom:2px}.account-captain b{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.account-when{font-size:11px}.account-choice .primary-button,.account-choice .secondary-button{width:100%;min-height:46px}.account-choice .secondary-button{margin-top:10px}.account-choice .account-small{margin:8px 0 4px}.account-warning{color:#7a4a33;background:#fbeee2;border-radius:12px;margin:10px 0 0;padding:10px 12px;font-size:12.5px;line-height:1.5}.account-page{grid-template-columns:minmax(0,1fr);display:grid}.account-status{box-shadow:inset 0 0 0 1px var(--line);background:#fffaf2;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.account-status b{color:var(--ink);font-size:14px;display:block}.account-status small{overflow-wrap:anywhere;color:var(--muted);margin-top:3px;font-size:12.5px;line-height:1.5;display:block}.account-mark{color:#8a6420;background:#f5e8c8;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.account-status.is-saved .account-mark{color:var(--teal-deep);background:#dcebe3}.account-mark .icon{width:20px;height:20px}.account-form{margin-top:18px}.account-page .account-choice{margin-top:4px}.account-details{box-shadow:inset 0 0 0 1px var(--line);background:#fffaf2;border-radius:14px;grid-template-columns:minmax(0,1fr);margin:0 0 8px;display:grid}.account-row{align-items:center;gap:12px;margin:0;padding:12px 14px;display:flex}.account-row+.account-row{border-top:1px solid var(--line)}.account-row>div{flex:1;min-width:0}.account-row small,.account-row label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:600;display:block}.account-row b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:14px;display:block;overflow:hidden}.account-row .account-mark{width:34px;height:34px;color:var(--teal-deep);background:#e7efe9}.account-row .account-mark .icon{width:18px;height:18px}.account-row.account-sent{background:#e4efe8;border-radius:0;align-items:flex-start}.account-row.account-sent:last-child{border-radius:0 0 14px 14px}.account-small-button{min-height:32px;color:var(--teal-deep);background:#1f47440f;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:12.5px;font-weight:600}.account-small-button:hover{background:#1f47441a}.account-signout{color:#8a3f31;background:#a14c3b12;justify-self:start;margin-top:4px}.account-signout:hover{background:#a14c3b1f}.account-signout-all{min-height:32px;color:var(--muted);text-underline-offset:2px;background:0 0;justify-self:start;margin-top:2px;padding:6px 2px;font-size:12px;text-decoration:underline}.account-signout-all:hover{color:#8a3f31}.account-inline{align-items:center;gap:8px;margin-top:6px;display:flex}.account-inline input{min-width:0;height:40px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);background:#fff;border:0;border-radius:10px;flex:1;padding:8px 12px;font-size:14px}.account-inline input:focus-visible{box-shadow:inset 0 0 0 2px var(--teal), 0 0 0 3px #287a761f;outline:0}.account-inline .primary-button,.account-inline .secondary-button{border-radius:10px;flex-shrink:0;min-height:40px;padding:8px 16px;font-size:13px}.account-icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.account-icon-button:hover{color:var(--ink);background:#1f47440f}.account-icon-button .icon{width:16px;height:16px}.account-hint{color:var(--muted);margin:6px 0 10px;font-size:12px;line-height:1.5}.account-row .account-hint{margin:6px 0 0}.account-lead{margin-top:0;font-size:13px}.account-confirm{background:#a14c3b0d;border-radius:14px;margin-top:4px;padding:12px 14px;box-shadow:inset 0 0 0 1px #a14c3b33}.account-confirm p{color:var(--ink);margin:0;font-size:13px;line-height:1.5}.account-confirm .account-inline{flex-wrap:wrap}.account-page .account-warning,.account-page .button-row{margin-top:12px}.account-danger{background:#a25040}.account-error{color:#a14c3b;margin:12px 0 0;font-size:13px;line-height:1.5}.account-error:empty{display:none}.account-banner{background:var(--glass);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);color:var(--ink);animation:account-in .35s var(--ease) both;border-radius:16px;align-items:center;gap:10px;padding:9px 8px 9px 10px;display:flex}@keyframes account-in{0%{opacity:0;transform:translateY(-8px)}}.account-banner>div{flex:1;min-width:0}.account-banner b{font-size:13px;display:block}.account-banner p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:12px;line-height:1.4;overflow:hidden}.account-banner-mark{color:#8a6420;background:#f5e8c8;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.account-banner-mark .icon{width:18px;height:18px}.account-banner-open{background:var(--teal);min-height:34px;color:var(--cream);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.account-banner-open .icon{width:15px;height:15px}.account-banner-close{width:30px;height:30px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.account-banner-close .icon{width:16px;height:16px}@media (prefers-reduced-motion:reduce){.account-banner{animation:none}}@media (width<=370px){.account-captains{gap:6px}.account-captain{padding:10px 6px 12px}}.captain-dialog{grid-template-columns:minmax(0,1fr);display:grid}.captain-dialog-head{align-items:center;gap:14px;margin:2px 0 4px;display:flex}.captain-dialog-head>div{min-width:0}.captain-dialog-head b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font:500 26px/1.15 Cormorant Garamond,serif;display:block;overflow:hidden}.captain-dialog-head small{overflow-wrap:anywhere;color:var(--muted);margin-top:3px;font-size:12.5px;display:block}.captain-form label{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:600;display:block}#captain-name-input,#boat-name-input{width:100%;height:46px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);background:#fff;border:0;border-radius:12px;padding:10px 14px;font-size:15px}#captain-name-input:focus-visible,#boat-name-input:focus-visible{box-shadow:inset 0 0 0 2px var(--teal), 0 0 0 4px #287a761f;outline:0}#boat-name-input::placeholder{color:var(--muted)}.captain-form label[for=boat-name-input]{margin-top:14px}.captain-form fieldset{border:0;margin:16px 0;padding:0}.captain-form legend{color:var(--ink);margin:0 0 8px;font-size:13px;font-weight:600}.captain-form .primary-button{border-radius:10px;min-height:40px;padding:8px 18px;font-size:13px}.captain-form fieldset+.primary-button{justify-self:start}.captain-form{display:grid}.captain-dialog .account-details{margin-top:0}.captain-dialog .account-email{grid-template-columns:minmax(0,1fr) auto;gap:8px}.captain-dialog #account-email{height:42px;font-size:14px}.captain-dialog .account-email .primary-button{border-radius:10px;width:auto;min-height:42px;padding:8px 16px;font-size:13px}.captain-dialog .account-options label{font-size:13px}.feedback-form{gap:10px;display:grid}.feedback-form>label{color:var(--ink);font-size:13px;font-weight:600}.feedback-kinds{border:0;flex-wrap:wrap;gap:8px;margin:0 0 4px;padding:0;display:flex}.feedback-kinds legend{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:600}.feedback-kind{position:relative}.feedback-kind input{opacity:0;pointer-events:none;position:absolute}.feedback-kind span{min-height:36px;box-shadow:inset 0 0 0 1px var(--line);color:var(--muted);cursor:pointer;background:#fff9;border-radius:999px;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.feedback-kind input:checked+span{background:var(--teal);color:var(--cream);box-shadow:none}.feedback-kind input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.feedback-form textarea{border:1px solid var(--line-strong);width:100%;min-height:140px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border-radius:14px;padding:12px 14px;font-size:15px;line-height:1.5}.feedback-form textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:#0000}.feedback-count{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-4px;font-size:12px}.feedback-note{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.feedback-sent{text-align:center;justify-items:center;gap:8px;padding:18px 0 6px;display:grid}.feedback-sent>.icon{width:40px;height:40px;color:var(--teal);background:#dceadd;border-radius:50%;padding:8px}.feedback-sent h3{margin:4px 0 0;font:500 26px/1.1 Cormorant Garamond,serif}.feedback-sent p{color:var(--muted);margin:0 0 8px;font-size:14px}body.photo-mode .hud>:not(#connection-status),body.photo-mode #world-labels,body.photo-mode #chat-bubbles,body.photo-mode .map-overlay,body.photo-mode .powerup-effects,body.photo-mode #whale-notice,body.photo-mode #fishing-root,body.photo-mode .debug-toggle,body.photo-mode .debug-panel{display:none!important}body.photo-mode #toast{top:calc(env(safe-area-inset-top,0px) + 16px);bottom:auto}body.photo-mode #app #toast{bottom:auto!important}.photo-bar{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);z-index:18;pointer-events:none;flex-direction:column;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.photo-bar[hidden]{display:none}#app:has(#panel:not([hidden])) .photo-bar{display:none}.photo-hint{background:var(--glass-dark);color:var(--cream);white-space:nowrap;border-radius:999px;margin:0;padding:8px 16px;font-size:13px;transition:opacity .6s}.photo-hint.is-faded{opacity:0}.photo-looks{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);pointer-events:auto;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:2px;padding:3px;display:flex}.photo-looks[hidden]{display:none}.photo-looks button{min-height:32px;color:var(--ink);white-space:nowrap;border-radius:999px;padding:0 12px;font-size:13px}.photo-looks button[aria-pressed=true]{background:var(--cream);font-weight:600;box-shadow:inset 0 0 0 1px #0b3a4526}.photo-looks button:focus-visible{outline:3px solid var(--gold);outline-offset:1px}@media (width<=440px){.photo-looks button{min-height:30px;padding:0 8px;font-size:12px}}.photo-controls{pointer-events:auto;grid-template-columns:48px 72px 48px;align-items:center;gap:22px;display:grid}.photo-close{background:var(--glass);width:48px;height:48px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);color:var(--ink);border-radius:50%;place-items:center;display:grid}.photo-close .icon{width:22px;height:22px}.photo-shutter{width:72px;height:72px;box-shadow:0 0 0 4px #fffaf0, 0 0 0 5px #0b3a4533, var(--shadow);background:#fffaf0d0;border-radius:50%;place-items:center;display:grid}.photo-shutter span{background:var(--cream);width:54px;height:54px;transition:transform .15s var(--ease);border-radius:50%;box-shadow:inset 0 0 0 2px #0b3a4526}.photo-shutter:active span{transform:scale(.88)}.photo-shutter:focus-visible,.photo-close:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.photo-flash{opacity:0;pointer-events:none;z-index:17;background:#fff;position:fixed;inset:0}.photo-flash.is-flashing{animation:.45s ease-out both photo-flash}@keyframes photo-flash{0%{opacity:.85}to{opacity:0}}@media (width>=701px){.postcard-panel{width:560px}}.postcard-view{margin:4px 0 16px}.postcard-view img{object-fit:contain;width:100%;max-height:min(56dvh,520px);box-shadow:var(--shadow);background:var(--sand);border-radius:6px;display:block}.postcard-actions{flex-wrap:wrap;gap:10px;display:flex}.postcard-actions>button{flex:140px}.whale-notice-postcard{margin-left:auto}.tour-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #8fd0d659, var(--shadow-sm);color:var(--cream);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:24px;align-items:center;gap:10px;padding:6px 14px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.tour-banner[hidden]{display:none}.tour-seal{color:#1f5f6b;background:#d7ecec;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.tour-seal .icon{width:18px;height:18px}.tour-text{flex:1;gap:1px;min-width:0;display:grid}.tour-text small{color:#e9f2eccc;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.tour-text b{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.tour-meter{background:#ffffff26;border-radius:4px;height:4px;margin-top:4px;display:block;overflow:hidden}.tour-meter[hidden]{display:none}.tour-meter i{background:linear-gradient(90deg, #8fd0d6, var(--gold));transform-origin:0;height:100%;transition:transform .4s ease-out;display:block}.tour-card .voyage-seal.tour-seal{width:42px;height:42px}.tour-card .voyage-seal.tour-seal .icon{width:22px;height:22px}.tour-lead{margin:12px 0 0;font-size:13px;line-height:1.55}.tour-facts{color:var(--muted);gap:4px;margin:10px 0 0;padding:0 0 0 18px;font-size:12.5px;line-height:1.45;display:grid}.tour-card .tour-meter{background:#d6dcc6;height:6px;margin:12px 0 0}.tour-card .tour-meter i{background:linear-gradient(90deg,#6fa393,#e8b95a)}.tour-refusal{margin:10px 0 0}.tour-caption{margin-top:12px;font-size:12px}.map-tour-harbour circle{fill:#2f6f78;stroke:#fff8e8;stroke-width:1.5px}.tour-map-tail{fill:#fff8e8;stroke:none}.tour-sighting-ring{fill:#8fd0d626;stroke:#d2f2f2;stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite tour-sighting-pulse}.tour-sighting-dot{fill:#3f8f9a;stroke:#fff8e8;stroke-width:1.2px}.map-tour-sighting.is-dolphin .tour-sighting-dot{fill:#5aa7b0}@keyframes tour-sighting-pulse{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.tour-sighting-ring{animation:none}.tour-meter i{transition:none}}.letter-notice{margin-top:18px}.letter-form{gap:8px;margin-top:18px;display:grid}.letter-form>label{color:var(--ink);font-size:13px;font-weight:600}.letter-form textarea{color:#3b3326;resize:vertical;background:linear-gradient(170deg,#fffdf6,#fbf1d9);border:1px solid #e3d5ae;border-radius:14px;width:100%;min-height:112px;padding:12px 14px;font:italic 500 19px/1.4 Cormorant Garamond,serif}.letter-form textarea::placeholder{color:#a8997a}.letter-form textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:#0000}.letter-count{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-4px;font-size:12px}.letter-error{color:#a8452f;margin:0;font-size:12.5px;line-height:1.4}.letter-error:empty{display:none}.letter-card .card-title{color:#3b3326;font:italic 500 16px/1.25 Cormorant Garamond,serif}.letter-card:not(.is-known) .card-title{color:#6d6450}.letter-card[open] .card-title{overflow-wrap:anywhere;font-size:18px;line-height:1.4;display:block;overflow:visible}.card-more .letter-sign{color:var(--muted);margin:0 0 10px}.letter-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.letter-card-actions .secondary-button{border-radius:999px;min-height:34px;padding:6px 14px;font-size:12.5px}.letter-card-actions [data-confirm=true],.letter-card-actions [data-confirm=true]:not(:disabled):hover{box-shadow:none;color:#fff;background:#a8452f}.letter-card-actions .card-status{margin-top:0}.card-more .letter-report-note{color:#a8452f;margin:8px 0 0;font-size:12px}.letter-empty{margin-top:0}.whale-notice.letter-note{background:linear-gradient(165deg,#fdf6e2 35%,#f3e4bf);border-color:#eadbb0;box-shadow:0 12px 38px #4a381735,0 2px 8px #4a381718}.letter-note-head{grid-template-columns:40px minmax(0,1fr) 28px;align-items:center;gap:12px;display:grid}.letter-note-seal{color:#fbe9d0;background:radial-gradient(circle at 35% 32%,#cf4c40,#8f1f18 72%);border-radius:50%;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 2px 6px #6d1a1450,inset 0 -2px 3px #0002}.letter-note-seal .icon{width:20px;height:20px}.letter-note-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#8a5a2b;margin:0;font-size:11px;font-weight:700}.letter-note-when{color:#7d6d52;margin:3px 0 0;font-size:12px}.letter-note-when:first-letter{text-transform:uppercase}.letter-note-text{color:#3b3326;overflow-wrap:anywhere;margin:14px 0 0;font:italic 500 20px/1.45 Cormorant Garamond,serif}.letter-note-sign{text-align:right;color:#6f5a3c;margin:10px 0 0;font-size:13px}.letter-note-hint{color:#a8452f;margin:8px 0 0;font-size:12px;line-height:1.4}.letter-note-actions{border-top:1px solid #6f5a3c22;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:12px;display:flex}.letter-note-actions button{min-height:34px;color:var(--teal-deep);background:#fffaf0;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600;box-shadow:inset 0 0 0 1px #dccb9f}.letter-note-actions button:not(:disabled):hover{background:var(--teal);box-shadow:none;color:var(--cream)}.letter-note-actions button:disabled{opacity:.7}.letter-note-actions button[data-confirm=true],.letter-note-actions button[data-confirm=true]:not(:disabled):hover{box-shadow:none;color:#fff;background:#a8452f}.letter-note-actions [data-letter-note=close]{margin-left:auto}.letter-note-actions [hidden]{display:none}@media (width<=700px){.letter-note-head{grid-template-columns:36px minmax(0,1fr) 28px;gap:10px}.letter-note-seal{width:36px;height:36px}.letter-note-text{margin-top:12px;font-size:18px}}.event-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.event-row{border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--line);--tone:#6b8ed6;--tone-soft:#e9eefa;--tone-ink:#37579a;background:#fffaf2;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;column-gap:12px;padding:10px;display:grid}.event-row[data-tone="1"]{--tone:#e0876a;--tone-soft:#fbece5;--tone-ink:#a14f33}.event-row[data-tone="2"]{--tone:#e8b95a;--tone-soft:#fbf2dc;--tone-ink:#82590f}.event-row[data-tone="3"]{--tone:#3f8f88;--tone-soft:#e1efec;--tone-ink:var(--teal-deep)}.event-leaf{background:var(--tone-soft);min-height:50px;box-shadow:inset 0 3px 0 var(--tone);border-radius:10px;align-content:center;align-self:start;justify-items:center;padding:7px 0 6px;line-height:1;display:grid}.event-leaf small{letter-spacing:.08em;text-transform:uppercase;color:var(--tone-ink);font-size:10px;font-weight:700}.event-leaf b{font-variant-numeric:lining-nums;color:var(--ink);margin-top:2px;font:600 24px/1 Cormorant Garamond,serif}.event-leaf i{color:var(--muted);margin-top:1px;font-size:9.5px;font-style:normal}.event-title,.event-meta{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.event-title{color:var(--ink);font-size:14px;font-weight:600;line-height:1.25}.event-meta{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.4}.event-when{background:var(--tone-soft);color:var(--tone-ink);vertical-align:1px;border-radius:999px;margin-right:6px;padding:1px 7px;font-size:10.5px;font-weight:700;display:inline-block}.event-go{background:var(--sand);width:28px;height:28px;color:var(--teal-deep);border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.event-go svg{width:14px;height:14px}.event-go:hover{background:var(--teal);color:#fff}.event-go:active{transform:scale(.94)}.event-go:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.event-hint{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.event-credit{color:var(--muted);text-align:center;margin-top:16px;font-size:12px}.event-credit a{color:var(--teal-deep);font-weight:600;text-decoration:none}.event-credit a:hover{text-decoration:underline}.event-empty{border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--line);text-align:center;color:var(--muted);background:#fffaf2;justify-items:center;gap:8px;padding:22px 20px;font-size:13px;display:grid}.event-signpost{width:44px;height:44px}.event-list.is-loading .event-leaf{background:var(--sand);box-shadow:none}.event-bar{background:var(--sand);border-radius:6px;height:11px;display:block}.event-bar.is-short{width:55%;margin-top:8px}.event-list.is-loading .event-row{grid-template-columns:44px minmax(0,1fr);animation:1.4s ease-in-out infinite event-wait}@keyframes event-wait{50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.event-list.is-loading .event-row{animation:none}.event-go{transition:none}}.map-card svg.is-charting .map-island{stroke:none;fill-opacity:calc(.34 + .66 * var(--charted,0));transition:fill-opacity .8s var(--ease)}.chart-pencil{fill:none;stroke:#dfe8e3;stroke-opacity:.55;stroke-width:calc(.9px * var(--u,1));stroke-dasharray:calc(1.7px * var(--u,1)) calc(1.5px * var(--u,1));stroke-linecap:round;stroke-linejoin:round}.chart-ink{fill:none;stroke:#fff8e8;stroke-opacity:.95;stroke-width:calc(1.5px * var(--u,1));stroke-linecap:round;stroke-linejoin:round}.chart-flag-pole{fill:none;stroke:var(--chart-cream,#f6ecd4);stroke-width:1.4px;stroke-linecap:round}.chart-flag-cloth{fill:var(--gold);stroke:#fff8e8;stroke-width:.8px;stroke-linejoin:round}.chart-mystery circle{fill:#041b22;fill-opacity:.5;stroke:var(--chart-cream,#f6ecd4);stroke-opacity:.45;stroke-width:.9px}.chart-mystery text{fill:var(--chart-cream,#f6ecd4);fill-opacity:.78;text-anchor:middle;font:700 9px DM Sans,sans-serif}.map-layer[data-map-layer=chart-mysteries]{opacity:.85}.collection-entry small.chart-note{color:var(--teal)}.collection-entry small.chart-note.is-round{color:#b8862e;font-weight:600}@media (width<=700px){.map-layer .chart-mystery{transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.map-card svg.is-charting .map-island{transition:none}}.rainbow-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #f2d79a59, var(--shadow-sm);color:var(--cream);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.rainbow-banner[hidden]{display:none}.rainbow-banner>div{flex:1;min-width:0}.rainbow-banner b,.rainbow-banner small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.rainbow-banner b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.rainbow-banner small{color:#e9f2eccc;font-variant-numeric:tabular-nums;margin-top:1px;font-size:11.5px}.rainbow-seal{background:#f7f1e0;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.rainbow-seal svg{width:26px;height:26px;overflow:visible}.rainbow-banner .rainbow-banner-go{background:var(--cream);min-height:32px;color:var(--ink);border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.rainbow-banner .rainbow-banner-go[hidden]{display:none}.rainbow-icon path{stroke-width:2.1px}.rainbow-icon .rainbow-red{stroke:#e0574a}.rainbow-icon .rainbow-yellow{stroke:#e8b23c}.rainbow-icon .rainbow-blue{stroke:#4f86d8}.rainbow-map>circle{fill:#f7f1e0;stroke:#123d45b3;stroke-width:1.2px}@media (width<=700px){.rainbow-banner .rainbow-banner-go{padding:6px 10px}}.recap-banner{background:var(--glass);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow);color:var(--ink);animation:recap-banner-in .35s var(--ease) both;border-radius:16px;align-items:center;gap:10px;padding:9px 8px 9px 10px;display:flex}.recap-banner[hidden]{display:none}@keyframes recap-banner-in{0%{opacity:0;transform:translateY(-8px)}}.recap-banner>div{flex:1;min-width:0}.recap-banner b{font-size:13px;display:block}.recap-banner p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.4}.recap-banner-mark{color:#7a5a1c;background:#f3e2b5;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.recap-banner-mark .icon{width:18px;height:18px}.recap-banner-open{background:var(--teal);min-height:34px;color:var(--cream);border-radius:999px;flex-shrink:0;padding:7px 12px;font-size:12px;font-weight:600}.recap-banner-close{width:30px;height:30px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.recap-banner-close .icon{width:16px;height:16px}@media (width>=701px){.recap-panel{width:520px}}.recap-view{margin:4px 0 16px}.recap-view img{object-fit:contain;width:100%;max-height:min(62dvh,640px);box-shadow:var(--shadow);background:var(--sand);border-radius:6px;display:block}.recap-drawing{aspect-ratio:4/5;background:var(--sand);max-height:min(62dvh,640px);color:var(--muted);border-radius:6px;place-items:center;gap:8px;margin:0 auto;font-size:13px;display:grid}.recap-drawing .icon{width:28px;height:28px;animation:1.4s ease-in-out infinite alternate recap-drawing}@keyframes recap-drawing{0%{opacity:.35}}.recap-actions{flex-wrap:wrap;gap:10px;display:flex}.recap-actions>button{flex:140px}.recap-link{color:var(--ink);background:#f3e9cf;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;margin:22px 0 0;padding:10px 10px 10px 12px;font-size:13px;font-weight:600;display:flex}.recap-link>span{align-items:center;gap:8px;min-width:0;display:inline-flex}.recap-link .icon{flex-shrink:0;width:18px;height:18px}.recap-link button{flex-shrink:0;min-height:34px;padding:6px 12px}.riddle-card .voyage-seal{color:#5b3f8a;background:#e8def4}.riddle-card.is-solved .voyage-seal{color:#2f6b45;background:#d9ecd9}.riddle-card .riddle-text{white-space:pre-line;font-family:Cormorant Garamond,serif;font-size:18px;font-style:italic;font-weight:600;line-height:1.3}.riddle-card .adventure-detail b{color:var(--teal-deep)}.bom-dia-streak{margin-top:6px}@media (prefers-reduced-motion:reduce){.recap-banner,.recap-drawing .icon{animation:none}}.rankings-panel .rank-periods{margin:14px 0 0}.rank-chips{scrollbar-width:none;gap:4px;margin:12px 0 0;display:flex;overflow-x:auto}.rank-chips+.rank-chips{margin-top:6px}.rank-chips::-webkit-scrollbar{display:none}.rank-chips button{color:var(--muted);white-space:nowrap;box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0;border-radius:999px;flex:none;padding:6px 10px;font-size:11.5px;font-weight:600}.rank-chips button[aria-pressed=true]{background:var(--teal);color:var(--cream);box-shadow:none}.rankings-panel .rank-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;margin:20px 0 8px;display:flex}.rank-ends{letter-spacing:0;text-transform:none;font-size:11.5px;font-weight:500}.rank-rows{gap:2px;margin:0;padding:0;list-style:none;display:grid}.rank-rows li{border-radius:10px;grid-template-columns:minmax(28px,auto) 10px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:4px 10px 4px 4px;font-size:13px;display:grid}.rank-rows li.is-you{background:#f3e2b5}.rank-place{height:22px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 5px;font-size:12px;font-weight:700;display:grid}.rank-rows li[data-place="1"] .rank-place{color:#4a3510;background:#ecc862}.rank-rows li[data-place="2"] .rank-place{color:#3d4a48;background:#dfe0d6}.rank-rows li[data-place="3"] .rank-place{color:#4d2f18;background:#e9bb93}.rank-rows i{border-radius:50%;width:10px;height:10px;box-shadow:inset 0 0 0 1px #1f474433}.rank-rows b{white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-weight:500;overflow:hidden}.rank-rows li.is-you b{font-weight:700}.rank-score{font-variant-numeric:tabular-nums;color:#9a6a1f;font-weight:700}.rank-rows .rank-gap{min-height:0;color:var(--muted);text-align:center;padding:0;font-size:12px;line-height:1;display:block}.rank-note{color:var(--muted);margin:8px 0 0;font-size:12.5px;line-height:1.45}.play-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:var(--cream);pointer-events:auto;border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.play-banner[hidden]{display:none}.play-banner>div{flex:1;min-width:0}.play-banner b,.play-banner small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.play-banner b{font-size:13px;font-weight:600}.play-banner small{color:#e9f2eccc;margin-top:1px;font-size:11.5px}.play-seal{color:#fffaf0;background:#2f6f6b;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.play-seal .icon{width:19px;height:19px}.trail-banner .play-seal{background:#b8553f}.lighthouse-banner .play-seal{color:#ffe7a6;background:#1f4e6b}.lighthouse-banner.is-celebrating .play-seal{color:#fffaf0;background:#d9a93c}.play-banner time{font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:0 4px;font:600 17px/1 DM Sans,sans-serif}.trail-banner.is-running time{color:var(--gold)}.play-banner-action{background:var(--cream);color:var(--ink);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:600}.play-banner-action[hidden]{display:none}.play-banner-close{color:#e9f2ecd9;background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;font-size:18px;line-height:1;display:grid}.play-banner-close:hover{background:#ffffff26}.play-banner-close.is-leave{border-radius:999px;width:auto;padding:0 12px;font-size:12px;font-weight:600}.jump-overlay{z-index:5;pointer-events:auto;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent;position:absolute;inset:0}.jump-overlay[hidden]{display:none}body.is-jumping #context-button{visibility:hidden}.jump-cue{left:50%;bottom:calc(var(--bottom,24px) + 96px);width:118px;height:118px;color:var(--cream);text-align:center;pointer-events:none;background:#0b3a45b3;border-radius:50%;align-content:center;place-items:center;margin-left:-59px;display:grid;position:absolute;box-shadow:inset 0 0 0 2px #ffe29a,0 6px 24px #0b3a4566}.jump-cue[hidden]{display:none}.jump-cue b{color:#ffe29a;font:600 26px/1 DM Sans,sans-serif}.jump-cue small{max-width:92px;margin-top:4px;font-size:11px;line-height:1.2}.jump-cue.is-open{box-shadow:inset 0 0 0 2px #7cc6ff,0 6px 24px #0b3a4566}.jump-cue.is-open b{color:#7cc6ff}.jump-cue.is-pulsing{animation:.28s ease-out jump-pulse}@keyframes jump-pulse{0%{transform:scale(1.18)}}.jump-score{background:var(--glass-dark);min-width:190px;box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow);color:var(--cream);pointer-events:none;border-radius:18px;justify-items:center;gap:2px;padding:14px 22px;animation:.35s cubic-bezier(.2,1.4,.4,1) both jump-score;display:grid;position:absolute;top:30%;left:50%;transform:translate(-50%)}.jump-score[hidden]{display:none}.jump-score b{letter-spacing:.02em;font-size:15px;font-weight:600}.jump-score span{font-variant-numeric:tabular-nums;color:var(--gold);font:600 44px/1 DM Sans,sans-serif}.jump-score small{color:#e9f2ecd9;min-height:1em;font-size:12px}.jump-score[data-grade=perfect] span{color:#7cf0c4}.jump-score[data-grade=belly] span,.jump-score[data-grade=back] span,.jump-score[data-grade=cannonball] span{color:#ff9f7a}@keyframes jump-score{0%{opacity:0;transform:translate(-50%)scale(.7)}}@media (prefers-reduced-motion:reduce){.jump-cue.is-pulsing,.jump-score{animation:none}}@media (width<=700px){.jump-cue{bottom:calc(var(--thumbs-top,150px) + 12px);width:104px;height:104px;margin-left:-52px}.jump-score{top:24%}}.play-card{gap:12px;display:grid}.play-card .panel-intro{margin:0}.play-records{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.play-records>div{background:#f5f1e2;border:1px solid #d9d6c2;border-radius:14px;gap:2px;padding:11px 13px;display:grid}.play-records small{color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px;font-weight:600}.play-records b{font-variant-numeric:tabular-nums;font:600 24px/1.1 DM Sans,sans-serif}.play-records span{color:#5d6b67;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.play-how{align-items:flex-start;gap:10px;margin:0;font-size:13px;line-height:1.45;display:flex}.play-how .icon{color:var(--teal);flex-shrink:0}.play-card .panel-note{margin:0}.map-light-tower{fill:#e9efe8;stroke:#041b22;stroke-width:.8px}.map-light-lamp{fill:#6f7f80}.map-light{opacity:.6}.map-light.is-lit{opacity:1}.map-light.is-lit .map-light-lamp{fill:#ffe7a6}.map-light-beam{fill:#ffe7a6;fill-opacity:.55}.golf-holes{gap:2px;margin:12px 0;padding:0;font-size:12.5px;list-style:none;display:grid}.golf-holes li{background:#1f47440a;border-radius:8px;grid-template-columns:22px 1fr auto auto 22px;align-items:baseline;gap:8px;padding:5px 8px;display:grid}.golf-holes li:nth-child(odd){background:#1f474412}.golf-holes b{color:var(--ink);font:600 14px/1.2 Cormorant Garamond,serif}.golf-holes small{color:var(--muted);font-size:11px}.golf-holes span{color:var(--ink-soft);font-size:11.5px}.golf-holes em{color:var(--gold-ink);text-align:right;font-variant-numeric:tabular-nums;font-style:normal;font-weight:600}.golf-card-number{background:#2f6b48;border-radius:50%;place-items:center;width:20px;height:20px;font-weight:700;display:grid;color:#fffaf0!important;font-size:11px!important}.golf-card-actions{gap:8px;margin-top:4px;display:grid}.golf-card-actions .secondary-button{justify-content:center;align-items:center;gap:6px;display:flex}body.golf-mode .hud>:not(#connection-status),body.golf-mode #world-labels,body.golf-mode #chat-bubbles,body.golf-mode .powerup-effects,body.golf-mode #fishing-root,body.golf-mode .debug-toggle{opacity:0;pointer-events:none;transition:opacity .4s}body.golf-mode .map-overlay{display:none!important}body.golf-mode #connection-status{z-index:19}.golf-overlay{z-index:18;color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;position:fixed;inset:0}.golf-surface{cursor:crosshair;position:absolute;inset:0}.golf-anchor{pointer-events:none;border:2px dashed #ffffffbf;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;transition:background .12s,border-color .12s,transform .12s;position:absolute}.golf-anchor span{white-space:nowrap;color:#fff;opacity:0;background:#141c189e;border-radius:999px;padding:3px 9px;font-size:12px;transition:opacity .12s;position:absolute;top:70px;left:50%;transform:translate(-50%)}.golf-anchor.is-cancel{background:#ffffff38;border-style:solid;border-color:#fff;transform:scale(1.12)}.golf-anchor.is-cancel span{opacity:1}.golf-top{top:calc(10px + var(--safe-top));pointer-events:none;animation:golf-drop .5s var(--ease) both;align-items:flex-start;gap:8px;display:flex;position:absolute;left:12px;right:12px}.golf-hole,.golf-stats,.golf-tools .golf-icon{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--float-shadow)}.golf-hole{border-radius:999px;align-items:center;gap:9px;min-width:0;max-width:46%;padding:5px 14px 5px 5px;display:flex}.golf-hole>div{min-width:0}.golf-hole b,.golf-hole small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.golf-hole b{color:var(--ink);font:600 18px/1.1 Cormorant Garamond,serif}.golf-hole small{color:var(--ink-soft);font-size:11px}.golf-number{color:#fffaf0;font-variant-numeric:tabular-nums;background:radial-gradient(circle at 35% 30%,#4a9a63,#2f6b48);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font:700 15px/1 DM Sans,sans-serif;display:grid;box-shadow:inset 0 0 0 2px #ffffff40}.golf-stats{border-radius:999px;margin-left:auto;padding:4px 6px;display:flex}.golf-stat{justify-items:center;min-width:50px;padding:1px 8px;display:grid}.golf-stat+.golf-stat{border-left:1px solid var(--hairline-strong)}.golf-stat small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9.5px;font-weight:600}.golf-stat b{font-variant-numeric:tabular-nums;color:var(--ink);font:700 16px/1.15 DM Sans,sans-serif}.golf-tools{pointer-events:auto;gap:6px;display:flex}.golf-icon{width:40px;height:40px;color:var(--ink);pointer-events:auto;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.golf-icon:hover{filter:brightness(1.05)}.golf-icon.is-on{background:#fff4d6}.golf-icon .icon{width:19px;height:19px}.golf-banner{top:calc(66px + var(--safe-top));pointer-events:none;width:min(420px,100% - 24px);animation:golf-pop .5s var(--ease) both;transition:opacity .35s,transform .35s;position:absolute;left:50%;transform:translate(-50%)}.golf-banner.is-leaving{opacity:0;transform:translate(-50%,-10px)}.golf-banner[hidden]{display:none}.golf-intro{border-radius:var(--radius-l);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow-lg);text-align:center;background:#fffbf2ec;padding:14px 18px 16px}.golf-intro small{color:var(--gold-ink);letter-spacing:.12em;text-transform:uppercase;font-size:10.5px;font-weight:700;display:block}.golf-intro h2{color:var(--ink);margin:4px 0 0;font:600 30px/1.05 Cormorant Garamond,serif}.golf-intro-par{color:var(--teal);margin:2px 0 0;font-size:13px;font-weight:700}.golf-intro p:last-child{color:var(--ink-soft);margin:8px 0 0;font-size:13px;line-height:1.45}.golf-power{top:50%;right:calc(18px + var(--safe-right,0px));opacity:0;pointer-events:none;background:#0b2a3255;border-radius:999px;width:14px;height:min(260px,40vh);transition:opacity .2s;position:absolute;transform:translateY(-50%);box-shadow:inset 0 0 0 1.5px #ffffffb0,0 6px 18px #0b2a3240}.golf-overlay.is-charged .golf-power{opacity:1}.golf-power i{height:max(0px, calc(var(--power,0%) - 4px));background:linear-gradient(#ff6a3d,#ffd34d 45%,#7be38a);border-radius:999px;position:absolute;inset:auto 2px 2px}.golf-power span{right:22px;bottom:calc(var(--power,0%) - 12px);color:#fffaf0;font-variant-numeric:tabular-nums;text-shadow:0 1px 6px #0b2a32aa;font:700 15px/1 DM Sans,sans-serif;position:absolute}.golf-bottom{bottom:calc(14px + var(--safe-bottom));pointer-events:none;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;left:12px;right:12px}.golf-hint{max-width:min(560px,100%);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:#f4f7f2;text-align:center;background:#0b2a3270;border-radius:999px;margin:0;padding:7px 14px;font-size:12px;transition:opacity .3s}.golf-hint:empty{opacity:0}.golf-pickup{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--cream);pointer-events:auto;background:#0b2a3270;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:600;position:absolute;right:0}.golf-pickup:hover{background:#0b2a3299}.golf-pickup[hidden]{display:none}.golf-sheet{background:radial-gradient(closest-side,#06283033,#0628300d);place-items:center;padding:80px 16px 70px;animation:.3s ease-out both golf-fade;display:grid;position:absolute;inset:0}.golf-sheet[hidden]{display:none}.golf-result,.golf-final,.golf-quit-card,.golf-scorecard{border-radius:var(--radius-l);background:var(--glass);width:min(400px,100%);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--shadow-lg);text-align:center;animation:golf-pop .45s var(--ease) both;padding:20px 22px}.golf-final-kicker{color:var(--gold-ink);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.golf-quit-card h2,.golf-scorecard h2{color:var(--ink);margin:6px 0 2px;font:600 30px/1.05 Cormorant Garamond,serif}.golf-quit-card p{color:var(--ink-soft);margin:6px 0 0;font-size:13.5px;line-height:1.45}.golf-result-name{color:var(--ink);margin:0;font:600 36px/1 Cormorant Garamond,serif}.golf-result.is-under .golf-result-name{color:#2f7d4f}.golf-result.is-over .golf-result-name{color:#a4553d}.golf-result-score{justify-content:center;align-items:baseline;gap:6px;margin:10px 0 4px;display:flex}.golf-result-score b{font-variant-numeric:tabular-nums;font:700 42px/1 DM Sans,sans-serif}.golf-result-score span{color:var(--muted);font-size:13px}.golf-result-score em,.golf-final-score em{font-variant-numeric:tabular-nums;background:#1f474414;border-radius:999px;padding:2px 9px;font-style:normal;font-weight:700}.golf-result.is-under .golf-result-score em{color:#2f7d4f;background:#2f7d4f22}.golf-result.is-over .golf-result-score em{color:#a4553d;background:#a4553d1f}.golf-result-total{color:var(--ink-soft);margin:0 0 14px;font-size:13px}.golf-result .primary-button,.golf-final .primary-button{width:100%}.golf-final-score{justify-content:center;align-items:baseline;gap:10px;margin:8px 0 4px;display:flex}.golf-final-score b{font-variant-numeric:tabular-nums;color:var(--ink);font:700 58px/1 DM Sans,sans-serif}.golf-final-line{color:var(--ink-soft);margin:0;font-size:13.5px}.golf-final-place{color:var(--gold-ink);background:#e8b95a2e;border-radius:999px;align-items:center;gap:6px;margin:12px 0 0;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.golf-final-place .icon{width:18px;height:18px}.golf-final-notes{color:var(--teal);margin:10px 0 0;font-size:13px;font-weight:600}.golf-final-actions{gap:8px;margin-top:16px;display:grid}.golf-final-actions .secondary-button{justify-content:center;align-items:center;gap:6px;display:flex}.golf-quit-card .golf-final-actions{grid-template-columns:1fr 1fr}.golf-scorecard{text-align:left;width:min(460px,100%);padding:16px 18px}.golf-scorecard header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.golf-scorecard h2{margin:0}.golf-scorecard table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.golf-scorecard th,.golf-scorecard td{border-bottom:1px solid var(--hairline);text-align:center;padding:5px 6px}.golf-scorecard tbody th{text-align:left;color:var(--ink);font:600 15px/1.1 Cormorant Garamond,serif}.golf-scorecard thead th{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;font-weight:700}.golf-scorecard tfoot th,.golf-scorecard tfoot td{border-bottom:0;font-weight:700}.golf-scorecard tr.is-current{background:#e8b95a24}.golf-scorecard .is-under{color:#2f7d4f;font-weight:700}.golf-scorecard .is-over{color:#a4553d}.golf-scorecard .is-par{font-weight:600}.golf-scorecard .golf-best{color:var(--muted)}.golf-flash{color:#fffaf0;text-shadow:0 2px #0b3a4566,0 8px 24px #0b3a4599;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s ease, transform .35s var(--ease);font:700 clamp(26px,6vw,46px)/1 Cormorant Garamond,serif;position:absolute;top:26%;left:50%;transform:translate(-50%,10px)scale(.92)}.golf-flash.is-shown{opacity:1;transform:translate(-50%)scale(1)}.golf-flash.is-ace{color:#ffe08a;font-size:clamp(36px,9vw,72px)}.golf-flash.is-splash{color:#e6f6ff}.golf-flash.is-trick{color:#ffe9a8}.golf-flash.is-near{color:#fff;font-size:clamp(22px,5vw,36px)}@keyframes golf-drop{0%{opacity:0;transform:translate(-50%,-16px)}}@keyframes golf-fade{0%{opacity:0}}@keyframes golf-pop{0%{opacity:0;transform:translateY(14px)scale(.96)}}@media (width<=560px){.golf-hole{flex:1;max-width:none;padding-right:10px}.golf-hole b{font-size:15.5px}.golf-number{width:30px;height:30px;font-size:14px}.golf-stats{margin:0;position:absolute;top:48px;left:0}.golf-stat{min-width:40px;padding:0 6px}.golf-stat b{font-size:14px}.golf-icon{width:36px;height:36px}.golf-banner{top:calc(100px + var(--safe-top))}.golf-intro h2{font-size:25px}.golf-hint{margin-right:84px;font-size:11px}.golf-power{height:34vh;right:12px}}.card.is-three-star{box-shadow:inset 0 0 0 2px var(--gold), 0 0 0 1px #e8b95a33;background:#fff8e6}.card.is-three-star .card-status,.card.is-three-star .card-mark{color:#7a5a22;background:#f6e3b0}.photo-stars-hint{color:#7a5a22}.legend-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #f09b6559, var(--shadow-sm);color:var(--cream);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.legend-banner[hidden]{display:none}.legend-banner>div{flex:1;min-width:0}.legend-banner b,.legend-banner small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.legend-banner b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.legend-banner small{color:#e9f2eccc;margin-top:1px;font-size:11.5px}.legend-seal{color:#ffb27a;background:#3a2a25;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;box-shadow:inset 0 0 0 1px #ffb27a59}.legend-seal .icon{width:19px;height:19px}.legend-banner[data-tone=smoke] .legend-seal{color:#ece6dc;background:#4d4a47}.legend-banner[data-tone=sinking] .legend-seal{color:#e3f1f1;background:#3d5560}.legend-banner[data-tone=serreta] .legend-seal{color:#ff9a52;background:#4a2416}.legend-banner[data-tone=ghost]{box-shadow:inset 0 0 0 1px #cfe0f259, var(--shadow-sm)}.legend-banner[data-tone=ghost] .legend-seal{color:#dfeaf6;background:#26384a;box-shadow:inset 0 0 0 1px #dfeaf659}.legend-banner-go{background:var(--cream);min-height:32px;color:var(--ink);border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.legend-banner-go[hidden]{display:none}.legend-banner-close{color:#e9f2ecd9;background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;font-size:18px;line-height:1;display:grid}.legend-banner-close:hover{background:#ffffff26}@media (width<=700px){.legend-banner-go{padding:6px 10px}}.legend-flag-tag{will-change:transform;background:#2a1d18b3;border-radius:999px;padding:2px 8px;font-size:11px;top:0;left:0}.legend-flag-tag[hidden]{display:none}.legend-map circle{fill:#3a2a25;stroke:#fff8e8;stroke-width:1.5px}.legend-map path{fill:none;stroke:#ffb27a;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.legend-map-serreta circle{fill:#4a2416}.legend-map-serreta .legend-map-dot{fill:#ff8a3c;stroke:none}.legend-map-ghost circle{fill:#26384a;stroke:#dfeaf6}.legend-map-ghost path{stroke:#dfeaf6}.legend-map-area{fill:#ff7a2a;fill-opacity:.12;stroke:#ffb27a;stroke-opacity:.7;stroke-width:calc(1.2px * var(--u,1));stroke-dasharray:calc(3px * var(--u,1)) calc(4px * var(--u,1))}.legend-map-pulse{fill:none;stroke:#ffb27a;stroke-width:2px;opacity:.7;transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite legend-pulse}@keyframes legend-pulse{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.6)}}@media (prefers-reduced-motion:reduce){.legend-map-pulse{opacity:.5;animation:none}.legend-banner{animation:none}}.card.is-legend .card-mark{color:#8a4a2c}.card.is-legend.is-known .card-mark{color:#8a4a2c;background:#f1e2d6}body.miradouro-mode .hud>:not(#connection-status),body.miradouro-mode #world-labels,body.miradouro-mode #chat-bubbles,body.miradouro-mode .powerup-effects,body.miradouro-mode #fishing-root,body.miradouro-mode .debug-toggle{opacity:0;pointer-events:none;transition:opacity .6s}body.miradouro-mode .map-overlay{display:none!important}.miradouro-view{z-index:18;cursor:pointer;position:fixed;inset:0}.miradouro-view[hidden]{display:none}.miradouro-bar{background:#050d10;height:clamp(54px,11vh,120px);animation:1.1s cubic-bezier(.3,.7,.2,1) both miradouro-bar-top;position:absolute;left:0;right:0}.miradouro-bar.is-top{top:0}.miradouro-bar.is-bottom{height:auto;min-height:clamp(64px,13vh,132px);padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));justify-content:center;align-items:center;gap:24px;animation-name:miradouro-bar-bottom;display:flex;bottom:0}.miradouro-caption{text-align:center;color:var(--cream);justify-items:center;gap:4px;animation:1.6s .8s both miradouro-caption;display:grid}.miradouro-name{letter-spacing:.18em;text-transform:uppercase;margin:0;font:500 clamp(16px,2vw,23px)/1.15 Cormorant Garamond,serif}.miradouro-island{letter-spacing:.22em;text-transform:uppercase;color:#e8b95acc;margin:0;font-size:11px;font-weight:600}.miradouro-note{color:#cfe0da;margin:4px 0 0;font-size:12.5px}.miradouro-actions{cursor:default;gap:10px;animation:.5s both miradouro-caption;display:flex}.miradouro-actions[hidden]{display:none}.miradouro-actions button{min-height:42px;padding:10px 16px;font-size:13.5px}.miradouro-actions .icon{width:18px;height:18px}@media (width<=700px){.miradouro-bar.is-bottom{flex-direction:column;gap:10px}.miradouro-actions{width:100%;max-width:360px}.miradouro-actions button{flex:1}}@keyframes miradouro-bar-top{0%{transform:translateY(-100%)}}@keyframes miradouro-bar-bottom{0%{transform:translateY(100%)}}@keyframes miradouro-caption{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.miradouro-bar,.miradouro-caption,.miradouro-actions{animation:.3s both miradouro-fade}body.miradouro-mode .hud>:not(#connection-status),body.miradouro-mode #world-labels,body.miradouro-mode #chat-bubbles{transition:none}}@keyframes miradouro-fade{0%{opacity:0}}.finds-lede{color:var(--muted);margin:-2px 0 12px;font-size:12.5px;line-height:1.5}.finds-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}@media (width<=700px){.finds-panels{grid-template-columns:repeat(2,minmax(0,1fr))}}.finds-panel{min-width:0;box-shadow:inset 0 0 0 1px var(--line);background:#fffaf2;border-radius:12px}.finds-panel[open]{box-shadow:inset 0 0 0 1px var(--line-strong), 0 6px 18px -10px #0b3a4540;background:#fff;grid-column:1/-1}.finds-panel>summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:8px;list-style:none;display:grid}.finds-panel>summary::-webkit-details-marker{display:none}.finds-panel .azulejo-panel{border-radius:4px;grid-column:1/-1;width:100%;height:auto;display:block;box-shadow:0 1px 2px #0b3a4526,0 4px 10px -6px #0b3a4540}.finds-panel[open] .azulejo-panel{justify-self:center;max-width:420px}.finds-panel-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.finds-panel-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.finds-panel.is-complete .finds-panel-count{color:var(--teal-deep)}.finds-panel-more{color:#4d6b65;margin:0;padding:0 12px 12px;font-size:12.5px;line-height:1.5}.finds-panel-more p{margin:0 0 4px;font-weight:600}.finds-panel-more ul{margin:0;padding-left:18px}#app:not(.is-aboard) #aboard-leave{display:none}#app.is-aboard #harbour-button,#app.is-aboard #journal-button,#app.is-aboard .ship-status,#app.is-aboard .ship-divider,#app.is-aboard .mobile-controls .move-stick{display:none!important}.aboard-banner,.tuna-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #7fc6c259, var(--shadow-sm);color:var(--cream);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex;position:relative;overflow:hidden}.aboard-banner[hidden],.tuna-banner[hidden]{display:none}.aboard-banner>div,.tuna-banner>div{flex:1;min-width:0}.aboard-banner b,.aboard-banner small,.tuna-banner b,.tuna-banner small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.aboard-banner b,.tuna-banner b{font-size:13px;font-weight:600}.aboard-banner small,.tuna-banner small{color:#e9f2eccc;font-variant-numeric:tabular-nums;margin-top:1px;font-size:11.5px}.aboard-seal,.tuna-seal{background:var(--captain,#2f8f8a);color:#fffaf0;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;box-shadow:inset 0 0 0 2px #fff3}.tuna-seal{background:#2c5a86}.tuna-banner.is-ringed .tuna-seal{background:#c9952f}.aboard-seal .icon,.tuna-seal .icon{width:19px;height:19px}.aboard-button,.tuna-go{min-height:32px;color:var(--cream);background:#ffffff1f;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.aboard-button.is-primary,.tuna-go{background:var(--cream);color:var(--ink)}.tuna-go[hidden]{display:none}.aboard-time{background:var(--gold);opacity:.8;transform-origin:0;border-radius:2px;height:2px;animation:linear forwards aboard-countdown;position:absolute;bottom:0;left:18px;right:18px}@keyframes aboard-countdown{to{transform:scaleX(0)}}.tuna-banner time{font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:0 4px;font:600 17px/1 DM Sans,sans-serif}.tuna-banner time:empty{display:none}.tuna-meter{background:#ffffff1f;border-radius:3px;height:3px;position:absolute;bottom:0;left:18px;right:18px}.tuna-meter[hidden]{display:none}.tuna-meter i{border-radius:inherit;background:var(--gold);transform-origin:0;height:100%;transition:transform .45s linear;display:block}.tuna-close{color:#e9f2ecd9;background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;font-size:18px;line-height:1;display:grid}.tuna-close:hover{background:#ffffff26}@media (width<=700px){.aboard-banner,.tuna-banner{gap:8px;padding:5px 5px 5px 6px}.aboard-seal,.tuna-seal{width:28px;height:28px}.tuna-banner time{font-size:15px}.aboard-button,.tuna-go{padding:6px 10px}}.tuna-map .tuna-waters{fill:#5f7fa61f;stroke:#9fc3e6;stroke-width:1.2px;stroke-dasharray:4 3}.tuna-map.is-ringed .tuna-waters{fill:#e8b95a24;stroke:var(--gold)}.tuna-map circle{fill:#2c5a86;stroke:#f2fbf6;stroke-width:2px}.tuna-map.is-ringed circle{fill:#c9952f}.tuna-map path{fill:#fffaf0}.derby-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #7fc6c259, var(--shadow-sm);color:var(--cream);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.derby-banner[hidden]{display:none}.derby-banner>div{flex:1;min-width:0}.derby-banner b,.derby-banner small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.derby-banner b{font-size:13px;font-weight:600}.derby-banner small{color:#e9f2eccc;font-variant-numeric:tabular-nums;margin-top:1px;font-size:11.5px}.derby-banner time{font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:0 4px;font:600 17px/1 DM Sans,sans-serif}.derby-banner time:empty{display:none}.derby-seal{color:#fffaf0;background:#2f8f8a;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.derby-seal .icon{width:19px;height:19px}.derby-banner-go{background:var(--cream);min-height:32px;color:var(--ink);border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.derby-banner-go[hidden]{display:none}@media (width<=700px){.derby-banner{gap:8px;padding:5px 5px 5px 6px}.derby-seal{width:28px;height:28px}.derby-banner time{font-size:15px}.derby-banner-go{padding:6px 10px}}.derby-next{background:#e3efe9;border:1px solid #cfdcd2;border-radius:14px;align-items:center;gap:12px;margin-bottom:4px;padding:14px 16px;display:flex}.derby-next.test{background:#f4e2d5;border-color:#e0c2a8}.derby-next .derby-seal{width:42px;height:42px}.derby-next>div{flex:1;min-width:0}.derby-next small{color:var(--muted);letter-spacing:.06em;font-size:11px;display:block}.derby-next b{margin:2px 0;font-size:15px;display:block}.derby-next div>span{color:#4f6962;font-variant-numeric:tabular-nums;font-size:12px}.derby-next .secondary-button{min-height:38px;padding:8px 14px;font-size:12.5px}.derby-board{gap:2px;margin:0;padding:0;list-style:none;display:grid}.derby-board li{border-radius:8px;grid-template-columns:18px 10px minmax(0,1fr) auto auto;grid-template-areas:"place dot name weight prize""place dot fish weight prize";align-items:center;column-gap:8px;padding:6px 8px;font-size:13px;display:grid}.derby-board li.yours{background:#f3e2b5}.derby-board span{color:var(--muted);grid-area:place;font-size:12px}.derby-board i{border-radius:50%;grid-area:dot;width:10px;height:10px}.derby-board b{white-space:nowrap;text-overflow:ellipsis;grid-area:name;font-weight:500;overflow:hidden}.derby-board small{color:var(--muted);grid-area:fish;font-size:11px}.derby-board time{font-variant-numeric:tabular-nums;grid-area:weight;font-weight:600}.derby-board em{color:#876529;grid-area:prize;font-size:12px;font-style:normal;font-weight:600}.derby-best{color:var(--ink);background:#fbf8ee;border-radius:10px;margin:12px 0;padding:10px 12px;font-size:12.5px}.derby-map .derby-waters{fill:#6fd0c51f;stroke:#8fe0d6;stroke-width:1.2px;stroke-dasharray:4 3}.derby-map circle{fill:#2f8f8a;stroke:#f2fbf6;stroke-width:2px}.derby-map path{fill:#fffaf0}.derby-map .derby-pulse{fill:none;stroke:#8fe0d6;stroke-width:2px;opacity:.7;transform-box:fill-box;transform-origin:50%;animation:1.8s ease-out infinite derby-pulse}@keyframes derby-pulse{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}.dog-breeds{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 12px;display:grid}.dog-breed{box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);text-align:center;background:#fbf8ee;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 10px;display:flex}.dog-breed[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--teal);background:#e3efe9}.dog-breed b{font-size:13px;display:block}.dog-breed small{color:var(--muted);margin-top:3px;font-size:11.5px;line-height:1.35;display:block}.dog-portrait{flex-shrink:0;display:block}.dog-form label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 2px 6px;font-size:11px;font-weight:600;display:block}.dog-form>div{gap:8px;display:flex}.dog-form input{min-width:0;height:42px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);font:inherit;background:#fff;border:0;border-radius:999px;flex:1;padding:8px 14px}.dog-form input:focus-visible{box-shadow:inset 0 0 0 2px var(--teal);outline:0}.dog-form button{min-height:42px;padding:8px 18px}.dog-card{background:#e3efe9;border-radius:14px;align-items:center;gap:14px;padding:14px 16px;display:flex}.dog-card h3{margin:0;font-size:20px}.dog-card small{color:var(--muted);font-size:12px}.dog-tips{color:var(--ink);margin:12px 0;padding-left:18px;font-size:12.5px;line-height:1.45}.dog-actions{margin-top:12px}.dog-bubble{max-width:200px;color:var(--ink);text-align:center;pointer-events:none;background:#fffaf0;border-radius:14px;padding:6px 11px;font-size:12.5px;font-style:italic;line-height:1.3;position:absolute;top:0;left:0;box-shadow:0 1px 2px #0b3a4526,0 6px 16px -6px #0b3a4559}.dog-bubble:after{content:"";border-top:7px solid #fffaf0;border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;bottom:-6px;left:calc(50% - 6px)}.dog-heart{color:#e0566b;text-shadow:0 1px 3px #0b3a4559;pointer-events:none;font-size:24px;line-height:1;position:absolute;top:0;left:0}.dog-heart.is-popping{animation:1.1s ease-out both dog-heart}@keyframes dog-heart{0%{opacity:0;translate:0 6px;scale:.4}25%{opacity:1;translate:0;scale:1.15}to{opacity:0;translate:0 -26px;scale:1}}.dog-bubble[hidden],.dog-heart[hidden]{display:none}@media (prefers-reduced-motion:reduce){.derby-map .derby-pulse{opacity:.5;animation:none}.dog-heart.is-popping{animation:1.1s linear both dog-heart-calm}}@keyframes dog-heart-calm{0%,70%{opacity:1}to{opacity:0}}.emote-holder{order:4;display:flex;position:relative}.emote-holder[hidden]{display:none}.emote-menu{z-index:3;background-color:var(--glass);background-image:var(--sheen);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px var(--glass-edge), var(--float-shadow);animation:emote-menu-in .18s var(--ease) both;border-radius:999px;gap:4px;padding:5px;display:flex;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%)}.emote-menu[hidden]{display:none}.hud:has(#context-button:not([hidden])) .actions .emote-menu{bottom:calc(100% + var(--bar-gap) + 58px)}.emote-menu button{min-height:40px;color:var(--ink);white-space:nowrap;touch-action:manipulation;background:0 0;border-radius:999px;align-items:center;gap:7px;padding:0 12px 0 10px;font-size:13px;font-weight:600;display:flex}.emote-menu button:hover,.emote-menu button:focus-visible{background:#1f474414}.emote-menu .icon{width:20px;height:20px}.emote-menu kbd{background:var(--hairline);min-width:18px;color:var(--ink-soft);text-align:center;border-radius:6px;padding:1px 5px;font:600 11px/1.4 DM Sans,sans-serif}.emote-holder.is-open #emote-button{background:var(--teal-deep);color:var(--cream)}.emote-holder.is-open #emote-button span{color:var(--cream)}@media (hover:none) and (pointer:coarse){.thumb-actions .emote-holder #emote-button{background-color:var(--glass);background-image:var(--sheen);width:60px;min-width:0;height:60px;box-shadow:inset 0 0 0 1px var(--glass-edge), var(--float-shadow);color:var(--ink);border-radius:50%;flex-direction:column;flex:none;justify-content:center;gap:1px;padding:0}.thumb-actions .emote-holder #emote-button span{font-size:10.5px;font-weight:700}.thumb-actions .emote-menu{border-radius:22px;flex-direction:column;left:auto;right:0;transform:none}.thumb-actions .emote-menu button{min-height:44px}.thumb-actions .emote-menu kbd{display:none}}@media (hover:none) and (pointer:coarse) and (height<=520px) and (orientation:landscape){.thumb-actions .emote-menu{border-radius:999px;flex-direction:row;bottom:0;right:calc(100% + 10px)}}@keyframes emote-menu-in{0%{opacity:0;translate:0 6px}}@media (prefers-reduced-motion:reduce){.emote-menu{animation:none}}.flow-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #9fd6e059, var(--shadow-sm);color:var(--cream);pointer-events:none;border-radius:24px;align-items:center;gap:10px;padding:6px 14px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.flow-banner[hidden]{display:none}.flow-seal{color:#24607a;background:#dcedf2;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.road-banner .flow-seal{color:#2e6a5c;background:#e6efe6}.flow-seal .icon{width:19px;height:19px}.flow-text{flex:1;gap:1px;min-width:0;display:grid}.flow-text small{color:#e9f2eccc;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.flow-text b{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.flow-meter{background:#ffffff26;border-radius:4px;height:4px;margin-top:4px;display:block;overflow:hidden}.flow-meter[hidden]{display:none}.flow-meter i{background:linear-gradient(90deg, #9fd6e0, var(--gold));transform-origin:0;height:100%;transition:transform .3s ease-out;display:block}.escort-effect[hidden]{display:none}.map-sea-road{fill:none;stroke:#9fd6e0;stroke-width:calc(2.2px * var(--u,1));stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:calc(7px * var(--u,1)) calc(4px * var(--u,1));opacity:.8}.map-sea-road-arrow{fill:none;stroke:#e9f8fb;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}@media (prefers-reduced-motion:reduce){.flow-banner{animation:none}.flow-meter i{transition:none}}.wind-arrow{vertical-align:-2px;width:14px;height:14px;color:var(--muted);transform:rotate(var(--wind-turn,0deg));transition:transform .6s var(--ease), color .3s, opacity .3s;place-items:center;margin-right:5px;display:inline-grid}.wind-arrow svg{display:block}.hud.wind-fair .ship-status .wind-arrow{color:#b8862b}.hud.wind-foul .ship-status .wind-arrow{color:#c0664c}.hud.wind-ashore .wind-arrow{display:none}.place-mark .wind-arrow{color:#cfe2dc;display:none}.hud.wind-fair .place-mark .wind-arrow{color:var(--gold)}.hud.wind-foul .place-mark .wind-arrow{color:var(--coral)}@media (width<=700px),(height<=520px) and (orientation:landscape){.hud:not(.wind-ashore) .place-mark .wind-arrow{display:inline-grid}}@media (prefers-reduced-motion:reduce){.wind-arrow{transition:color .3s}}.map-wind .map-mark{transform:scale(calc(var(--u,1) * .8))}.map-wind-arrow{fill:none;stroke:var(--gold);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.map-fog{pointer-events:none}.map-overlay.is-foggy .map-light.is-lit{filter:drop-shadow(0 0 3px #ffe7a6)drop-shadow(0 0 7px #ffd98a)}@media (width<=700px){.map-wind .map-mark{transform:scale(calc(var(--u,1) * .55))}}.postcard-post{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.postcard-post>button{flex:160px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.postcard-post>button .icon{flex:none;width:18px;height:18px}.postcard-post.is-guest{background:#f3ecd8;border-radius:14px;align-items:center;padding:12px 14px}.postcard-post.is-guest p{color:#5c7870;flex:220px;margin:0;font-size:13px;line-height:1.5}.postcard-post.is-guest button{flex:none}.postcard-post-note{text-align:center;color:var(--muted);margin:8px 0 0;font-size:12px}@media (width>=701px){.post-send-panel{width:480px}}.post-send-card{text-align:center;margin:2px 0 18px}.post-send-card img{max-width:78%;max-height:150px;box-shadow:var(--shadow);border-radius:4px;transform:rotate(-2deg)}.post-send-form{gap:10px;display:grid}.post-send-form>label{color:var(--ink);font-size:13px;font-weight:600}.post-friends{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.post-friends legend{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:600}.post-friend{min-height:38px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);cursor:pointer;background:#fffaf2;border-radius:999px;align-items:center;gap:7px;padding:6px 14px 6px 10px;font-size:13.5px;display:inline-flex;position:relative}.post-friend input{opacity:0;pointer-events:none;position:absolute}.post-friend small{color:var(--teal);font-size:11px}.post-friend:has(input:checked){box-shadow:inset 0 0 0 2px var(--teal);background:#e3efe9}.post-friend:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:2px}.post-send-form select{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fffdf6;border-radius:12px;padding:8px 12px;font-size:14px}.post-send-note{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.post-send-form .primary-button{justify-content:center;align-items:center;gap:8px;min-height:46px;display:inline-flex}.post-send-form .primary-button .icon{width:18px;height:18px}.delivery-offer.is-mail,.delivery-active.is-mail{background:linear-gradient(165deg,#fdf6e2 35%,#f3e6c4);border-color:#e3d2a6}.delivery-offer.is-mail .voyage-seal,.delivery-active.is-mail .voyage-seal,.voyage-empty>.icon.mail-seal{color:#fbe9d0;background:radial-gradient(circle at 35% 32%,#cf4c40,#8f1f18 72%);box-shadow:0 2px 6px #6d1a1440,inset 0 -2px 3px #0002}.delivery-offer.is-mail .voyage-seal .icon,.delivery-active.is-mail .voyage-seal .icon{width:22px;height:22px}.delivery-active.is-mail+.section-label{margin-top:22px}.mail-map circle{fill:#fbe9d0;stroke:#123d45b3;stroke-width:1.2px}.mail-map path{fill:none;stroke:#8f1f18;stroke-width:1.3px;stroke-linejoin:round}.post-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block;box-shadow:0 0 0 1.5px #fffc,0 0 0 2.5px #1d3b3a26}.post-week{background:radial-gradient(120% 90% at 100% 0,#f7e3b3 0%,#0000 55%),linear-gradient(165deg,#fffaf0,#f4ecd6);border-radius:16px;margin:0 0 14px;padding:16px 16px 14px;box-shadow:inset 0 0 0 1px #e8dcb9}.post-week header{align-content:start;gap:2px;display:grid}.post-week-top{gap:14px;display:grid}.post-week.has-featured .post-week-top{grid-template-columns:minmax(0,1fr) minmax(0,48%);align-items:start}.post-featured{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:6px;padding:0;display:grid}.post-featured .post-frame{border-width:6px;transform:rotate(1.2deg);box-shadow:0 2px 4px #1d3b3a24,0 12px 26px -12px #1d3b3a88}.post-featured:hover .post-frame{transform:rotate(.4deg)translateY(-2px)}.post-featured:focus-visible{outline:none}.post-featured:focus-visible .post-frame{outline:2px solid var(--teal);outline-offset:2px}.post-featured-line{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}@media (width<=520px){.post-week.has-featured .post-week-top{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.post-featured .post-frame,.post-featured:hover .post-frame{transform:none}}.post-week header span{letter-spacing:.14em;color:#8a6a2c;font-size:10.5px;font-weight:600}.post-week h3{color:#2c2a22;margin:2px 0 0;font:italic 500 27px/1.1 Cormorant Garamond,serif}.post-week header small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.post-week>p{color:#5c6b62;margin:10px 0 0;font-size:13px;line-height:1.55}.post-week .post-status,.post-week .post-title{color:var(--ink);align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.post-week .post-status .icon,.post-week .post-title .icon{width:17px;height:17px;color:var(--teal);flex:none}.post-week .post-title{color:#7a5a1d;font-weight:600}.post-week .post-title .icon{color:#b08527}.post-week .post-votes{color:#8a6a2c;margin:8px 0 0;font-size:12px;font-weight:600}.post-gallery,.post-podium{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:12px 10px;display:grid}.post-podium{grid-template-columns:repeat(3,minmax(0,1fr))}.post-tile{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:4px;padding:0;display:grid}.post-tile:disabled{cursor:default}.post-frame{aspect-ratio:3/2;background:var(--sand);transition:transform .18s var(--ease), box-shadow .18s var(--ease);border:4px solid #fffdf7;border-radius:3px;display:block;position:relative;overflow:hidden;box-shadow:0 1px 2px #1d3b3a24,0 6px 14px -8px #1d3b3a66}.post-tile:not(:disabled):hover .post-frame{transform:translateY(-2px)rotate(-.6deg);box-shadow:0 2px 4px #1d3b3a24,0 10px 22px -10px #1d3b3a77}.post-tile:focus-visible{outline:none}.post-tile:focus-visible .post-frame{outline:2px solid var(--teal);outline-offset:2px}.post-frame img{object-fit:cover;width:100%;height:100%;display:block}.post-hidden{color:#b3a988;place-items:center;width:100%;height:100%;display:grid}.post-tile.is-voted .post-frame{border-color:#f6dc97}.post-voted,.post-own,.post-place{color:#9a6d12;background:#fffaf0f0;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-style:normal;font-weight:700;display:grid;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #0003}.post-own{color:var(--teal-deep);left:4px;right:auto}.post-place{color:#3d2b0c;left:4px;right:auto}.post-tile-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex;overflow:hidden}.post-tile-votes{color:var(--muted);font-size:11.5px}[data-frame=gold] .post-frame,.post-viewer[data-frame=gold] img{border-color:#e8b95a;box-shadow:0 0 0 1px #b08527,0 8px 18px -8px #8a6a2c99}[data-frame=silver] .post-frame,.post-viewer[data-frame=silver] img{border-color:#cfd5d8;box-shadow:0 0 0 1px #9aa4a8,0 8px 18px -8px #5b666b88}[data-frame=bronze] .post-frame,.post-viewer[data-frame=bronze] img{border-color:#d39a68;box-shadow:0 0 0 1px #9c6534,0 8px 18px -8px #7a4a2388}[data-frame=gold] .post-place{background:linear-gradient(160deg,#f8dc8c,#d9a83e)}[data-frame=silver] .post-place{background:linear-gradient(160deg,#f1f4f5,#b8c1c5)}[data-frame=bronze] .post-place{background:linear-gradient(160deg,#efc39b,#c2804a)}.post-list{gap:8px;display:grid}.post-card{box-shadow:inset 0 0 0 1px var(--line);color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fffaf2;border:0;border-radius:14px;grid-template-columns:76px minmax(0,1fr) 18px;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:grid}.post-card:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--line-strong);background:#fff}.post-card:disabled{cursor:default;opacity:.75}.post-card>img,.post-card>.post-hidden{object-fit:cover;background:var(--sand);border:3px solid #fffdf7;border-radius:3px;width:76px;height:51px;box-shadow:0 1px 4px #1d3b3a33}.post-card>span{gap:1px;min-width:0;display:grid}.post-card b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;overflow:hidden}.post-card small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:1.4;overflow:hidden}.post-card>.icon{color:#9fb0a6;width:16px;height:16px}.post-bottles-label{margin-top:34px}@media (width>=701px){.post-view-panel{width:560px}}.post-viewer figcaption{text-align:center;gap:2px;margin-top:12px;display:grid}.post-viewer figcaption b{color:#2c2a22;font:italic 500 21px/1.2 Cormorant Garamond,serif}.post-viewer figcaption small{color:var(--muted);font-size:12.5px}.post-viewer[data-frame] img{border:5px solid}.post-view-panel [data-confirm=true],.post-view-panel [data-confirm=true]:not(:disabled):hover{box-shadow:none;color:#fff;background:#a8452f}.book-button{text-align:left;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:12px;width:100%;margin:16px 0 4px;padding:12px 14px;display:grid}.book-button>span{gap:1px;display:grid}.book-button small{color:var(--muted);font-size:11.5px;font-weight:400}.book-button>.icon:last-child{color:#9fb0a6;width:16px;height:16px}@media (prefers-reduced-motion:reduce){.post-frame{transition:none}.post-tile:not(:disabled):hover .post-frame{transform:none}}.project-panel{width:460px}.project-panel-body{gap:12px;display:grid}.project-story{color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.project-progress{--project:var(--gold)}.project-progress.is-finished{--project:var(--teal)}.project-gold{align-items:baseline;gap:8px;display:flex}.project-gold b{font-variant-numeric:lining-nums;color:var(--ink);font:500 34px/1 Cormorant Garamond,serif}.project-gold span{color:var(--muted);font-size:12.5px}.project-bar{background:var(--sand);height:10px;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;margin-top:8px;position:relative;overflow:hidden}.project-bar i{border-radius:inherit;height:100%;transition:width .6s var(--ease);background:linear-gradient(90deg,#e8b95a,#e0876a);display:block}.project-progress.is-finished .project-bar i{background:linear-gradient(90deg, #3fa59a, var(--teal))}.project-bar:after{content:"";background:linear-gradient(90deg, transparent calc(25% - 1px), var(--cream) calc(25% - 1px), var(--cream) 25%, transparent 25%, transparent calc(50% - 1px), var(--cream) calc(50% - 1px), var(--cream) 50%, transparent 50%, transparent calc(75% - 1px), var(--cream) calc(75% - 1px), var(--cream) 75%, transparent 75%);position:absolute;inset:0}.project-stages{grid-template-columns:repeat(4,1fr);gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.project-stages li{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.project-stages li:before{content:"";width:8px;height:8px;box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:50%;flex-shrink:0}.project-stages li.is-done{color:var(--teal-deep);font-weight:600}.project-stages li.is-done:before{background:var(--teal);box-shadow:none}.project-stages li.is-next:before{box-shadow:inset 0 0 0 2px var(--gold)}.project-amounts{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.project-amount{background:var(--cream);min-width:0;min-height:40px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border:0;border-radius:999px;padding:0 4px;font-weight:600;transition:background .15s,box-shadow .15s,transform .15s}.project-amount:before{content:"◈ ";color:#c99a3a;font-size:11px}@media (width<=420px){.project-amount:before{content:none}}.project-amount:not(:disabled):hover{box-shadow:inset 0 0 0 1.5px var(--gold);background:#fff3d6}.project-amount:not(:disabled):active{transform:scale(.96)}.project-amount:disabled{opacity:.42;cursor:default}.project-note{align-items:center;gap:10px;margin:0;display:flex}.project-pennant{flex-shrink:0;display:inline-grid}.project-launch>.icon{color:var(--teal-deep);flex-shrink:0}.project-launch b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.project-pennant svg{filter:drop-shadow(0 1px 1px #0b3a4533);display:block}.project-builders .section-label{margin:22px 0 6px}.project-builders .project-row{margin-top:8px}.project-row>.icon:first-child{color:var(--teal-deep);flex-shrink:0}.project-row.is-static{cursor:default}.project-row.is-static:hover{background:0 0}.project-row+.project-amounts{margin-top:10px}.project-allowance{margin:6px 0 0}.memory-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #9fe8f059, var(--shadow-sm);color:var(--cream);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex}.memory-banner[hidden]{display:none}.memory-text{flex:1;min-width:0}.memory-text b,.memory-detail,.memory-eyebrow{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.memory-eyebrow[hidden]{display:none}.memory-text b{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.memory-detail{color:#e9f2eccc;margin-top:1px;font-size:11.5px}.memory-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#f6dfa4;font-size:10px;font-weight:600}.memory-seal{color:#bff3ff;background:#12434f;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;box-shadow:inset 0 0 0 1px #bff3ff59}.memory-seal .icon{width:19px;height:19px}.memory-go{background:var(--cream);min-height:32px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12.5px;font-weight:600}.memory-go[hidden]{display:none}.memory-close{width:32px;height:32px;color:var(--cream);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:19px;display:grid}.memory-close:hover{background:#ffffff26}.memory-banner[data-tone=word]{box-shadow:inset 0 0 0 1px #d9c79a, inset 0 0 0 4px #fffaf0, inset 0 0 0 5px #2f5ea833, var(--shadow);color:var(--ink);background:linear-gradient(135deg,#fffaf0f2,#f6efdcf2);border-radius:18px;align-items:flex-start;padding:10px 8px 10px 10px}.memory-banner[data-tone=word] .memory-seal{color:#fffaf0;box-shadow:none;background:#2f5ea8}.memory-banner[data-tone=word] .memory-eyebrow{color:#2f5ea8}.memory-banner[data-tone=word] .memory-text b{letter-spacing:.01em;white-space:normal;font:italic 500 26px/1.1 Cormorant Garamond,serif}.memory-banner[data-tone=word] .memory-detail{color:var(--muted);white-space:normal;margin-top:3px;font-size:12.5px;line-height:1.45}.memory-banner[data-tone=word] .memory-close{color:var(--muted)}.memory-banner[data-tone=word] .memory-close:hover{background:#0b3a4514}@media (width<=700px){.memory-go{padding:6px 10px}.memory-banner[data-tone=word] .memory-text b{font-size:23px}}@media (prefers-reduced-motion:reduce){.memory-banner{animation:none}}.atlantis-card{border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px #bff3ff33, var(--shadow-sm);color:var(--cream);background:radial-gradient(120% 140% at 85% 0,#2a6f78 0%,#11414b 48%,#0b2f38 100%);margin-top:12px;padding:16px 16px 14px}.atlantis-card header{align-items:center;gap:12px;display:flex}.atlantis-seal{color:#bff3ff;background:#0b2f38;border-radius:50%;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid;box-shadow:inset 0 0 0 1.5px #bff3ff66,0 0 18px -4px #9fe8f080}.atlantis-card header small{letter-spacing:.1em;color:#bff3ff;font-size:10.5px;font-weight:600;display:block}.atlantis-card header b{font-variant-numeric:lining-nums;font:500 30px/1.05 Cormorant Garamond,serif}.atlantis-card header b span{opacity:.7;font-size:18px}.atlantis-bar{background:#ffffff1f;border-radius:999px;height:8px;margin-top:12px;overflow:hidden}.atlantis-bar i{width:var(--share);border-radius:inherit;background:linear-gradient(90deg,#7fd3dc,#e6f7c4,#f6c65b);height:100%;display:block;box-shadow:0 0 12px #bff3ff99}.atlantis-card>p{color:#e4f1efe6;margin:10px 0 0;font-size:13px;line-height:1.5}.atlantis-sources{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.atlantis-sources li{background:#ffffff14;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.atlantis-sources b{color:#f6dfa4;font-variant-numeric:tabular-nums}.atlantis-relics{font-style:italic}.atlantis-map circle{fill:#0b2f38;stroke:#bff3ff;stroke-width:1.5px}.atlantis-map path{fill:none;stroke:#bff3ff;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.atlantis-map-pulse{fill:none;stroke:#9fe8f0;stroke-width:2px;opacity:.7;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite atlantis-pulse}@keyframes atlantis-pulse{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.7)}}@media (prefers-reduced-motion:reduce){.atlantis-map-pulse{opacity:.5;animation:none}}.card.is-word .card-mark{color:#2f5ea8}.card.is-word.is-known .card-mark{color:#2f5ea8;background:#e3ebf7}.card.is-word.is-known .card-title{font:italic 500 19px/1.15 Cormorant Garamond,serif}.island-word-meaning{font-size:13px;line-height:1.5}.ship-banner{background:var(--glass-dark);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm);color:var(--cream);pointer-events:auto;border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 7px;animation:.25s ease-out both fade-in;display:flex;position:relative;overflow:hidden}.ship-banner[hidden]{display:none}.ship-banner>div{flex:1;min-width:0}.ship-banner b,.ship-banner small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.ship-banner b{font-size:13px;font-weight:600}.ship-banner small{color:#e9f2eccc;font-variant-numeric:tabular-nums;margin-top:1px;font-size:11.5px}.ship-seal{color:#fffaf0;background:#2f6f6b;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid;box-shadow:inset 0 0 0 2px #fff3}.ship-seal .icon{width:19px;height:19px}.packet-banner .ship-seal{background:#a8322c}.fleet-banner .ship-seal{background:#2f6fb0}.tallship-banner .ship-seal{background:#1f3f63}.ghostship-banner .ship-seal{color:#c9f5e6;background:#3d6b62}.canoe-banner .ship-seal{background:#2f6fb0}.canoe-race .ship-seal .icon{transform:rotate(var(--race-bearing,-90deg))}.canoe-race small{white-space:normal}.nau-banner .ship-seal{color:#ffe2a6;background:#6a4528}.cursedchest-banner .ship-seal{color:#9ff7d0;background:#17352d}.cursedchest-banner.ship-banner[data-tone=bad] .ship-seal{color:#9ff7d0;background:#17352d;box-shadow:0 0 0 2px #5df2b066,0 0 14px #5df2b099}.packet-race-banner .ship-seal{background:#a8322c}.packet-race .ship-seal .icon,.contraband-chase .ship-seal .icon{transform:rotate(var(--race-bearing,-90deg))}.packet-race small,.contraband-chase small{white-space:normal}.contraband-banner .ship-seal{color:#ffe9bf;background:#6b5434}.contraband-chase .ship-seal{color:#e6eeff;background:#2f4f8f;animation:.9s step-end infinite contraband-flash}@keyframes contraband-flash{50%{background:#8a3b32}}@media (prefers-reduced-motion:reduce){.contraband-chase .ship-seal{animation:none}}.ship-banner[data-tone=good] .ship-seal{color:#fffaf0;background:#c9952f}.ship-banner[data-tone=bad] .ship-seal{background:#8a3b32}.ship-banner time{font-variant-numeric:tabular-nums;letter-spacing:.01em;padding:0 4px;font:600 17px/1 DM Sans,sans-serif}.ship-banner time:empty{display:none}.ship-action{background:var(--cream);min-height:32px;color:var(--ink);border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.ship-action[hidden],.ship-close[hidden]{display:none}.ship-close{color:#e9f2ecd9;background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;font-size:18px;line-height:1;display:grid}.ship-close:hover{background:#ffffff26}.ship-meter{background:#ffffff1f;border-radius:3px;height:3px;position:absolute;bottom:0;left:18px;right:18px}.ship-meter[hidden]{display:none}.ship-meter i{border-radius:inherit;background:var(--gold);transform-origin:0;height:100%;transition:transform .3s linear;display:block}@media (width<=700px){.ship-banner{gap:8px;padding:5px 5px 5px 6px}.ship-seal{width:28px;height:28px}.ship-banner time{font-size:15px}.ship-action{padding:6px 10px}}@media (prefers-reduced-motion:reduce){.ship-banner,.contraband-chase .ship-seal{animation:none}.ship-meter i{transition:none}}.ship-map circle{fill:#fffaf0;stroke:#1d2f3a;stroke-width:1.2px}.ship-map path{fill:none;stroke:#1d2f3a;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.ship-map.is-packet circle{fill:#f6d9d4;stroke:#a8322c}.ship-map.is-packet path{stroke:#a8322c}.ship-map.is-sack circle{fill:#a8322c;stroke:#fffaf0}.ship-map.is-sack path{stroke:#fffaf0}.ship-map.is-fleet circle{fill:#dceaf7;stroke:#2f6fb0}.ship-map.is-fleet path{stroke:#2f6fb0}.ship-map.is-tallship circle{fill:#fffaf0;stroke:#1f3f63}.ship-map.is-ghost circle{fill:#1f3a35;stroke:#8fe3c8}.ship-map.is-ghost path{stroke:#c9f5e6}.ship-map.is-cursed circle{fill:#10241e;stroke:#5df2b0}.ship-map.is-cursed path{stroke:#b9ffe0}.ship-map.is-canoe circle{fill:#e3eef9;stroke:#2f6fb0}.ship-map.is-canoe path{stroke:#2f6fb0}.ship-map.is-nau circle{fill:#f7e6c4;stroke:#6a4528}.ship-map.is-nau path{stroke:#6a4528}.ship-map.is-contact circle{fill:#f3e6cc;stroke:#6b5434}.ship-map.is-contact path{stroke:#6b5434}.ship-map.is-cove circle{fill:#6b5434;stroke:#fffaf0}.ship-map.is-cove path{stroke:#fffaf0}.ship-map.is-launch circle{fill:#dfe7f7;stroke:#2f4f8f}.ship-map.is-launch path{stroke:#2f4f8f}.ship-map .ship-waters{fill:#2f6fb01a;stroke:#6f9fd8;stroke-width:1.2px;stroke-dasharray:4 3}.landfall-card{top:calc(var(--safe-top) + 19vh);z-index:6;width:min(92vw,640px);color:var(--cream);text-align:center;text-shadow:0 1px 2px #062a3366,0 4px 22px #062a3380;pointer-events:none;animation:landfall-in 1.1s var(--ease) both;justify-items:center;gap:2px;display:grid;position:fixed;left:50%;transform:translate(-50%)}.landfall-card small{letter-spacing:.32em;text-transform:uppercase;opacity:.92;font-size:12px;font-weight:700}.landfall-card b{letter-spacing:.01em;font-family:Cormorant Garamond,serif;font-size:clamp(46px,8vw,84px);font-weight:500;line-height:1}.landfall-card em{opacity:.95;font-family:Cormorant Garamond,serif;font-size:clamp(19px,2.6vw,26px);font-style:italic}.landfall-points{background:var(--deep);color:var(--gold);font-variant-numeric:tabular-nums;text-shadow:none;box-shadow:var(--shadow-sm);animation:landfall-points .6s var(--ease) .7s both;border-radius:999px;margin-top:10px;padding:4px 12px;font-size:13px;font-weight:700}.landfall-card.is-leaving{animation:.7s both landfall-out}body.photo-mode .landfall-card{display:none}@keyframes landfall-in{0%{opacity:0;letter-spacing:.08em;transform:translate(-50%,14px)}}@keyframes landfall-points{0%{opacity:0;transform:translateY(6px)scale(.9)}}@keyframes landfall-out{to{opacity:0;transform:translate(-50%,-8px)}}@media (prefers-reduced-motion:reduce){.landfall-card,.landfall-points,.landfall-card.is-leaving{animation-name:landfall-fade}.landfall-card.is-leaving{animation-direction:reverse}@keyframes landfall-fade{0%{opacity:0}}}.speed-line{position:relative}.hud.is-gusting #speed{color:var(--gold-ink);font-weight:700;transition:color .3s}.gust-chip{background:var(--deep);color:var(--cream);white-space:nowrap;pointer-events:none;opacity:0;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700;position:absolute;top:50%;left:100%;transform:translate(-4px,-50%)}.gust-chip.is-showing{animation:gust-chip 1.7s var(--ease) both}@keyframes gust-chip{0%{opacity:0;transform:translate(-6px,-50%)scale(.9)}15%{opacity:1;transform:translateY(-50%)scale(1.05)}75%{opacity:1;transform:translate(2px,-50%)}to{opacity:0;transform:translate(6px,-50%)}}@media (prefers-reduced-motion:reduce){.gust-chip.is-showing{animation-name:gust-chip-fade}@keyframes gust-chip-fade{0%,to{opacity:0;transform:translateY(-50%)}15%,75%{opacity:1;transform:translateY(-50%)}}}.photo-golden{background:var(--deep);color:var(--gold);letter-spacing:.02em;white-space:nowrap;border-radius:999px;margin:0;padding:6px 14px;font-size:12.5px;font-weight:700}.photo-golden[hidden]{display:none}.sky-wonders{gap:8px;display:grid}.sky-wonder{border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--hairline-strong);gap:2px;padding:10px 12px;display:grid}.sky-wonder b{font-size:14px}.sky-wonder span{color:var(--muted);font-size:12.5px}.sky-wonder.is-found{background:#e8b95a1f;box-shadow:inset 0 0 0 1px #e8b95a66}.sky-wonder.is-found span{color:var(--gold-ink);font-weight:700}.settlement-panel .section-label{margin:22px 0 10px}.settlement-panel .panel-body>.section-label:first-child{margin-top:4px}.settlement-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:4px 0 2px;display:grid}@media (width<=520px){.settlement-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.settlement-stat{box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 1px 2px #1f47440d;color:inherit;font:inherit;text-align:left;background:#fffdf8;border:0;border-radius:16px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px 15px;display:grid;position:relative;overflow:hidden}button.settlement-stat{cursor:pointer}button.settlement-stat:hover{background:#f8f3e5}.settlement-stat-icon{width:34px;height:34px;color:var(--teal-deep,#1c5c59);background:#1f474410;border-radius:50%;place-items:center;display:grid}.settlement-stat-icon svg{width:20px;height:20px}.settlement-stat.is-gold .settlement-stat-icon{color:var(--gold-ink);background:#e9bd5e33}.settlement-stat-text{flex-direction:column;gap:1px;min-width:0;display:flex}.settlement-stat b{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.22em;line-height:1.1}.settlement-stat b small{opacity:.55;margin-left:1px;font-size:.68em;font-weight:500}.settlement-stat em{opacity:.65;white-space:nowrap;text-overflow:ellipsis;font-size:.75em;font-style:normal;overflow:hidden}.settlement-fill{background:var(--hairline-strong);border-radius:999px;height:3px;position:absolute;bottom:7px;left:12px;right:12px;overflow:hidden}.settlement-fill i{border-radius:inherit;background:var(--teal,#287a76);height:100%;display:block}.settlement-fill.is-full i{background:var(--gold-ink)}.settlement-queue{gap:6px;display:grid}@media (width>=701px){.settlement-queue.is-two{grid-template-columns:1fr 1fr}}.settlement-build{min-height:50px;box-shadow:inset 0 0 0 1px var(--hairline-strong);background:#fffdf8;border-radius:14px;align-items:center;gap:2px;padding-right:4px;display:flex}.settlement-build.is-idle{box-shadow:none;color:var(--ink-soft);background:0 0;border:1.5px dashed #1f474433;gap:10px;padding:0 14px;font-size:.92em}.settlement-build.is-idle svg{opacity:.7;width:18px;height:18px}.settlement-build-open{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;flex:1;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 8px 5px 5px;display:grid}.settlement-build-open:hover{background:#f8f3e5}.settlement-build img{object-fit:contain;width:44px;height:38px}.settlement-build-open>span{flex-direction:column;gap:6px;min-width:0;display:flex}.settlement-build b{white-space:nowrap;text-overflow:ellipsis;font-size:.95em;overflow:hidden}.settlement-panel time{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.settlement-cancel{width:34px;height:34px;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.settlement-cancel:hover{opacity:1;background:#1f474412}.settlement-cancel svg{width:16px;height:16px}.settlement-progress{background:var(--hairline-strong,#0000001f);border-radius:999px;height:5px;display:block;overflow:hidden}.settlement-progress i{border-radius:inherit;background:var(--gold-ink,#9a7330);transform-origin:0;height:100%;transition:transform .2s linear;display:block}@media (prefers-reduced-motion:reduce){.settlement-progress i{transition:none}}.settlement-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;display:grid}@media (width<=520px){.settlement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}}.settlement-tile{min-height:108px;box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 1px 2px #1f47440d;color:inherit;font:inherit;cursor:pointer;background:#fffdf8;border:0;border-radius:16px;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;padding:8px 6px 9px;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.settlement-tile:hover{box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 10px 20px -12px #08323a73;transform:translateY(-2px)}.settlement-tile img{object-fit:contain;width:100%;height:66px}.settlement-tile b{-webkit-line-clamp:2;text-align:center;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.settlement-tile-level{background:var(--gold-ink);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;display:grid;position:absolute;top:6px;right:6px}.settlement-tile-level.is-up{background:linear-gradient(#2e8a83,#1b5a57);gap:1px;padding:0 7px 0 4px;display:inline-flex;box-shadow:0 3px 8px -3px #1c5c59cc}.settlement-tile-level svg{stroke-width:2.4px;width:13px;height:13px;transform:rotate(-90deg)}.settlement-tile.is-building{box-shadow:inset 0 0 0 1.5px var(--gold-ink), 0 1px 2px #1f47440d}.settlement-tile-build{align-items:center;gap:5px;width:100%;margin-top:2px;display:flex}.settlement-tile-build .settlement-progress{flex:1}.settlement-tile-build time{font-size:11px}.settlement-tile.is-free,.settlement-tile.is-locked{box-shadow:none;background:0 0;border:1.5px dashed #1f474433;justify-content:center;gap:6px}.settlement-tile.is-free{color:var(--teal-deep,#1c5c59)}.settlement-tile.is-free:hover{background:#fffdf8;border-color:#1c5c5966}.settlement-tile.is-free svg{stroke-width:1.8px;width:28px;height:28px}.settlement-tile.is-locked{color:var(--ink-soft);opacity:.75}.settlement-tile.is-locked svg{width:20px;height:20px}.settlement-tile.is-locked{flex-flow:wrap;grid-column:span 2;align-content:center;gap:2px 8px}.settlement-tile.is-locked b{font-size:12.5px}.settlement-tile.is-locked small{opacity:.8;flex-basis:100%;font-size:11.5px}@media (prefers-reduced-motion:reduce){.settlement-tile,.settlement-pick{transition:none}.settlement-tile:hover,.settlement-pick:not(:disabled):hover{transform:none}}.settlement-duo{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;display:grid}@media (width<=700px){.settlement-duo{grid-template-columns:1fr}}.settlement-box{box-shadow:inset 0 0 0 1px var(--hairline-strong);background:#fffdf8;border-radius:18px;flex-direction:column;gap:10px;padding:14px;display:flex}.settlement-box-stats{flex-wrap:wrap;gap:10px 22px;display:flex}.settlement-box-stats>span{grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:8px;display:grid}.settlement-box-stats svg{width:22px;height:22px;color:var(--gold-ink);grid-row:span 2}.settlement-box-stats b{font-size:1.15em;line-height:1.15}.settlement-box-stats small{letter-spacing:.14em;color:#6f857f;font-size:10px}.settlement-box .secondary-button{min-height:44px;margin:auto 0 0}.settlement-box-note{opacity:.7;margin:0;font-size:12.5px;line-height:1.45}.settlement-guestbook{margin:0;padding:0;list-style:none}.settlement-guestbook li{align-items:center;gap:8px;padding:4px 0;font-size:.9em;display:flex}.settlement-guestbook li svg{opacity:.7;flex:none;width:16px;height:16px}.settlement-guestbook li span{flex:1;min-width:0}.settlement-guestbook li small{opacity:.6;white-space:nowrap}.settlement-hero{aspect-ratio:16/9;background:#1f474409;border-radius:18px;margin:0 0 12px;display:block;position:relative;overflow:hidden}.settlement-hero>img{object-fit:contain;width:100%;height:100%;display:block}.settlement-hero>canvas{opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.settlement-hero>canvas.is-live{opacity:1}@media (prefers-reduced-motion:reduce){.settlement-hero>canvas{transition:none}}.settlement-hero-level{background:#fffbf2e6;border-radius:12px;align-items:baseline;gap:6px;padding:5px 12px 6px;display:flex;position:absolute;bottom:14px;left:10px;box-shadow:0 6px 16px -8px #08323a80}.settlement-hero-level small{letter-spacing:.15em;color:#6f857f;font-size:10px}.settlement-hero-level b{color:var(--ink);font-variant-numeric:lining-nums;font:500 30px/1 Cormorant Garamond,serif}.settlement-hero-level b span{opacity:.5;margin-left:1px;font-size:.5em}.settlement-track{background:#1f474426;height:5px;display:block;position:absolute;bottom:0;left:0;right:0}.settlement-track i{background:linear-gradient(90deg, #c9a14f, var(--gold-ink));height:100%;display:block}.settlement-hero.is-garden{aspect-ratio:auto;background:0 0;grid-template-columns:minmax(120px,200px) minmax(0,1fr);align-items:center;gap:14px;padding:10px;display:grid;overflow:visible}.settlement-hero.is-garden>img{height:auto;max-height:150px}.settlement-hero.is-garden p{margin:0 0 12px;line-height:1.5}.settlement-hero.is-garden .secondary-button{min-height:42px;margin:0;padding:0 18px}.settlement-table{border-collapse:separate;border-spacing:0;width:100%;box-shadow:inset 0 0 0 1px var(--hairline-strong);font-variant-numeric:tabular-nums;background:#fffdf8;border-radius:14px;margin:0 0 12px}.settlement-table thead th{letter-spacing:.13em;color:#6f857f;text-align:right;padding:10px 14px 2px;font-size:10px;font-weight:600}.settlement-table thead th.is-next{color:var(--gold-ink)}.settlement-table tbody th{text-align:left;padding:9px 8px 9px 14px;font-weight:500}.settlement-table tbody th>*{vertical-align:middle}.settlement-table tbody th svg{opacity:.65;width:18px;height:18px;margin-right:9px}.settlement-table td{text-align:right;white-space:nowrap;padding:9px 14px 9px 6px;font-weight:600}.settlement-table td.is-up{color:var(--gold-ink)}.settlement-table td.is-up:before{content:"▲";vertical-align:.15em;margin-right:4px;font-size:.6em}.settlement-table tbody tr+tr>*{border-top:1px solid var(--hairline)}.settlement-action{background:#1f474409;border-radius:18px;flex-direction:column;gap:10px;margin:0 0 4px;padding:12px;display:flex}.settlement-action .primary-button,.settlement-action .secondary-button{width:100%;margin:0}.settlement-action-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.settlement-action-head small{letter-spacing:.15em;color:var(--gold-ink);font-size:10.5px}.settlement-action-head time{font-size:1.35em}.clock[data-settlement-ready]{text-align:right}.settlement-action>.settlement-progress{height:8px}.settlement-calloff{color:inherit;font:inherit;opacity:.8;cursor:pointer;background:0 0;border:0;border-radius:999px;align-self:center;align-items:baseline;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.settlement-calloff:hover{opacity:1;background:#1f474412}.settlement-calloff small{opacity:.7;font-weight:500}.settlement-hint{opacity:.75;align-items:flex-start;gap:6px;margin:0;font-size:12.5px;line-height:1.4;display:flex}.settlement-hint svg{flex:none;width:16px;height:16px}.settlement-complete{color:var(--gold-ink);justify-content:center;align-items:center;gap:6px;margin:4px 0;font-weight:600;display:flex}.settlement-complete svg{width:18px;height:18px}.settlement-cost{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.settlement-chip{box-shadow:inset 0 0 0 1px var(--hairline-strong);font-variant-numeric:tabular-nums;white-space:nowrap;background:#fffdf8;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:.9em;font-weight:600;display:inline-flex}.settlement-chip svg{opacity:.75;width:15px;height:15px}.settlement-chip.is-short{box-shadow:none;color:#8a4f1c;background:#f3dcc4}.settlement-chip.is-time{box-shadow:none;opacity:.8;background:0 0}.settlement-action .settlement-chip.is-time{margin-left:auto;padding-right:2px}.settlement-picks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.settlement-picks.is-small{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:8px}@media (width<=520px){.settlement-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settlement-picks.is-small{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}}.settlement-pick{box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 1px 2px #1f47440d;color:inherit;font:inherit;text-align:center;cursor:pointer;background:#fffdf8;border:0;border-radius:18px;flex-direction:column;align-items:center;gap:7px;padding:12px 10px 10px;transition:transform .12s,box-shadow .12s;display:flex}.settlement-pick:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 12px 24px -14px #08323a80;transform:translateY(-2px)}.settlement-pick:disabled{opacity:1}.settlement-pick:disabled img{opacity:.5;filter:grayscale(.6)}.settlement-pick img{object-fit:contain;width:100%;height:92px}.settlement-pick>b{font-size:15px;line-height:1.2}.settlement-picks.is-small .settlement-pick{border-radius:15px;gap:5px;padding:8px 6px 6px}.settlement-picks.is-small .settlement-pick img{height:64px}.settlement-picks.is-small .settlement-pick>b{font-size:12px}.settlement-pick-stat{background:#1f47440a;border-radius:10px;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:2px 5px;width:100%;padding:6px 8px;font-size:12px;display:grid}.settlement-pick-stat svg{opacity:.7;width:14px;height:14px}.settlement-pick-stat span{opacity:.75}.settlement-pick-stat em{grid-column:1/-1;font-size:13px;font-style:normal;font-weight:700}.settlement-pick .settlement-cost{justify-content:center}.settlement-pick-go{color:#fff;background:linear-gradient(#2e8a83,#1b5a57);border-radius:12px;justify-content:center;align-items:center;gap:5px;width:100%;margin-top:auto;padding:8px 10px;font-size:13.5px;font-weight:600;line-height:1.2;display:inline-flex}.settlement-pick-go svg{flex:none;width:14px;height:14px}.settlement-pick-go.is-off{color:var(--ink-soft);background:#1f474410;font-size:12px;font-weight:500}.settlement-pick-go.is-here{color:var(--gold-ink);background:#e9bd5e33}.settlement-picks.is-small .settlement-pick-go{padding:6px;font-size:12px}.settlement-picks.is-small .settlement-pick-go.is-off{font-size:11px}.settlement-pick.is-chosen{box-shadow:inset 0 0 0 2px var(--gold-ink)}.settlement-pick.is-chosen img{opacity:1;filter:none}.settlement-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:24px 0 4px;display:flex}.settlement-panel .settlement-heading .section-label{margin:0}.settlement-group{color:var(--ink-soft);margin:12px 0 8px;font-size:12px;font-weight:600}.settlement-sell{box-shadow:inset 0 0 0 1px var(--hairline-strong);background:#fffdf8;border-radius:14px}.settlement-sell-row{grid-template-columns:18px minmax(0,1fr) auto auto auto;align-items:center;gap:8px;padding:8px 10px 8px 14px;display:grid}.settlement-sell-row+.settlement-sell-row{border-top:1px solid var(--hairline)}.settlement-sell-row svg{opacity:.7;width:18px;height:18px}.settlement-sell-row b{font-weight:500}.settlement-sell-row>span{font-variant-numeric:tabular-nums;margin-right:6px;font-weight:700}.settlement-sell-row button{color:inherit;font:inherit;white-space:nowrap;cursor:pointer;background:#1f474410;border:0;border-radius:999px;padding:6px 11px;font-size:.88em;font-weight:600}.settlement-sell-row button:not(:disabled):hover{background:#1f47441f}.settlement-swaps{grid-template-columns:1fr 1fr;gap:8px;display:grid}.settlement-swap{min-height:50px;box-shadow:inset 0 0 0 1px var(--hairline-strong), 0 1px 2px #1f47440d;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:#fffdf8;border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:10px;font-weight:700;display:flex}.settlement-swap:not(:disabled):hover{background:#f8f3e5}.settlement-swap span{align-items:center;gap:4px;display:inline-flex}.settlement-swap svg{width:18px;height:18px}.settlement-swap>svg{opacity:.5;width:14px;height:14px}.settlement-fits{box-shadow:inset 0 0 0 1px var(--hairline-strong);background:#fffdf8;border-radius:14px}.settlement-fit{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 12px 11px 14px;display:grid}.settlement-fit+.settlement-fit{border-top:1px solid var(--hairline)}.settlement-fit>svg{opacity:.7;width:22px;height:22px}.settlement-fit>div{flex-wrap:wrap;align-items:center;gap:3px 10px;min-width:0;display:flex}.settlement-fit b{font-weight:600}.settlement-fit small{opacity:.75;flex-basis:100%;align-items:center;gap:4px;font-size:12px;display:flex}.settlement-fit small.is-why{color:#8a4f1c;opacity:1}.settlement-fit small svg{flex:none;width:13px;height:13px}.settlement-pips{gap:3px;display:inline-flex}.settlement-pips i{background:#1f474420;border-radius:50%;width:8px;height:8px}.settlement-pips i.is-on{background:var(--gold-ink)}.settlement-buy{color:#fff;min-height:40px;font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;background:linear-gradient(#2e8a83,#1b5a57);border:0;border-radius:999px;align-items:center;gap:5px;padding:0 14px;font-size:13.5px;font-weight:700;display:inline-flex;box-shadow:0 6px 14px -8px #1c5c59cc}.settlement-buy svg{width:15px;height:15px}.settlement-buy:disabled{color:var(--ink-soft);box-shadow:none;opacity:1;background:#1f474414}.settlement-fit-done{color:var(--gold-ink);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.settlement-fit-done svg{width:15px;height:15px}.settlement-flags{flex-wrap:wrap;gap:8px;padding:2px 0 8px;display:flex}.settlement-flag{background:var(--flag);cursor:pointer;border:2px solid #0000;border-radius:50%;width:30px;height:30px}.settlement-flag[aria-pressed=true]{box-shadow:0 0 0 2px var(--gold-ink,#c9a85a);border-color:#fff}.settlement-paints{flex-wrap:wrap;gap:7px;padding:2px 0 4px;display:flex}.settlement-paint{border:2px solid var(--hairline,#0000001f);cursor:pointer;background:linear-gradient(135deg, var(--wall) 0 52%, var(--trim) 52% 100%);border-radius:50%;width:30px;height:30px}.settlement-paint[aria-pressed=true]{box-shadow:0 0 0 2px var(--gold-ink,#c9a85a);border-color:#fff}:is(.settlement-flag,.settlement-paint)[data-locked]{opacity:.28}@media (width<=520px){.settlement-paints{gap:6px}.settlement-paint{width:26px;height:26px}}.settlement-panel [data-settlement-lift][data-confirm=true],.settlement-panel [data-settlement-lift][data-confirm=true]:not(:disabled):hover{color:#fff;background:#a8452f;border-color:#0000}@media (width>=701px){.panel.settlement-panel{width:min(780px,100vw - 28px)}.panel.settlement-panel.is-card{width:min(460px,100vw - 28px)}}.settlement-trade-table{background:var(--glass);border:1px solid var(--hairline,#ffffff24);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;display:grid;overflow:hidden}.settlement-trade{grid-template-columns:minmax(0,1.4fr) auto minmax(0,auto);align-items:center;gap:10px 14px;padding:10px 12px;display:grid}.settlement-trade-table>.settlement-trade{grid-column:1/-1;grid-template-columns:subgrid}.settlement-trade-table .settlement-trade-buttons{grid-column:1/-1;justify-content:flex-start}.settlement-trade+.settlement-trade{border-top:1px solid var(--hairline,#ffffff24)}.settlement-trade-what{align-items:center;gap:10px;min-width:0;display:flex}.settlement-trade-what b{display:block}.settlement-trade-what small{opacity:.72;white-space:normal;font-size:.82em;display:block}.settlement-trade-aboard{white-space:nowrap;text-align:right;font-weight:600}.settlement-trade-buttons{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.settlement-trade-buttons button{border:1px solid var(--hairline,#fff3);background:var(--sheen,#ffffff24);color:inherit;font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:.9em}.settlement-trade-buttons button.is-sell{background:0 0}.settlement-trade-buttons button:disabled{opacity:.4;cursor:default}.settlement-trade-none{opacity:.6;align-self:center;font-size:.85em}.settlement-trade .settlement-trade-buttons:only-child{justify-content:flex-start}@media (width<=700px){.settlement-trade{grid-template-columns:minmax(0,1fr) auto}.settlement-trade-buttons{grid-column:1/-1;justify-content:flex-start}}.settlement-bar{white-space:nowrap;background:var(--glass-dark,#142c32b8);-webkit-backdrop-filter:var(--blur,blur(14px));backdrop-filter:var(--blur,blur(14px));box-shadow:inset 0 0 0 1px #ffffff1a, var(--shadow-sm,0 6px 20px #00000040);color:var(--cream,#f4ecdc);pointer-events:auto;border-radius:999px;flex-wrap:nowrap;align-items:center;gap:4px;margin:0;padding:4px;font-size:13px;display:inline-flex}.settlement-bar b{margin:0 4px 0 10px;font-size:13px;font-weight:600}.settlement-bar b:empty{display:none}.settlement-bar span{opacity:.85;align-items:center;gap:5px;margin-right:6px;display:inline-flex}.settlement-bar span:empty{display:none}.settlement-bar [data-hint]{white-space:nowrap}.settlement-bar button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:600}.settlement-bar button:hover{background:#ffffff1a}.settlement-bar button.is-primary{background:var(--cream,#f4ecdc);color:#1b2c30}.settlement-bar button[hidden]{display:none}@media (width<=700px){.settlement-bar{white-space:normal;border-radius:18px;flex-wrap:wrap;justify-content:center}.settlement-bar [data-hint]{white-space:normal}.settlement-bar [data-bar=leave]{display:none}}.feature-hud:has(>.settlement-bar:not([hidden]))>.hud-more{display:none}.settlement-label{background:var(--cream);color:var(--ink);white-space:nowrap;border-radius:999px;flex-direction:column;align-items:center;gap:3px;padding:3px 3px 3px 7px;font-size:11px;font-weight:700;line-height:1;display:flex;position:absolute;top:0;left:0;translate:-50% calc(-100% - 8px);box-shadow:0 1px 2px #0b3a4526,0 6px 14px -6px #0b3a4573}.settlement-label[hidden]{display:none}.settlement-label:after{content:"";background:var(--cream);clip-path:polygon(0 100%,100% 100%,100% 0);border-radius:0 0 2px;width:8px;height:8px;position:absolute;bottom:-4px;left:50%;translate:-50%;rotate:45deg}.settlement-label.is-level{border:1.5px solid var(--cream);background:linear-gradient(180deg, #b98b3f, var(--gold-ink));color:#fff;flex-direction:row;justify-content:center;gap:1px;min-width:19px;height:19px;padding:0 5px;font-size:10px;font-weight:800;translate:-50% calc(-100% - 5px);box-shadow:0 1px 2px #0b3a4540,0 3px 8px -3px #0b3a4573}.settlement-label.is-level:after{border:solid var(--cream);background:var(--gold-ink);border-width:0 1.5px 1.5px 0;border-radius:0 0 1.5px;width:7px;height:7px;bottom:-3.5px}.settlement-label.is-level.is-ready{background:linear-gradient(#2e8a83,#1b5a57);padding:0 6px 0 4px}.settlement-label.is-level.is-ready:after{background:#1b5a57}.settlement-label.is-level svg{stroke-width:3px;width:9px;height:9px;transform:rotate(-90deg)}.settlement-label.is-build{z-index:1}.settlement-label.is-build:has(>b){border-radius:10px;padding-top:5px}.settlement-label.is-build>b{opacity:.8;padding-right:4px;font-size:10px}.settlement-label.is-build>span:not(.settlement-progress){align-items:center;gap:3px;display:flex}.settlement-label.is-build svg{opacity:.6;width:11px;height:11px}.settlement-label.is-build em{background:var(--teal-deep);color:#fff;border-radius:999px;margin-left:2px;padding:2px 5px;font-size:10px;font-style:normal}.settlement-label.is-build .settlement-progress{z-index:-1;border-radius:inherit;background:0 0;height:auto;position:absolute;inset:0}.settlement-label.is-build .settlement-progress i{background:#ebc36a66;border-radius:0}.settlement-mark.is-mine .settlement-own-halo{fill:#e8b95a2e;stroke:#ffe3a3;stroke-opacity:.6;stroke-width:1px}.settlement-mark.is-mine .settlement-own-disc{fill:var(--flag,#3eaaa2);stroke:#fff8e8;stroke-width:1.6px}.settlement-mark.is-mine path{fill:none;stroke:#fff8e8;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.settlement-panel.is-card .eyebrow{text-transform:uppercase}@media (width>=701px){.panel.settlement-panel.is-card{width:min(440px,100vw - 28px)}}.settlement-tools.is-quiet{justify-content:center;gap:4px;margin:14px 0 2px}.settlement-tools.is-quiet button{opacity:.75;background:0 0;border:0;border-radius:999px;flex:none;min-width:0;padding:6px 14px;font-size:13px;font-weight:600}.settlement-tools.is-quiet button:not(:disabled):hover{opacity:1;background:var(--sheen,#ffffff24)}.settlement-tools.is-quiet button[data-confirm=true]{color:#fff;opacity:1;background:#a8452f}.harbour-cue{opacity:0;--flag:#3eaaa2;width:0;height:0;transition:opacity .9s;position:absolute;top:0;left:0}.harbour-cue.is-shown{opacity:1}.harbour-cue-glow{transform-origin:8px;clip-path:inset(0 50% 0 0);background:radial-gradient(closest-side, color-mix(in srgb, var(--flag) 35%, #fff3d6) 0%, color-mix(in srgb, var(--flag) 70%, #fff3d6 0%) 38%, color-mix(in srgb, var(--flag) 40%, transparent) 62%, transparent 100%);mix-blend-mode:screen;opacity:.8;border-radius:50%;width:28px;height:300px;animation:4.8s ease-in-out infinite harbour-cue-breathe;position:absolute;top:-150px;left:-8px}.harbour-cue-chevron{transform-origin:26px 11px;filter:drop-shadow(0 0 3px #0b2f37aa);width:22px;height:22px;position:absolute;top:-11px;left:-26px;overflow:visible}.harbour-cue-chevron path{fill:none;stroke:#fff8e8;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}@keyframes harbour-cue-breathe{0%,to{opacity:.62;transform:scale(.95)}50%{opacity:.95;transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.harbour-cue{transition:none}.harbour-cue-glow{animation:none}}.captain-book{z-index:70;font-variant-numeric:lining-nums;color:#2b2a24;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:radial-gradient(120% 90% at 50% 0,#12424d,#071f26);flex-direction:column;display:flex;position:fixed;inset:0}.book-toolbar{padding:max(12px, env(safe-area-inset-top)) 16px 12px;flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.book-toolbar button{min-height:42px;padding:8px 18px}.book-sheets{overscroll-behavior:contain;min-height:0;padding:6px 16px max(32px, env(safe-area-inset-bottom));flex:auto;overflow:auto}.book-loading{text-align:center;color:#f6efe0;margin:18vh auto 0;font:italic 500 22px/1.4 Cormorant Garamond,serif}.book-page{background:radial-gradient(140% 100% at 0 0,#ffffff8c,#0000 60%),linear-gradient(170deg,#fcf8ee,#f4ecd8);border-radius:4px;max-width:720px;margin:0 auto 22px;padding:44px 52px 48px;position:relative;box-shadow:0 1px 2px #0003,0 24px 60px -24px #000a}.book-page:after{content:"";pointer-events:none;border:1px solid #d9c9a1;border-radius:2px;position:absolute;inset:12px}.book-chapter+.book-chapter{margin-top:44px}.book-page h2{letter-spacing:.01em;color:#1d3b3a;margin:0 0 18px;font:600 30px/1.1 Cormorant Garamond,serif}.book-page h2:after{content:"";background:linear-gradient(90deg,#c99a3b,#e8b95a00);width:64px;height:2px;margin-top:10px;display:block}.book-page h3{letter-spacing:.14em;text-transform:uppercase;color:#8a6a2c;margin:22px 0 10px;font-size:11px;font-weight:600}.book-lead{color:#4f5a52;margin:-4px 0 16px;font:italic 500 18px/1.4 Cormorant Garamond,serif}.book-empty{color:#7b8076;margin:0;font:italic 500 16px/1.45 Cormorant Garamond,serif}.book-cover{text-align:center;background:radial-gradient(90% 60% at 50% 30%, color-mix(in srgb, var(--book-accent,#287a76) 14%, transparent), transparent 70%), linear-gradient(170deg, #fcf8ee, #f1e7cf);flex-direction:column;justify-content:center;align-items:center;min-height:min(880px,82dvh);display:flex}.book-kicker{letter-spacing:.32em;color:#8a6a2c;margin:0 0 30px;font-size:12px;font-weight:600}.book-seal{background:#fffaf0;border-radius:50%;width:112px;height:112px;padding:6px;box-shadow:0 0 0 1px #d9c9a1,0 10px 30px -12px #0006}.book-insignia{width:100%;height:100%;display:block}.book-cover h1{color:#1d3b3a;margin:26px 0 8px;font:600 clamp(36px,6vw,54px)/1.05 Cormorant Garamond,serif}.book-boat{color:#4f5a52;align-items:center;gap:10px;margin:0;font:italic 500 20px/1.3 Cormorant Garamond,serif;display:inline-flex}.book-boat i{border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 2px #fffaf0,0 0 0 3px #1d3b3a33}.book-rule{background:linear-gradient(90deg,#0000,#c99a3b,#0000);width:140px;height:1px;margin:30px 0 24px}.book-season{letter-spacing:.12em;text-transform:uppercase;color:#1d3b3a;margin:0;font-size:13px;font-weight:600}.book-dates{color:#6b7468;margin:6px 0 0;font-size:13px}.book-kept{color:#8a8a7c;margin:42px 0 0;font:italic 500 16px/1.3 Cormorant Garamond,serif}.book-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.book-stats>div{background:#ffffff8a;border-radius:10px;padding:14px 12px;box-shadow:inset 0 0 0 1px #e6dbbd}.book-stats b{letter-spacing:-.01em;color:#1d3b3a;font:600 22px/1.15 DM Sans,sans-serif;display:block}.book-stats span{color:#6b7468;margin-top:4px;font-size:11.5px;line-height:1.35;display:block}.book-tiers,.book-titles,.book-list,.book-islands,.book-crew{margin:0;padding:0;list-style:none}.book-tiers li{border-bottom:1px dashed #e0d3b0;grid-template-columns:52px minmax(0,1fr);align-items:center;column-gap:12px;padding:7px 0;display:grid}.book-tiers li>span{color:#7a6a44;background:#efe6cd;border-radius:999px;grid-row:1/span 2;place-items:center;height:30px;font-size:12px;font-weight:600;display:grid}.book-tiers li.is-paid>span{color:#fffaf0;background:#c99a3b}.book-tiers b{color:#2b2a24;font-size:13.5px}.book-tiers small{color:#6b7468;font-size:12px}.book-titles li{gap:2px;padding:8px 0;display:grid}.book-titles b{color:#7a5a1d;font:italic 600 20px/1.2 Cormorant Garamond,serif}.book-titles small{color:#6b7468;font-size:12px}.book-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px;display:grid}.book-columns h3{margin-top:14px}.book-list li{border-bottom:1px dotted #d9c9a1;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 0;font-size:13px;display:flex}.book-list li span{min-width:0}.book-list li small{color:#7b8076;font-size:11px;display:block}.book-list b{font-variant-numeric:tabular-nums;color:#1d3b3a;white-space:nowrap}.book-stars{letter-spacing:.08em;color:#c99a3b!important}.book-islands li{grid-template-columns:14px 110px minmax(0,1fr) 90px;align-items:center;gap:12px;padding:7px 0;font-size:13.5px;display:grid}.book-islands li>i{border-radius:50%;width:12px;height:12px}.book-islands li.is-unknown{opacity:.55}.book-islands b{text-align:right;color:#1d3b3a;font-size:12.5px}.book-bar{background:#e8ddc0;border-radius:6px;height:6px;overflow:hidden}.book-bar i{background:linear-gradient(90deg,#4a8f86,#c99a3b);height:100%;display:block}.book-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 14px;display:grid}.book-gallery figure{margin:0}.book-gallery img,.book-gallery figure>span{aspect-ratio:3/2;object-fit:cover;background:#ece3c8;border:5px solid #fffdf7;border-radius:2px;width:100%;display:block;box-shadow:0 1px 2px #0002,0 8px 18px -10px #0007}.book-gallery [data-frame=gold] img{border-color:#e8b95a}.book-gallery [data-frame=silver] img{border-color:#cfd5d8}.book-gallery [data-frame=bronze] img{border-color:#d39a68}.book-gallery figcaption{color:#4f5a52;margin-top:6px;font-size:11.5px;line-height:1.35}.book-gallery.is-small{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.book-gallery.is-small img{border-width:3px}.book-gallery.is-small figcaption{font-size:10px}.book-painting{text-align:center;max-width:420px;margin:4px auto 0}.book-painting svg{border:10px solid #fffdf7;width:100%;height:auto;display:block;box-shadow:0 0 0 1px #d9c9a1,0 18px 40px -20px #0008}.book-painting figcaption{color:#4f5a52;margin-top:12px;font:italic 500 17px/1.3 Cormorant Garamond,serif}.book-crew>li{border-bottom:1px dashed #e0d3b0;padding:10px 0}.book-crew b{color:#1d3b3a;font:600 19px/1.2 Cormorant Garamond,serif}.book-crew small{color:#6b7468;margin-top:2px;font-size:12px;display:block}.book-crew ol{color:#4f5a52;margin:6px 0 0;padding-left:20px;font:italic 500 15.5px/1.5 Cormorant Garamond,serif}@media (width<=600px){.book-page{padding:30px 24px 34px}.book-page:after{inset:8px}.book-columns{grid-template-columns:1fr}.book-stats b{font-size:19px}.book-islands li{grid-template-columns:12px 84px minmax(0,1fr) 70px;gap:8px;font-size:12.5px}.book-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.book-gallery.is-small{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{@page{size:A4;margin:14mm}html,body,#app{background:#fff!important;height:auto!important;overflow:visible!important}body.book-open>:not(.captain-book){display:none!important}.captain-book{background:0 0;display:block;position:static}.book-toolbar{display:none}.book-sheets{padding:0;overflow:visible}.book-page{max-width:none;min-height:0;box-shadow:none;break-after:page;break-inside:avoid-page;margin:0;padding:12mm 12mm 14mm}.book-page:last-child{break-after:auto}.book-cover{min-height:255mm}.book-chapter,.book-columns,.book-gallery,.book-list li,.book-islands li,.book-tiers li,.book-crew>li{break-inside:avoid}}
/*$vite$:1*/