:root{--paper:#fff8e9;--cream:#fffdf3;--ink:#284f43;--muted:#738476;--green:#2d7b60;--green-dark:#235e4b;--teal:#a9dfe0;--line:#e5dec4;--gold:#e8b34e;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1);font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 10% 0,#fffdf4,transparent 50%),var(--paper);min-width:320px}button,input{font:inherit}button,a,input,label{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #dc9844;outline-offset:5px}main:focus{outline:none}button,a{transition:background-color 160ms ease,color 160ms ease,transform 150ms var(--ease-out),box-shadow 160ms ease}button:active:not(:disabled),.primary-button:active{transform:translateY(2px)}[hidden]{display:none!important}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.skip-link{position:fixed;top:-80px;left:20px;padding:14px 20px;background:var(--green);color:white;z-index:100}.skip-link:focus{top:12px}.game-header{height:100px;max-width:1440px;padding:0 40px;display:flex;align-items:center;gap:32px;margin:auto}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand>span:first-child{color:var(--green);width:52px;height:52px;background:#f5e8b9;border-radius:16px;display:grid;place-items:center;transform:rotate(-6deg)}.brand .icon{width:36px;height:36px;stroke-width:1.8}.brand strong{font-size:25px;letter-spacing:1px;display:block;font-weight:850}.brand small{font-size:10px;letter-spacing:1.7px;display:block;margin-top:5px;color:#82927d}.game-header nav{display:flex;align-items:center;gap:10px;margin:auto}.game-header nav a{display:flex;align-items:center;gap:9px;padding:14px 20px;font-size:15px;white-space:nowrap;font-weight:650;border-radius:15px}.game-header nav a .icon{width:23px;height:23px}.game-header nav a.active{background:#e9ebd1;color:#2e654d}.header-tools{display:flex;gap:10px;align-items:center}.wallet{display:flex;align-items:center;gap:7px;white-space:nowrap;background:#f6eabd;border:1px solid #e7d799;padding:10px 15px;border-radius:25px;font-size:18px;color:#74643e}.wallet .icon{color:#b18c51;width:22px;height:22px}.wallet-label{font-size:11px;font-weight:500}.icon-button{width:42px;height:42px;border:1px solid var(--line);background:#fffcf1;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0}.icon-button .icon{width:20px;height:20px}.storage-notice{padding:12px 24px;background:#f8e3b6;text-align:center;font-size:13px}#main{max-width:1440px;padding:16px 40px 10px;margin:auto;min-height:70vh}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;color:#86917b;margin:0 0 10px}.home-intro{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 23px;gap:20px}.home-intro h1{font-size:37px;font-weight:800;letter-spacing:2px;margin:0;line-height:1.45}.home-intro h1 span{color:#498a6c}.home-intro .eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:4px}.explorer-level{display:flex;gap:13px;align-items:center;padding:8px 14px;background:#fffdf4;border:1px solid #e7e0c8;border-radius:18px}.level-icon{color:#b29554}.level-icon .icon{width:35px;height:35px}.explorer-level small{font-size:10px;color:#819078;display:block;letter-spacing:1px}.explorer-level strong{font-size:20px;display:block;margin-top:4px}.explorer-level strong span{font-size:11px;font-weight:500;color:#82917e}.total-stars{margin-left:15px;border-left:1px solid #e4dfcd;padding-left:15px;font-size:19px;font-weight:700}.total-stars .icon{fill:#e8b34e;stroke:#c79640;width:19px;height:19px}.total-stars small{display:inline;font-size:11px;color:#88927d;font-weight:400}.world-map{position:relative;isolation:isolate;height:clamp(450px,40.5vw,595px);border-radius:26px;border:7px solid #fffdf2;box-shadow:0 5px 0 #d8ddbd,0 16px 40px #637d4b0d;background:#b5d6cc;overflow:hidden}.map-art{width:100%;height:100%;object-fit:cover;object-position:center 54%;position:absolute;inset:0;z-index:-2}.world-map:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#2b5d3722,transparent 35%);pointer-events:none;z-index:-1}.map-label{position:absolute;top:22px;left:22px;background:#fff9e9db;padding:9px 16px;border-radius:9px;font-size:10px;letter-spacing:2px;color:#5b7761;backdrop-filter:blur(5px)}.map-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%);display:flex;align-items:center;background:none;padding:8px 0;text-align:left;filter:drop-shadow(0 5px 3px #234a3326);z-index:2;white-space:nowrap}.map-pin:active{transform:translate(-50%,-48%)!important}.pin-marker{width:44px;height:49px;background:var(--green-dark);border:3px solid #fff7de;border-radius:50% 50% 50% 10%;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;font-size:0;position:relative}.pin-marker::first-letter{font-size:0}.map-pin .pin-marker{font-size:0}.pin-marker .icon{transform:rotate(45deg);width:23px;color:white}.pin-marker:has(.icon){font-size:0}.pin-name{background:#fffae8;border-radius:0 20px 20px 0;padding:9px 19px 9px 22px;margin-left:-7px;font-size:17px;letter-spacing:1px;font-weight:750;line-height:1.25}.pin-name small{display:block;font-size:9px;color:#87967e;letter-spacing:.5px;font-weight:500;margin-top:4px}.pin-marker{color:#fff7de}.pin-marker::after{content:"";width:13px;height:13px;border:2px solid #fff6d8;border-radius:50%;position:absolute}.pin-marker:has(.icon)::after{display:none}.map-pin.pin-lock .pin-marker{background:#418a8d}.map-pin.pin-water .pin-marker{background:#597f99}.map-pin.pin-nature .pin-marker{background:#648653}.map-pin.pin-sea .pin-marker{background:#aa6f50}.map-companion{position:absolute;bottom:12px;left:15px;display:flex;align-items:center;z-index:3;pointer-events:none}.buddy-touch{border:0;background:none;padding:0;pointer-events:auto}.buddy-avatar{position:relative;display:block;width:151px;height:169px}.buddy-avatar>img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 5px 3px #25433122)}.buddy-bubble{background:#fff8dfed;border:1px solid #efdfae;border-radius:20px 20px 20px 3px;padding:15px 21px;margin-left:5px;margin-bottom:5px;box-shadow:0 4px 0 #e2d6ad60;max-width:280px;backdrop-filter:blur(6px)}.buddy-bubble strong{font-size:13px;display:block;margin-bottom:6px}.buddy-bubble span{font-size:11px;color:#6d8066;line-height:1.7;display:block}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:13px;min-height:48px;padding:13px 22px;font-weight:650;letter-spacing:.5px;font-size:14px;text-align:center}.primary-button{background:var(--green);color:#fffced;border:2px solid #e5d4a5;box-shadow:0 4px 0 var(--green-dark),inset 0 1px #ffffff3a}.primary-button .icon{width:20px}.secondary-button{background:#fffdf2;border:1px solid #dcd6bf;color:#587157}.map-start{position:absolute;right:29px;bottom:37px;font-size:19px;padding:17px 30px;border:3px solid #fff1bf;box-shadow:0 6px 0 #8e8c5a,0 10px 20px #23533a20;min-width:210px;border-radius:18px;z-index:4}.map-start .icon{width:27px;height:27px}.map-disclaimer{position:absolute;bottom:10px;right:18px;color:#fffce7;text-shadow:0 1px 3px #24432f99;font-size:9px;letter-spacing:.5px}.map-boat{position:absolute;left:45%;top:56%;width:115px;transform:rotate(13deg);pointer-events:none;filter:drop-shadow(0 4px 2px #1a6a752c)}.boat-art{width:100%;height:auto;display:block;overflow:visible}.world-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:21px}.world-tab{position:relative;background:#faf4dd;border:1px solid #e7dfc4;border-radius:14px;padding:16px 14px 19px;display:flex;gap:10px;align-items:center;text-align:left;min-height:98px;box-shadow:0 3px 0 #e6e1c9}.world-tab-icon{height:43px;width:43px;border-radius:13px;background:color-mix(in srgb,var(--world-color) 18%,#fff8e6);color:var(--world-color);display:grid;place-items:center;flex-shrink:0}.world-tab-icon .icon{width:26px;height:26px}.world-tab small{font-size:8px;letter-spacing:1.5px;display:block;color:#959783;margin-bottom:3px}.world-tab strong{font-size:14px;letter-spacing:1px;display:block}.world-tab-description{font-size:9px;display:block;color:#88917e;margin-top:4px}.world-tab-progress{position:absolute;bottom:9px;right:14px;display:flex;gap:3px}.world-tab-progress i{height:3px;width:11px;background:#e0dfc8;border-radius:2px}.world-tab-progress .done{background:var(--world-color)}.discovery-bar{display:flex;justify-content:space-between;align-items:center;padding:27px 2px 14px;font-size:11px;color:#87937c}.discovery-bar>span{display:flex;align-items:center;gap:8px}.discovery-bar .icon{width:16px;height:16px}.discovery-bar a{display:flex;align-items:center;gap:12px;color:#5f8064;font-weight:600}.game-footer{max-width:1360px;margin:20px auto 0;border-top:1px solid #e8e1cb;padding:18px 0 25px;display:flex;justify-content:space-between;gap:12px;color:#929c88;font-size:10px;line-height:1.7}.game-footer>div{display:flex;gap:18px}.game-footer a{color:#71836d}.initial-loading{padding:100px;text-align:center;color:#7c8a72}.page-heading{padding:14px 0 30px}.page-heading h1{font-size:36px;letter-spacing:2px;margin:0 0 12px}.title-dot{color:#dba34c}.page-heading>p:last-child{font-size:13px;color:#809079;margin:0;line-height:1.8}.dock-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:42px}.dock-preview{min-width:0}.dock-sky{position:relative;overflow:hidden;background:linear-gradient(#d9eeec 72%,#a8d8d8 72%);border-radius:24px;padding:52px 40px 30px;border:5px solid #fffdf1;box-shadow:0 4px #dce2c4}.dock-sky>.boat-art{width:85%;margin:0 auto}.dock-label{position:absolute;left:20px;top:18px;color:#709082;font-size:11px;letter-spacing:1px}.dock-buddy{display:flex;gap:15px;align-items:center;padding:15px 20px}.dock-buddy .buddy-avatar{width:80px;height:95px}.dock-buddy strong{font-size:14px;display:block}.dock-buddy small{font-size:11px;color:#85917a;display:block;margin-top:8px;line-height:1.7}.badge-row{display:flex;gap:12px;justify-content:space-around;padding:20px 3px;border-top:1px solid #e8e1cb}.earned-badge{text-align:center;filter:grayscale(1);opacity:.5}.earned-badge>.icon{height:47px;width:47px;padding:10px;border:1px solid #d9cfb2;background:#f1e9c9;border-radius:50%;color:#9a8e5f}.earned-badge small{display:block;font-size:10px;margin-top:8px}.earned-badge>span{font-size:9px;display:block;margin-top:4px;color:#8c957f}.earned-badge.earned{filter:none;opacity:1}.earned-badge.earned>.icon{background:#dce9c7;color:#4e7d59;border:2px solid #dfbd6c}.small-note{font-size:11px;line-height:1.8;color:#919780}.shop-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.shop-heading h2{font-size:19px;margin:0}.shop-heading>span{display:flex;gap:6px;align-items:center;color:#99814e;font-size:13px}.shop-heading .icon{width:18px}.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.shop-item{padding:17px;background:#fffcf1;border:1px solid #e3dcc3;border-radius:16px;text-align:center;min-width:0}.shop-item.equipped{border-color:#81aa87;background:#f4f7e7}.item-art{height:78px;display:flex;justify-content:center;align-items:center;overflow:hidden;color:var(--item-color)}.item-art>.boat-art{max-height:100px;max-width:160px}.item-art>.icon{width:50px;height:50px;fill:color-mix(in srgb,var(--item-color) 20%,transparent)}.shop-item h3{font-size:14px;margin:8px 0}.shop-item p{font-size:10px;color:#8c947d;margin:0 0 15px}.shop-button{min-height:40px;border-radius:10px;padding:8px 16px;background:#f1ecd7;display:inline-flex;gap:7px;align-items:center;font-size:12px;justify-content:center;width:100%}.shop-button .icon{width:16px;height:16px}.shop-button:disabled{background:#e3ecd5;color:#6f936b}.dock-remove{display:flex;gap:15px;margin-top:14px}.buddy-scarf{position:absolute;top:48%;left:47%;width:29%;height:6%;background:#d87560;border-radius:8px;transform:rotate(-12deg);box-shadow:4px 4px 0 #b35e4b;opacity:.95}.buddy-scarf:after{content:"";position:absolute;left:60%;top:50%;height:250%;width:20%;border-radius:2px;background:#d87560}.buddy-medal{position:absolute;top:60%;left:54%;color:#c99d36;transform:rotate(10deg)}.buddy-medal .icon{width:25px;height:25px;fill:#f5d36f;stroke-width:1.5}.book-tools{display:flex;gap:22px;flex-wrap:wrap;align-items:center;margin:0 0 25px}.book-search{display:flex;gap:10px;align-items:center;min-width:270px;background:#fffcf3;border:1px solid #e3dcc6;border-radius:13px;padding:12px 16px}.book-search .icon{width:20px;color:#83927b}.book-search input{border:0;outline:none;background:none;width:100%;font-size:13px;min-width:0;color:var(--ink)}.book-filters{display:flex;gap:6px;flex-wrap:wrap}.book-filters button{background:transparent;border-radius:10px;font-size:11px;padding:12px 11px;min-height:42px;color:#7d8974}.book-filters button[aria-pressed=true]{background:#e4ead0;color:#4e7555}.book-layout{display:grid;grid-template-columns:1fr 290px;gap:40px}.knowledge-card{border-bottom:1px solid #e5dfc8}.knowledge-card summary{display:flex;align-items:center;gap:18px;padding:20px 2px;list-style:none;cursor:pointer}.knowledge-card summary::-webkit-details-marker{display:none}.question-index{color:#c0ad77;font-size:12px}.knowledge-card summary>span:nth-child(2){font-size:15px;font-weight:600;line-height:1.7}.knowledge-card small{font-size:9px;letter-spacing:1px;display:block;margin-top:5px;color:#96a085;font-weight:400}.question-plus{margin-left:auto;font-size:23px;color:#9ba68b;font-weight:300}.knowledge-card[open] .question-plus{transform:rotate(45deg)}.knowledge-answer{margin:0 15px 20px 38px;font-size:13px;line-height:1.95;color:#71836c;max-width:650px}.knowledge-answer a{display:inline-flex;align-items:center;gap:6px;color:#4c805e;font-size:11px}.knowledge-answer .icon{width:16px}.book-aside{background:#f0edd5;border-radius:20px;padding:28px;align-self:start}.book-art{display:block;margin-bottom:22px;color:#8c9a70}.book-art .icon{height:45px;width:45px}.book-aside h2{font-size:24px;letter-spacing:1px;line-height:1.6;margin:0 0 18px}.book-aside p{font-size:12px;line-height:1.9;color:#809077}.book-aside .secondary-button{margin:15px 0;font-size:11px;width:100%;padding:12px}.legacy-link{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:12px 0;border-bottom:1px solid #dedfc6}.legacy-link .icon{width:13px}.book-aside h3{font-size:13px}.empty-message{text-align:center;padding:70px 20px;line-height:2;color:#819278}.empty-message h1{font-size:25px}.play-topline{display:flex;align-items:center;gap:20px;padding:8px 0 24px}.back-button{background:none;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;padding:8px 0;min-height:44px}.back-button .icon{width:19px}.play-topline>span{font-size:10px;letter-spacing:1px;color:#91a087;margin:auto}.quiet-button{background:transparent;display:inline-flex;justify-content:center;align-items:center;gap:7px;color:#8a967f;font-size:11px;min-height:40px;padding:8px}.quiet-button .icon{width:16px;height:16px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:27px;align-items:start}.game-stage{border-radius:24px;border:5px solid #fffdf0;background:#d8eff0;box-shadow:0 5px 0 #d8dfbf;overflow:hidden;position:relative;min-width:0}.scene-heading{display:flex;align-items:center;justify-content:space-between;padding:17px 20px 8px;position:relative;z-index:1}.task-kicker{font-size:12px;letter-spacing:1px;color:#729180}.scene-heading .icon-button{width:36px;height:36px;border-radius:12px;background:#fff9e7}.scene-inner{min-height:350px;overflow:hidden}.scene-inner>svg{display:block;width:100%;height:auto}.scene-caption{font-size:9px;text-align:center;color:#7b9b8e;letter-spacing:.5px;margin:12px 0 15px}.task-panel{padding:17px 3px 0;min-width:0}.task-panel h2{font-size:23px;line-height:1.5;margin:0 0 12px;letter-spacing:1px}.task-objective{font-size:12px;color:#819076;line-height:1.9;margin:0 0 22px}.task-progress{display:flex;gap:8px;margin-bottom:18px}.task-progress>span{width:26px;height:26px;font-size:10px;border:1px solid #ddd8bd;border-radius:50%;display:grid;place-items:center;background:#f5eed4;color:#b1aa86}.task-progress .complete{background:#dce9ce;color:#5d885f;border-color:#b9cca6}.task-progress .icon{width:15px;height:15px}.task-feedback{background:#f1edd5;padding:15px 17px;min-height:86px;border-radius:12px;font-size:12px;line-height:1.9;color:#65795f;margin:0 0 18px;transition:background-color 160ms ease}.task-feedback.is-error{background:#f5e3ce;color:#9b6b42}.task-controls{display:flex;flex-direction:column;gap:9px}.action-button{border-radius:12px;background:#fffdf2;border:1px solid #e1dac1;padding:13px 15px;min-height:48px;box-shadow:0 3px 0 #e7e1ca;display:flex;align-items:center;gap:12px;text-align:left;font-size:12px;line-height:1.6}.action-button .icon{width:19px;height:19px;color:#8c9c7d}.action-button.primary-action{background:#e2ecd4;border-color:#b7cba6;box-shadow:0 3px 0 #b9cba6;color:#497654}.action-button:disabled{opacity:.5}.action-button.selected{background:#e1edd5;border-color:#8eb389}.task-extras{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-top:12px}.task-extras .quiet-button{font-size:10px;padding:8px 0}.buddy-note{display:flex;gap:9px;align-items:center;border-top:1px solid #e7e0c8;margin-top:12px;padding-top:12px}.buddy-note img{object-fit:contain;height:68px;width:65px}.buddy-note p{font-size:11px;line-height:1.9;color:#939d84}.diagram-label{fill:#53776b;text-anchor:middle;font-size:21px;font-weight:600;letter-spacing:2px}.diagram-small{fill:#819a85;text-anchor:middle;font-size:16px}.water-number{fill:#365e62;text-anchor:middle;font-size:26px;font-weight:700}.scene-legend{display:flex;justify-content:center;gap:18px;font-size:10px;color:#779387;margin-top:15px}.scene-legend>span{display:flex;align-items:center;gap:5px}.legend-water{height:8px;width:13px;background:#68bac7;display:inline-block;border-radius:2px}.water-counters{display:flex;justify-content:center;gap:22px;color:#6f9182;padding:8px 10px;font-size:11px}.water-counters b{font-size:17px;margin-left:6px;color:#4d807b}.nature-fact{text-align:center;font-size:11px;color:#6d8e7d;padding:14px}.pause-cover{position:absolute;inset:0;z-index:5;background:#e4f0e4ef;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.pause-cover>span>.icon{width:70px;height:70px;color:#80aaa0;margin-bottom:10px}.pause-cover h2{font-size:23px}.pause-cover p{font-size:13px;color:#879b83;line-height:1.8}.pause-cover .primary-button{margin-top:15px}.cargo-scene{height:450px;position:relative;background:linear-gradient(#d8eff0 0 58%,#b4d8c4 58% 65%,#85c7ca 65%);overflow:hidden;padding-top:20px}.cargo-port-title{text-align:center;color:#80a18c;font-size:15px;letter-spacing:3px;margin-top:5px}.cargo-boat{position:absolute;width:51%;left:7%;top:17%;z-index:1}.cargo-sun{position:absolute;top:55px;right:10%;height:55px;width:55px;background:#fff0b1;border-radius:50%}.cargo-quay{display:flex;position:absolute;bottom:12%;left:5%;right:5%;gap:20px;justify-content:space-around;border-top:13px solid #ebd9aa;padding-top:20px;color:#64877a;font-size:12px}.cargo-note{position:absolute;bottom:0;font-size:10px;color:#739c90;text-align:center;width:100%;padding:0 15px}.cargo-load{position:absolute;right:8%;top:32%;text-align:center;width:26%}.cargo-load>strong{font-size:36px;color:#547c6b;display:block}.cargo-load>span{font-size:10px;color:#859d82;display:block;margin-top:6px}.load-bar{margin-top:15px;background:#d0ddbe;height:8px;border-radius:5px;overflow:hidden}.load-bar>i{display:block;height:100%;background:#639b7c;transform-origin:left}.transport-relay{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}.transport-relay>span{color:#91ae9c;background:#eaf0d5;border-radius:14px;padding:12px;opacity:.6}.transport-relay .icon{height:30px;width:30px}.transport-relay small{display:block;font-size:9px;margin-top:6px}.transport-relay>span.arrived{background:#fff2c2;color:#b8994f;opacity:1}.crate-button .icon:last-child:not(:first-child){margin-left:auto;color:#6a9768}.task-controls .primary-button{margin-top:10px}dialog{color:var(--ink);border:1px solid #e2d5ae;border-radius:25px;background:#fffae9;padding:0;width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 48px);box-shadow:0 20px 100px #1c3d2e29;overscroll-behavior:contain}dialog::backdrop{background:#314f3d66;backdrop-filter:blur(6px)}.dialog-inner{padding:36px;position:relative}.dialog-close{position:absolute;top:15px;right:15px;z-index:2;width:35px;height:35px}.world-dialog-head{text-align:center;padding:0 15px 20px}.world-emblem{width:66px;height:66px;border-radius:20px;display:inline-grid;place-items:center;background:color-mix(in srgb,var(--world-color,#819f6b) 15%,#fff8e7);color:var(--world-color,#819f6b);margin-bottom:15px}.world-emblem .icon{width:36px;height:36px}.world-dialog-head h2{font-size:28px;margin:0 0 12px;letter-spacing:2px}.world-dialog-head p:last-child{font-size:12px;color:#849078;line-height:1.9;margin:0}.mission-list{display:grid;gap:12px;margin-top:5px}.mission-card{display:flex;gap:15px;align-items:center;border:1px solid #e5dec4;padding:18px;border-radius:15px;background:#fffdf3;box-shadow:0 3px 0 #e8e2cb}.mission-number{height:36px;width:36px;border-radius:50%;background:#f0e8c7;color:#b59e64;display:grid;place-items:center;flex-shrink:0;font-size:12px}.mission-number .icon{width:18px}.mission-card strong{font-size:15px;display:block;margin-bottom:6px}.mission-card small{font-size:10px;display:block;color:#8b977e;line-height:1.7}.mission-play{margin-left:auto;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;color:#59866a;background:#e6eed7}.mission-play .icon{width:17px}.star-row{display:inline-flex;gap:4px;color:#d6ad4d;vertical-align:middle}.star-row .icon{height:17px;width:17px;stroke-width:1.5}.star-row .lit{fill:#e8bd62;stroke:#c9a04b}.star-row .unlit{fill:none;stroke:#d8d2b3}.mission-card .star-row{margin-top:9px}.dialog-note{text-align:center;font-size:10px;color:#9a9e85;line-height:1.9;margin:22px 0 0}.result-dialog{text-align:center}.result-medal{display:grid;place-items:center;width:90px;height:90px;margin:0 auto 20px;background:#e4edd2;border:5px solid #f1df9e;box-shadow:0 0 0 5px #fcf0cd;border-radius:50%;color:#6b9973}.result-medal .icon{height:47px;width:47px}.result-dialog h2{font-size:24px;margin:0 0 18px;line-height:1.5}.result-dialog>.star-row{gap:12px;margin-bottom:8px}.result-dialog>.star-row .icon{height:40px;width:40px}.result-encourage{font-size:12px;color:#8b987c;line-height:1.9}.discovery-note{text-align:left;border-radius:15px;background:#eeeccf;padding:20px;margin:24px 0}.discovery-note strong{font-size:12px;color:#69815e;letter-spacing:1px}.discovery-note p{font-size:13px;line-height:1.95;color:#7c8a6c;margin:10px 0 0}.result-rewards{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:12px;color:#9e8d57}.result-rewards>span{display:flex;align-items:center;gap:6px}.result-rewards .icon{height:19px;width:19px}.result-actions{display:flex;gap:12px;margin-top:24px}.result-actions>*{flex:1;font-size:12px}.result-replay{margin-top:15px}.setting-row{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid #e5dec6;align-items:center}.setting-row strong{font-size:14px;display:block}.setting-row small{font-size:11px;color:#929b82;display:block;margin-top:8px;line-height:1.8}.setting-row input{height:24px;width:24px;accent-color:var(--green);flex-shrink:0}.save-section{padding:12px 0 15px}.save-section h3{font-size:16px;margin:20px 0 12px}.save-section p,.danger-zone p{font-size:12px;color:#8a977e;line-height:1.9}.save-actions{display:flex;gap:12px;margin-top:20px}.save-actions>*{flex:1;font-size:12px;padding:12px;cursor:pointer}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.file-button:focus-within{outline:3px solid #dc9844;outline-offset:3px}.form-message{font-size:12px;color:#b17f4a;line-height:1.8;min-height:18px}.danger-zone{border-top:1px solid #e5dec6;padding-top:18px;color:#b08b6b;font-size:11px}.danger-zone summary{cursor:pointer;min-height:35px;padding-top:10px}.danger-button{padding:12px 16px;border:1px solid #d3a68c;border-radius:10px;background:#f4e4d8;color:#9b6f53;min-height:44px}.confirm-purchase{text-align:center;padding-top:15px}.confirm-purchase h2{font-size:23px;line-height:1.6}.confirm-purchase p{font-size:13px;color:#859477;line-height:1.8}.confirm-purchase .primary-button{margin-top:16px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#2c5548ed;color:#fff9e7;border:1px solid #658271;border-radius:14px;padding:14px 22px;max-width:calc(100% - 36px);width:max-content;opacity:0;pointer-events:none;z-index:30;font-size:12px;line-height:1.8;transition:opacity 180ms var(--ease-out),transform 180ms var(--ease-out);box-shadow:0 8px 25px #344e3922}.toast.visible{opacity:1;transform:translate(-50%,0)}.noscript-message{position:fixed;bottom:0;background:#f5e1aa;padding:20px;width:100%;text-align:center}.noscript-message a{text-decoration:underline}
@media(hover:hover) and (pointer:fine){.game-header nav a:hover{background:#f1edd8}.icon-button:hover{background:#f0ebd5}.world-tab:hover{transform:translateY(-3px);background:#fff9e4}.map-pin:hover{transform:translate(-50%,-54%);filter:drop-shadow(0 7px 3px #234a3338)}.primary-button:hover{background:#358768;transform:translateY(-2px)}.secondary-button:hover,.action-button:hover{background:#eff0d9}.mission-card:hover{background:#f2f4df;transform:translateY(-2px)}.shop-button:not(:disabled):hover{background:#e6ead1}}
@media(min-width:1500px){.world-map{height:620px}.game-header{height:112px}.home-intro{padding-bottom:27px}#main{padding-top:20px}}
@media(max-width:1200px){.game-header{padding:0 28px;gap:15px}.brand strong{font-size:21px}.brand small{font-size:8px}.game-header nav{gap:4px}.game-header nav a{padding:13px;font-size:13px}.wallet-label{display:none}#main{padding-left:28px;padding-right:28px}.game-footer{margin-left:28px;margin-right:28px}.world-tab{padding-left:11px;gap:8px}.world-tab-icon{width:34px;height:38px}.world-tab strong{font-size:12px}.world-tab-description{font-size:8px}.play-layout{grid-template-columns:minmax(0,1fr) 265px;gap:22px}.scene-inner{min-height:300px}.buddy-avatar{width:135px;height:153px}.buddy-bubble{padding:13px 17px;max-width:230px}.buddy-bubble strong{font-size:11px}.buddy-bubble span{font-size:10px}.dock-layout{gap:28px}.book-layout{gap:28px}}
@media(max-width:950px){.game-header{height:90px}.brand small{display:none}.brand strong{font-size:19px}.brand>span:first-child{width:43px;height:43px}.brand .icon{width:30px}.game-header nav a{font-size:12px;padding:11px}.game-header nav a .icon{width:20px}.header-tools{gap:6px}.wallet{font-size:14px;padding:9px 10px}.wallet .icon{width:18px}.icon-button{width:36px;height:36px}.home-intro h1{font-size:30px}.world-map{height:470px}.pin-name{font-size:14px;padding:9px 14px 9px 17px}.pin-marker{height:41px;width:37px}.map-companion{bottom:12px;left:7px}.buddy-avatar{width:109px;height:126px}.buddy-bubble{max-width:205px;padding:12px}.map-start{font-size:15px;min-width:175px;padding:15px 20px;right:20px;bottom:32px}.world-strip{gap:8px}.world-tab{display:block;padding:12px;min-height:102px}.world-tab-icon{position:absolute;right:10px;top:11px;height:28px;width:28px;border-radius:9px}.world-tab-icon .icon{width:18px;height:18px}.world-tab strong{margin-top:10px}.world-tab-description{font-size:9px;margin-top:5px}.world-tab small{font-size:8px}.play-layout{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.task-panel h2{font-size:21px}.task-objective{font-size:11px}.task-feedback{padding:13px;font-size:11px}.action-button{font-size:11px;padding:11px;gap:8px}.scene-inner{min-height:250px}.scene-heading{padding:13px 15px 5px}.scene-heading .task-kicker{font-size:10px}.cargo-scene{height:350px}.cargo-load>strong{font-size:28px}.cargo-quay{font-size:9px;gap:10px}.book-layout{grid-template-columns:1fr 240px;gap:25px}.book-aside{padding:23px}.dock-layout{grid-template-columns:.9fr 1fr}.badge-row{gap:6px}.earned-badge small{font-size:8px}.shop-grid{gap:10px}.shop-item{padding:13px}.shop-item p{font-size:9px}.game-footer{font-size:9px}.game-footer>div{gap:12px}}
@media(max-width:720px){.game-header{height:125px;padding:14px 20px 10px;flex-wrap:wrap;gap:10px;align-content:center;justify-content:space-between}.brand strong{font-size:20px}.brand small{display:block;font-size:7px;margin-top:4px;letter-spacing:1px}.brand{gap:8px}.brand>span:first-child{width:38px;height:38px;border-radius:11px}.brand .icon{width:27px}.game-header nav{order:3;flex-basis:100%;justify-content:center;gap:9px;margin:6px 0 0}.game-header nav a{padding:10px 19px;font-size:12px;border-radius:12px;gap:7px;min-height:42px}.game-header nav a .icon{width:19px;height:19px}.header-tools{gap:7px}.header-tools .wallet{font-size:12px;padding:8px 10px;gap:4px}.header-tools .wallet .icon{width:16px}.header-tools .icon-button{height:33px;width:33px}.header-tools .icon-button .icon{width:17px;height:17px}#main{padding:15px 18px 0}.home-intro{align-items:flex-start;gap:10px;padding:6px 1px 20px}.home-intro .eyebrow{font-size:8px;letter-spacing:1px}.home-intro h1{font-size:25px;letter-spacing:1px;line-height:1.6}.explorer-level{padding:7px 9px;gap:7px;border-radius:12px}.level-icon{display:none}.explorer-level small{font-size:7px;letter-spacing:0}.explorer-level strong{font-size:15px;margin-top:4px}.explorer-level strong span{font-size:8px}.total-stars{margin-left:3px;padding-left:7px;font-size:13px}.total-stars .icon{width:13px;height:13px}.total-stars small{display:none}.world-map{height:510px;border-width:4px;border-radius:20px;background:#a9cfb6}.map-art{object-fit:cover;object-position:50% 50%;opacity:.96}.map-label{font-size:8px;letter-spacing:1px;top:14px;left:12px;padding:8px 10px}.map-pin{left:var(--pin-x);top:var(--pin-y);padding:8px 0}.pin-name{font-size:12px;letter-spacing:0;padding:9px 10px 9px 13px;border-radius:0 15px 15px 0}.pin-name small{font-size:7px;margin-top:4px}.pin-marker{height:36px;width:32px;border-width:2px}.pin-marker:after{width:10px;height:10px}.pin-harbor{--pin-x:24%!important;--pin-y:26%!important}.pin-lock{--pin-x:48%!important;--pin-y:43%!important}.pin-water{--pin-x:73%!important;--pin-y:25%!important}.pin-nature{--pin-x:25%!important;--pin-y:62%!important}.pin-sea{--pin-x:73%!important;--pin-y:64%!important}.map-companion{bottom:50px;left:1px;align-items:flex-end}.map-companion .buddy-avatar{width:94px;height:117px}.buddy-bubble{padding:10px 12px;max-width:185px;margin-bottom:5px;border-radius:15px 15px 15px 0}.buddy-bubble strong{font-size:10px;line-height:1.7;margin-bottom:3px}.buddy-bubble span{font-size:9px;line-height:1.7}.map-start{bottom:21px;right:15px;font-size:12px;min-width:160px;min-height:44px;padding:10px 15px;border-radius:12px;border-width:2px;gap:10px}.map-start .icon{height:20px;width:20px}.map-disclaimer{font-size:7px;bottom:5px;right:10px}.map-boat{left:38%;top:49%;width:85px}.world-strip{grid-template-columns:repeat(5,146px);overflow-x:auto;padding:3px 2px 8px;gap:10px;margin:15px -2px 0;scrollbar-width:thin;scrollbar-color:#d7d8b7 transparent;scroll-snap-type:x proximity}.world-tab{scroll-snap-align:start;min-height:98px;padding:13px}.world-tab strong{font-size:12px}.world-tab-description{font-size:9px}.discovery-bar{padding:18px 0 15px;gap:10px;font-size:9px;flex-wrap:wrap;line-height:1.8}.discovery-bar .icon{width:14px;height:14px}.discovery-bar a{font-size:10px}.game-footer{margin:15px 20px 0;display:block;font-size:9px;padding:16px 0 25px}.game-footer>div{margin-top:8px;gap:15px;flex-wrap:wrap}.game-footer>div>span{flex-basis:100%;font-size:8px}.page-heading{padding:10px 0 25px}.page-heading h1{font-size:29px;margin-bottom:10px}.page-heading .eyebrow{font-size:9px;letter-spacing:1px}.page-heading>p:last-child{font-size:11px}.dock-layout{display:block}.dock-preview{margin-bottom:30px}.dock-sky{padding:35px 40px 20px}.dock-sky>.boat-art{max-width:310px}.dock-buddy{padding:15px 5px;gap:12px}.dock-buddy .buddy-avatar{height:85px;width:74px}.dock-buddy strong{font-size:12px}.dock-buddy small{font-size:9px}.badge-row{padding:15px 0}.earned-badge>.icon{width:42px;height:42px}.earned-badge small{font-size:8px}.earned-badge>span{font-size:8px}.dock-shop .shop-heading h2{font-size:18px}.shop-grid{gap:12px}.shop-item{padding:15px 10px}.shop-item h3{font-size:13px}.shop-item p{font-size:9px}.shop-button{min-height:44px;font-size:11px}.dock-remove{justify-content:center}.book-tools{gap:17px;display:block}.book-search{min-width:0;width:100%;padding:12px}.book-search input{font-size:12px}.book-filters{gap:5px;margin-top:13px}.book-filters button{font-size:10px;padding:10px;min-height:40px}.book-layout{display:block}.book-aside{margin-top:30px;padding:25px}.book-aside h2 br{display:none}.book-aside h2{font-size:20px}.book-art{display:none}.knowledge-card summary{gap:12px;padding:18px 0}.knowledge-card summary>span:nth-child(2){font-size:13px}.knowledge-card small{font-size:8px}.knowledge-answer{font-size:12px;margin-left:25px}.play-topline{gap:10px;padding:0 0 15px;flex-wrap:wrap}.play-topline>span{display:none}.play-topline>.quiet-button{margin-left:auto;font-size:10px}.back-button{font-size:12px}.play-layout{display:flex;flex-direction:column;gap:23px}.game-stage{width:100%;border-width:4px;border-radius:18px}.scene-heading{padding:12px 13px 0}.scene-heading .task-kicker{font-size:9px}.scene-heading .icon-button{height:32px;width:32px;border-radius:10px}.scene-inner{min-height:0}.scene-inner>svg{margin-top:5px}.scene-caption{font-size:7px;margin:8px 0 12px}.scene-legend{font-size:7px;gap:12px;margin-top:8px;line-height:1.7;padding:0 6px}.task-panel{width:100%;padding:0 1px}.task-panel .eyebrow{font-size:9px}.task-panel h2{font-size:23px;line-height:1.5;margin-bottom:8px}.task-objective{font-size:11px;margin-bottom:15px}.task-progress{position:absolute;right:22px;margin-top:-51px;gap:5px}.task-progress>span{height:22px;width:22px;font-size:9px}.task-feedback{font-size:12px;min-height:65px;margin-bottom:15px;padding:14px 16px;line-height:1.9}.task-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-button{font-size:11px;min-height:48px;padding:11px 12px;line-height:1.6;gap:8px}.task-controls .primary-button{min-height:48px;font-size:11px;padding:10px;grid-column:1/-1}.task-extras{margin-top:12px}.task-extras .quiet-button{font-size:10px}.buddy-note{margin-top:10px;justify-content:center}.buddy-note img{height:58px;width:56px}.buddy-note p{font-size:10px}.nature-fact{font-size:8px;padding:9px}.water-counters{font-size:8px;gap:13px}.water-counters b{font-size:13px;margin-left:4px}.cargo-scene{height:280px;padding-top:12px}.cargo-port-title{font-size:10px;letter-spacing:1px}.cargo-sun{height:35px;width:35px;top:40px}.cargo-boat{top:22%;width:55%;left:3%}.cargo-load{top:30%;right:6%;width:31%}.cargo-load>strong{font-size:24px}.cargo-load>span{font-size:8px}.transport-relay{gap:5px}.transport-relay>span{padding:8px;border-radius:9px}.transport-relay .icon{width:22px;height:22px}.transport-relay small{font-size:7px}.cargo-quay{font-size:8px;gap:5px;left:3%;right:3%;padding-top:14px;border-top-width:9px;bottom:12%}.cargo-note{font-size:7px}.load-bar{height:6px;margin-top:10px}.pause-cover{padding:20px}.pause-cover>span>.icon{width:45px;height:45px;margin-bottom:0}.pause-cover h2{font-size:19px;margin:12px 0 0}.pause-cover p{font-size:11px}.pause-cover .primary-button{font-size:12px;margin-top:8px;min-height:42px;padding:10px 18px}.dialog-inner{padding:30px 22px}.world-dialog-head{padding:0 6px 15px}.world-dialog-head h2{font-size:25px}.world-dialog-head p:last-child{font-size:11px}.world-emblem{height:55px;width:55px;border-radius:16px}.world-emblem .icon{height:30px;width:30px}.mission-card{gap:11px;padding:15px 12px}.mission-card strong{font-size:13px}.mission-card small{font-size:9px}.mission-number{height:29px;width:29px;font-size:10px}.mission-play{height:27px;width:27px;flex-shrink:0}.star-row .icon{height:15px;width:15px}.dialog-note{font-size:9px}.result-dialog h2{font-size:21px}.result-dialog>.star-row .icon{height:33px;width:33px}.result-encourage{font-size:11px}.result-medal{height:77px;width:77px}.result-medal .icon{height:40px;width:40px}.discovery-note{padding:17px;margin:18px 0}.discovery-note p{font-size:12px}.result-rewards{font-size:10px;gap:12px}.result-rewards .icon{height:16px;width:16px}.result-actions{gap:10px}.result-actions .primary-button,.result-actions .secondary-button{padding:12px;font-size:11px}.small-note{font-size:10px}.setting-row{gap:15px;padding:18px 0}.setting-row strong{font-size:13px}.setting-row small{font-size:10px}.save-section p,.danger-zone p{font-size:11px}.save-actions>*{font-size:10px;gap:7px}.save-actions .icon{width:17px}.confirm-purchase h2{font-size:20px}.confirm-purchase p{font-size:12px}.toast{font-size:11px;padding:12px 17px;bottom:20px}.initial-loading{padding:75px 20px}}
@media(max-width:380px){.game-header{padding-left:15px;padding-right:15px}.brand strong{font-size:18px}.brand small{font-size:6px}.header-tools{gap:4px}.header-tools .icon-button{height:30px;width:30px}.game-header nav a{padding:9px 14px}.world-map{height:490px}.home-intro h1{font-size:23px}.home-intro .eyebrow{font-size:7px}.explorer-level{gap:3px;padding:7px}.explorer-level strong span{font-size:7px}.total-stars{font-size:12px;padding-left:5px}.pin-name{font-size:11px;padding-left:11px;padding-right:8px}.pin-marker{height:32px;width:28px}.pin-water{--pin-x:74%!important}.pin-sea{--pin-x:74%!important}.buddy-bubble{max-width:170px;padding:9px}.buddy-bubble strong{font-size:9px}.buddy-bubble span{font-size:8px}.map-companion .buddy-avatar{width:85px;height:105px}.task-progress{right:20px;gap:4px}.task-progress>span{height:20px;width:20px}.task-panel h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}
html[data-reduce-motion=true] *,html[data-reduce-motion=true] *:before,html[data-reduce-motion=true] *:after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}
/* Final layout tuning after real desktop and mobile captures. */
.pin-marker .pin-number{display:block;transform:rotate(45deg);font-size:14px;font-weight:750;line-height:1;color:#fff8e4}.pin-marker:has(.pin-number)::after{display:none}.home-intro h1{flex-shrink:0}.map-boat .boat-art{animation:boat-rest 5s ease-in-out infinite}@keyframes boat-rest{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-3px) rotate(1deg)}}
@media(max-width:720px){.home-intro{align-items:center}.home-intro>div:first-child{min-width:0}.home-intro h1{white-space:nowrap;font-size:25px;letter-spacing:.5px;line-height:1.5}.home-intro h1 span{display:block}.explorer-level{flex-shrink:0;gap:6px;padding:10px;align-self:center}.explorer-level small,.explorer-level strong,.explorer-level strong span{white-space:nowrap}.total-stars{display:none}.map-companion{bottom:74px}.header-tools .icon-button{position:relative}.header-tools .icon-button:before{content:"";position:absolute;inset:-5px}.game-header nav a{min-height:44px}.book-filters button{min-height:44px}.scene-heading .icon-button{position:relative}.scene-heading .icon-button:before{content:"";position:absolute;inset:-6px}}
@media(max-width:380px){.home-intro h1{font-size:23px}.explorer-level{padding:8px}.home-intro .eyebrow{font-size:7px}}
@media(prefers-reduced-motion:reduce){.map-boat .boat-art{animation:none}}html[data-reduce-motion=true] .map-boat .boat-art{animation:none}
@media(max-width:720px){.diagram-label{font-size:28px;letter-spacing:1px}.diagram-small{font-size:23px}.water-number{font-size:34px}}
@media(min-width:721px) and (max-width:900px){.game-header{height:132px;flex-wrap:wrap;align-content:center;gap:10px;padding-top:12px;padding-bottom:10px}.brand{flex:1}.game-header nav{order:3;flex-basis:100%;justify-content:center;margin:0;gap:20px}.game-header nav a{padding:11px 20px}.header-tools{flex-shrink:0}.brand strong{font-size:21px}}
