:root{font-family:"Trebuchet MS",Arial,sans-serif;color:#244b3d;background:#ede1b5;--teal:#008b8b;--dark:#244b3d;--gold:#ffc952;--cream:#fff8df}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{height:100dvh;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}svg{display:block;width:24px;height:24px;flex:none}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #006d9b;outline-offset:4px}.topbar{height:75px;flex:none;background:linear-gradient(#fffbea,#f9edc8);border-bottom:3px solid #d1b978;display:flex;align-items:center;justify-content:space-between;padding:8px 26px;gap:16px;position:relative;z-index:4;box-shadow:0 3px 16px #34492a25}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:#285442;font-size:23px;font-weight:900;letter-spacing:-.6px;line-height:1}.brand small{display:block;font-size:11px;letter-spacing:.7px;font-weight:700;margin-top:7px;color:#708064}.brand-icon{display:grid;place-items:center;background:linear-gradient(145deg,#6bb747,#2f7d4e);color:#fff9cf;border:2px solid #fff0b1;box-shadow:0 3px #b7a373,0 1px 7px #44724530;border-radius:17px;width:45px;height:45px}.brand-icon svg{width:29px;height:29px}.world-label{display:flex;gap:10px;align-items:center}.world-label>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#e3ebbc;border:2px solid #bdcd88;font-weight:900;color:#4d763b}.world-label small,.world-label strong{display:block}.world-label small{font-size:9px;letter-spacing:2px;color:#7e8c63;margin-bottom:3px}.world-label strong{font-size:18px}.top-actions{display:flex;gap:8px;align-items:center}.icon-button,#language{height:40px;min-width:40px;border:2px solid #ded3a3;border-bottom-width:4px;border-radius:13px;background:#fffcE9;color:#436447;display:grid;place-items:center}.icon-button:hover,#language:hover{background:#fff5be}.icon-button:active{transform:translateY(2px);border-bottom-width:2px}#language{padding:0 5px;font-weight:800;font-size:12px}.icon-button[aria-pressed=false]{opacity:.55}.game-shell{flex:1;min-height:0;display:flex;flex-direction:column}.stage{position:relative;flex:1;min-height:0;isolation:isolate;overflow:hidden;background:#82bd5b;user-select:none;-webkit-user-select:none;touch-action:none}#gameCanvas{display:block;width:100%;height:100%;touch-action:none;user-select:none}.hud{position:absolute;top:17px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;z-index:2;pointer-events:none}.hud-stat{height:58px;min-width:105px;display:flex;align-items:center;gap:9px;background:linear-gradient(#fffef0f5,#fff1ccef);border:2px solid #fff8dd;border-bottom:4px solid #d3ad60;box-shadow:0 4px 12px #18462730;border-radius:17px;padding:8px 13px}.hud-stat svg{width:29px;height:29px}.hud-stat small{font-size:9px;letter-spacing:1px;font-weight:900;display:block;color:#788160;margin-bottom:3px}.hud-stat strong{font-size:20px;line-height:1;white-space:nowrap}.hud-stat.hull{min-width:180px}.hull svg{color:#e66f54}.health-line{display:flex;align-items:center;gap:8px}.health-track{height:11px;width:83px;border-radius:10px;overflow:hidden;background:#e4cba1;box-shadow:inset 0 2px 2px #997d4a30}.health-track i{height:100%;display:block;width:100%;background:linear-gradient(#9dd76a,#5ba63f);border-radius:10px;transition:width .15s}.hull strong{font-size:16px}.distance svg{color:#9c8c62}.wood svg{color:#b6743c}.ore svg{color:#628ea6}.crew svg{color:#f3a63a}.forest-caption{position:absolute;bottom:18px;left:24px;display:flex;align-items:center;gap:7px;color:#fffce9;font-size:12px;font-weight:800;letter-spacing:.3px;text-shadow:0 1px 4px #23462c}.forest-caption i{width:6px;height:6px;border-radius:100%;background:#e9ec99;box-shadow:0 0 10px #e8ed7f}.control-dock{flex:none;min-height:109px;padding:13px 25px 16px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(#fff9e1,#f1e3b8);border-top:3px solid #c8ac66;box-shadow:0 -3px 18px #2e4e3f25;z-index:3}.trip-status{display:flex;align-items:center;gap:11px;min-width:0}.trip-status strong,.trip-status small{display:block}.trip-status strong{font-size:17px}.trip-status small{font-size:11px;color:#778265;margin-top:6px}.status-dot{height:12px;width:12px;flex:none;background:#73b94b;border:3px solid #d8ebad;border-radius:50%;box-shadow:0 0 0 2px #93b665}.drive-controls{display:flex;gap:13px;flex:none}.button{border:2px solid #fff3c0;border-bottom:6px solid #ad7b2e;border-radius:18px;min-height:58px;padding:11px 19px;color:#284d3e;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 3px 9px #68734b20,inset 0 2px #ffffff70;font-weight:900;transition:filter .1s,transform .1s;background:linear-gradient(#ffe68c,#ffc84d);user-select:none;-webkit-user-select:none}.button:hover{filter:brightness(1.05)}.button:active,.button.is-held{transform:translateY(3px);border-bottom-width:3px;margin-bottom:3px}.button span>strong,.button span>small{display:block;text-align:left}.button span>strong{font-size:16px}.button span>small{font-size:11px;font-weight:600;opacity:.8;margin-top:4px}.drive-button,.primary{background:linear-gradient(#21b9b4,#008e90);border-color:#b7eee1;border-bottom-color:#076268;color:#fffde6}.drive-button{min-width:295px;touch-action:none}.drive-button>svg{width:32px;height:32px}.workers-button{min-width:260px}.workers-button>svg{width:31px;height:31px}.keycap{font-size:12px;padding:4px 6px;border:1px solid currentColor;border-bottom-width:3px;border-radius:6px;margin-left:8px;opacity:.6}.loading-note{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);background:#fff6d9;padding:10px 18px;border-radius:30px;font-weight:bold;white-space:nowrap;z-index:7}.overlay{position:absolute;inset:0;z-index:5;background:#133f3b60;backdrop-filter:blur(3px);display:grid;place-items:center;padding:14px}.intro-card,.small-card{width:min(450px,100%);background:linear-gradient(145deg,#fffce8,#f7edcb);border:3px solid #fff5c7;border-bottom:8px solid #bd934a;border-radius:30px;padding:24px 30px 27px;text-align:center;box-shadow:0 20px 60px #183d3255;position:relative}.intro-emblem{display:grid;place-items:center;border-radius:24px;width:70px;height:70px;background:linear-gradient(#a9d875,#75b459);border:3px solid #e6f1ab;box-shadow:0 5px #4a7c3d;margin:0 auto 19px;color:#fff5c5;transform:rotate(-6deg)}.intro-emblem svg{width:44px;height:44px}.eyebrow{font-size:10px;color:#8d9565;letter-spacing:2px;font-weight:900;margin:10px 0}h1{font-size:35px;letter-spacing:-1.2px;margin:8px 0;color:#2b624d;line-height:1.1}h2{font-size:27px;letter-spacing:-.7px;color:#2b624d;margin:12px 0 18px}.intro-copy{font-size:14px;line-height:1.5;color:#798164;margin:12px 0 19px}.intro-steps{display:grid;gap:12px;margin:0 0 23px;text-align:left}.intro-steps>div{display:flex;gap:12px;align-items:center;font-size:13px;line-height:1.4;color:#53694e}.intro-steps svg{color:#77a950;background:#e8edc9;border-radius:10px;padding:5px;width:35px;height:35px}.intro-card .button,.small-card .button{width:100%}.small-card p:not(.eyebrow){line-height:1.6;color:#758061}.toast{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);padding:10px 18px;background:#fff4cfee;border:2px solid #e0bb62;border-radius:17px;box-shadow:0 4px 10px #23493330;font-size:14px;font-weight:bold;max-width:85%;text-align:center;z-index:4}dialog{border:3px solid #fff0b5;border-bottom:7px solid #b18b43;border-radius:25px;padding:24px 28px;max-width:460px;width:calc(100% - 28px);max-height:calc(100dvh - 28px);background:#fff9df;color:#345642;box-shadow:0 10px 80px #102f3355}dialog::backdrop{background:#173f3a88;backdrop-filter:blur(4px)}dialog .button{width:100%;margin-top:20px}.help-copy{line-height:1.55;font-size:14px;color:#687859}.close-button{position:absolute;right:10px;top:8px;background:none;border:none;font-size:29px;line-height:1;padding:8px;color:#7d8b68}.pulse{animation:bump .25s ease}@keyframes bump{50%{transform:scale(1.15);color:#d19b20}}@media(min-width:1700px){.topbar{padding-inline:35px}.control-dock{padding-inline:35px}.hud{top:22px}.hud-stat{padding-inline:19px;min-width:120px}.hud-stat.hull{min-width:190px}}@media(max-width:1000px){.control-dock{gap:12px;padding-inline:16px}.trip-status strong{font-size:14px}.trip-status small{max-width:160px;line-height:1.4}.drive-button{min-width:235px}.workers-button{min-width:215px}.button span>strong{font-size:14px}.button span>small{font-size:10px}.keycap{display:none}.topbar{padding-inline:16px}.world-label strong{font-size:15px}.hud-stat{min-width:89px;padding-inline:9px}.hud-stat.hull{min-width:160px}.hud-stat strong{font-size:18px}.hud{gap:6px}}@media(max-width:700px){.topbar{height:60px;padding:6px 11px;gap:6px}.brand{font-size:18px;gap:7px}.brand-icon{width:34px;height:34px;border-radius:12px}.brand-icon svg{width:24px;height:24px}.brand small{font-size:9px;letter-spacing:0;margin-top:5px}.world-label{display:none}.top-actions{gap:4px}.icon-button,#language{height:36px;min-width:34px;border-radius:10px}.icon-button svg{width:20px;height:20px}#language{font-size:11px;width:42px}.hud{width:calc(100% - 20px);top:10px;gap:4px;justify-content:center;flex-wrap:wrap}.hud-stat{height:45px;min-width:0;padding:5px 8px;gap:5px;border-radius:12px;border-bottom-width:3px}.hud-stat svg{width:22px;height:22px}.hud-stat small{font-size:7px;letter-spacing:.5px}.hud-stat strong{font-size:16px}.hud-stat.hull{min-width:0}.health-track{width:46px;height:8px}.hull strong{font-size:12px}.health-line{gap:4px}.control-dock{min-height:111px;display:block;padding:8px 11px 11px}.trip-status{justify-content:center;gap:7px;margin-bottom:7px}.trip-status strong{font-size:12px}.trip-status small{display:none}.status-dot{width:8px;height:8px;border-width:2px}.drive-controls{gap:8px;width:100%}.button.drive-button,.button.workers-button{min-width:0;flex:1;padding:10px 9px;gap:6px;min-height:60px;border-radius:15px}.button span>strong{font-size:12px}.button span>small{font-size:9px;line-height:1.25}.drive-button>svg,.workers-button>svg{width:24px;height:24px}.forest-caption{font-size:10px;left:15px;bottom:13px}.intro-card{padding:18px 22px 22px;border-radius:24px;width:min(380px,100%)}h1{font-size:29px}.intro-emblem{width:52px;height:52px;margin-bottom:14px;border-radius:18px}.intro-emblem svg{width:34px;height:34px}.intro-copy{font-size:12px;margin:10px 0 15px}.intro-steps{gap:9px;margin-bottom:17px}.intro-steps>div{font-size:12px}.intro-steps svg{width:30px;height:30px}.intro-card .button{min-height:49px}.loading-note{font-size:12px;bottom:14px}.toast{font-size:12px;bottom:33px}}@media(max-width:380px){.crew{display:none}.brand{font-size:16px}.top-actions{gap:3px}.icon-button,#language{min-width:30px;height:34px}.hud-stat{padding-inline:6px}.hud-stat strong{font-size:15px}.button span>strong{font-size:11px}.button span>small{font-size:8px}.button.drive-button,.button.workers-button{gap:4px}.drive-button>svg,.workers-button>svg{width:21px;height:21px}}@media(max-height:530px) and (min-width:600px){.topbar{height:48px;padding-block:4px}.brand{font-size:18px}.brand-icon{width:32px;height:32px}.brand small{display:none}.world-label small{font-size:8px}.world-label strong{font-size:13px}.icon-button,#language{height:32px;min-width:34px}.control-dock{min-height:76px;padding-block:7px}.button{min-height:51px}.hud{top:8px}.hud-stat{height:41px;padding-block:4px}.hud-stat small{font-size:7px}.hud-stat strong{font-size:16px}.forest-caption{bottom:8px}.intro-card{width:650px;padding:14px 24px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;text-align:left;border-radius:22px}.intro-emblem{display:none}.intro-card .eyebrow{grid-column:1;margin-top:6px}.intro-card :is(h1,h2){grid-column:1;font-size:29px;margin:0}.intro-card .intro-copy{grid-column:1;font-size:12px;margin-bottom:0}.intro-steps{grid-column:2;grid-row:1/4;margin-bottom:12px;gap:8px}.intro-steps>div{font-size:12px}.intro-card .button{grid-column:1/3;min-height:45px;margin-top:13px}.small-card{padding:15px 24px;width:390px}.small-card .intro-emblem{display:none}h2{font-size:23px;margin:8px 0 12px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(max-width:600px) and (max-height:720px){.intro-card{padding:14px 18px 17px;max-height:100%;overflow-y:auto;overscroll-behavior:contain}.intro-card .intro-emblem{display:none}.intro-card .eyebrow{margin:5px 0;font-size:9px}.intro-card :is(h1,h2){font-size:26px;margin:6px 0}.intro-copy{font-size:11px;margin:8px 0 12px}.intro-steps{gap:7px;margin-bottom:12px}.intro-steps>div{font-size:11px}.intro-steps svg{width:26px;height:26px;padding:4px}.intro-card .button{min-height:44px;padding:8px 12px}.intro-card .button span{font-size:14px}}
.hud-stat.crew.has-loss{border-bottom-color:#ca8064;background:linear-gradient(#fff6e5f5,#f8dbc4ef)}.hud-stat.crew.has-loss strong{color:#a64c39}

.music-setting{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:14px 18px;margin-bottom:16px;border:2px solid #d8b878;border-radius:16px;background:#fff4d3;color:#35544b;font-weight:800}.music-setting input{grid-column:1/-1;width:100%;accent-color:#269e88;cursor:pointer}.music-setting output{font-variant-numeric:tabular-nums}
