@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#19343d;--cream:#fff5df;--amber:#edbb73;--muted:#7a929b;--border:rgba(239,250,255,.18)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{background:#172b32;color:var(--cream);font-family:'DM Sans',sans-serif;display:flex;align-items:center;justify-content:center;gap:8vw;background-image:radial-gradient(ellipse at 65% 40%,#344d55 0%,#172b32 65%)}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline:3px solid #f5c479;outline-offset:4px}button:disabled{cursor:default;opacity:.45}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbols{position:absolute;width:0;height:0}.desktop-note{width:330px;position:relative}.edition,.eyebrow{font-family:'Manrope',sans-serif;font-size:9px;font-weight:800;letter-spacing:2.3px}.edition{color:#91a7ac}.desktop-note h1{font:normal 76px/.99 Georgia,serif;letter-spacing:-3px;margin:30px 0}.desktop-note em{font-weight:normal;color:#edbb73}.desktop-note p{font-size:15px;line-height:1.8;color:#9db2b7}.desktop-rule{height:1px;background:#486068;width:45px;margin:33px 0}.desktop-controls{font-size:10px;line-height:2.7;letter-spacing:2px;color:#d5dfde}.desktop-controls span{color:#78949d;letter-spacing:1px;margin-left:13px;font-size:9px}.desktop-note small{display:block;font-size:8px;letter-spacing:1.7px;color:#6c8992;margin-top:38px}#game{width:min(100vw,460px);height:min(96dvh,940px);position:relative;overflow:hidden;background:#c3d9df;border-radius:28px;border:6px solid #10272e;box-shadow:0 35px 120px #07151980;touch-action:none;user-select:none;-webkit-user-select:none}#world{width:100%;height:100%;display:block}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,46,56,.3),transparent 28%,transparent 64%,rgba(20,46,56,.26))}.hud{position:absolute;left:20px;right:20px;top:max(20px,env(safe-area-inset-top));z-index:3}.topline{display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;font-family:'Manrope',sans-serif;font-size:12px;letter-spacing:1.6px;font-weight:800;color:#213b44}.brand-mark{font-size:35px;line-height:1;color:#27464d}.brand div>span{display:block;font-size:7px;letter-spacing:1.8px;margin-top:5px;font-weight:800;opacity:.65}.icon-button{border:1px solid #fff7;background:#f1f6f06b;border-radius:50%;width:36px;height:36px;color:#29454c}.pause-glyph{font-size:19px;font-weight:700}.resources{display:flex;gap:8px;margin:20px 0 14px}.resource{background:#fcfff0d9;border:1px solid #fff9;border-radius:12px;display:grid;grid-template-columns:24px 1fr;column-gap:8px;width:33.33%;padding:10px 9px;color:#354a49;box-shadow:0 4px 12px #26434d09}.resource>svg{grid-row:1/3;align-self:center;color:#ad7847;width:22px;height:22px}.resource:nth-child(2)>svg{color:#b96451}.resource:nth-child(3)>svg{color:#b28a3b}.resource b{font-size:17px;line-height:1.05;font-family:'Manrope',sans-serif}.resource>span{font-size:6px;font-weight:800;letter-spacing:1px;margin-top:5px}.mission{display:flex;align-items:center;gap:10px;background:#1e3a43eb;border:1px solid #41606b;border-radius:12px;padding:12px 13px;box-shadow:0 5px 15px #1d3c3e16}.mission-dot{height:6px;width:6px;border-radius:50%;background:#e8b971;box-shadow:0 0 10px #e8b97160}.mission>div{flex:1}.mission strong{font-size:8px;letter-spacing:1.3px;display:block;color:#f2d3a0}.mission div>span{display:block;font-size:9px;color:#bdcdd0;margin-top:4px}.mission>span:last-child{font:700 9px 'Manrope',sans-serif;letter-spacing:1px;color:#b2c9cc}.intro{position:absolute;inset:0;z-index:4;display:flex;align-items:flex-end;background:linear-gradient(0deg,#122e38fa 0%,#193842df 23%,#19384200 54%);padding:0 30px 35px;pointer-events:none}.intro-content{width:100%;pointer-events:auto}.eyebrow{font-size:8px;color:#eac58c;display:flex;align-items:center;gap:9px;letter-spacing:2px}.eyebrow i{width:17px;height:1px;background:#eac58c}.intro h2{font:normal 64px/.92 Georgia,serif;letter-spacing:-2px;margin:17px 0 14px}.intro h2 em{color:#edbf7c}.intro p{font-size:12px;line-height:1.7;color:#c0d1d3;margin-bottom:24px}.primary{border:0;border-radius:10px;background:#efbd78;color:#24373b;min-height:54px;width:100%;font-size:13px;font-weight:800;display:flex;justify-content:space-between;align-items:center;padding:0 20px;box-shadow:0 5px 0 #b57d4033}.primary:active{transform:translateY(2px)}.primary svg{width:20px}.intro-foot{font-size:7px;font-weight:600;letter-spacing:1.1px;display:block;text-align:center;color:#a2b8bd;margin-top:19px}.intro-foot i{font-style:normal;margin:0 9px;color:#e9b572}.play-ui{position:absolute;inset:auto 18px max(14px,env(safe-area-inset-bottom));z-index:4}.base-status{background:#203c43ee;border:1px solid #59717a55;display:flex;align-items:center;padding:10px 12px;gap:10px;border-radius:12px;margin-bottom:9px}.base-status>svg{color:#d8c092;width:22px}.base-status>div{flex:1}.base-status>div>span{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.8px;color:#c6d8d9}.base-status b{font-size:8px;font-weight:500;color:#e8eee8}.health-track{height:4px;background:#0f272e;border-radius:5px;margin-top:7px;overflow:hidden}.health-track i{display:block;height:100%;width:100%;background:#9bc7ac;border-radius:5px;transition:width .2s}.base-status>span{font-size:7px;color:#e8c17c;border-left:1px solid #69818a55;padding-left:10px}.upgrades{display:flex;gap:8px}.upgrades>button{border:1px solid #f4f4e49c;background:#f5f7eae8;color:#29454b;border-radius:11px;padding:10px 9px;display:flex;align-items:center;gap:8px;width:50%;text-align:left;box-shadow:0 3px 12px #25484a10}.upgrades>button>svg{width:22px;height:22px;color:#8b7048}.upgrades>button>span{font-weight:700;font-size:10px;flex:1}.upgrades small{font-size:9px;font-weight:400;display:flex;align-items:center;gap:3px;color:#87764f;margin-top:5px}.upgrades small svg{width:11px;height:11px}.upgrades i{font-style:normal;font-size:16px;color:#95764a}.bottom-hint{text-align:center;font-size:8px;color:#294950;font-weight:600;background:#e8f3ef87;border-radius:20px;padding:7px 6px}.hidden{display:none!important}.modal{position:absolute;inset:0;background:#102c36a8;backdrop-filter:blur(7px);z-index:8;display:flex;align-items:center;justify-content:center;padding:25px}.modal-card{width:100%;padding:30px;background:#203c45;border:1px solid #69818766;border-radius:20px;box-shadow:0 25px 60px #10283060}.modal-card h2{font:normal 45px/1 Georgia,serif;margin:23px 0 16px;color:#f5e7ce}.modal-card p{font-size:12px;line-height:1.8;color:#b8cdd0;margin-bottom:25px}.modal-card .eyebrow{font-size:7px;line-height:1.7}.text-button{display:block;background:none;border:0;color:#b4c8ce;font-size:11px;text-decoration:underline;text-underline-offset:4px;margin:20px auto 0;padding:7px}#toast{position:absolute;top:220px;left:50%;transform:translateX(-50%) translateY(-8px);background:#263e42f2;color:#f4dbac;border:1px solid #f1d3a25c;border-radius:30px;white-space:nowrap;padding:11px 17px;font-size:11px;z-index:6;opacity:0;transition:.25s;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.float{position:absolute;z-index:5;font-size:15px;font-weight:800;color:#476749;text-shadow:0 1px #fff;pointer-events:none;animation:floatup 1s ease-out forwards}@keyframes floatup{to{transform:translateY(-45px);opacity:0}}.loading{position:absolute;inset:0;z-index:10;background:#203c45;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:2px;color:#edc38a}.desktop-caption{position:fixed;bottom:18px;left:40px;right:40px;display:flex;justify-content:space-between;color:#67868d;font-size:8px;letter-spacing:2px;pointer-events:none}@media(max-width:850px){.desktop-note{display:none}body{gap:0}.desktop-caption{display:none}}@media(max-width:520px){#game{height:100dvh;width:100vw;border:0;border-radius:0;box-shadow:none}.hud{left:18px;right:18px}.intro{padding-bottom:max(32px,env(safe-area-inset-bottom))}.intro h2{font-size:66px}}@media(max-height:720px){.hud{top:max(12px,env(safe-area-inset-top))}.resources{margin:12px 0 10px}.resource{padding:8px}.mission{padding:9px 12px}.intro h2{font-size:52px}.intro p{margin-bottom:17px}.intro{padding-bottom:23px}.intro-foot{margin-top:14px}.base-status{padding:8px 10px}.upgrades>button{padding:8px}.bottom-hint{font-size:7px}#toast{top:185px}}

@media (orientation:landscape) and (max-height:500px){#game{width:min(100vw,760px);height:100dvh;border:0;border-radius:0}.hud{width:44%;left:18px;right:auto;top:14px}.resources{margin:10px 0}.resource{padding:7px}.mission{padding:8px 10px}.mission div>span{font-size:8px}.intro{padding:20px 22px;align-items:center;justify-content:flex-end;background:linear-gradient(90deg,transparent 15%,#193842e8 57%)}.intro-content{width:43%}.intro h2{font-size:44px;margin:12px 0}.intro p{font-size:11px;margin:10px 0 16px}.intro-foot{font-size:6px;margin-top:12px}.eyebrow{font-size:6px}.primary{min-height:44px;font-size:11px}.play-ui{left:auto;width:44%;right:18px;bottom:14px}.bottom-hint{display:none}.base-status{margin-bottom:6px}.modal{padding:15px}.modal-card{max-width:380px;padding:20px}.modal-card h2{font-size:32px;margin:14px 0}.modal-card p{margin:12px 0}.text-button{margin-top:10px}}

/* Tap movement leaves the playfield clear; interface panels never swallow ground taps. */
.hud,.play-ui,#floaters{pointer-events:none}.hud button,.play-ui button{pointer-events:auto}
#world{cursor:crosshair;touch-action:none}.play-ui{bottom:max(18px,env(safe-area-inset-bottom))}
#floaters{position:absolute;inset:0;z-index:5;overflow:hidden}.float{white-space:nowrap}
.bottom-hint{margin-top:12px;padding:10px;font-size:9px;background:#f1f7e5d9;box-shadow:0 2px 12px #203c4320}
.upgrades>button{min-height:57px}.upgrades>button>span{font-size:11px}
.repair-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid #edc994b0;background:#29454af2;color:#f4d8a7;border-radius:11px;padding:12px;font-size:12px;margin-top:9px}
.repair-button svg{width:18px;height:18px}.repair-button small{font-size:10px;opacity:.75;margin-left:auto}
.resource-pop{animation:resource-pop .35s ease-out}@keyframes resource-pop{40%{transform:translateY(-4px) scale(1.07);background:#fff4c9}100%{transform:none}}
#game[data-mode="playing"] .upgrades button:active{transform:scale(.96)}
@media(max-width:520px) and (max-height:540px){#game[data-mode="intro"] .resources,#game[data-mode="intro"] .mission{display:none}#game[data-mode="intro"] .intro h2{font-size:42px;margin:12px 0}#game[data-mode="intro"] .intro{padding:20px}#game[data-mode="intro"] .intro p{font-size:11px;margin-bottom:16px}#game[data-mode="intro"] .intro-foot{font-size:6px;margin-top:12px}}
@media(prefers-reduced-motion:reduce){.resource-pop{animation:none}.float{animation-duration:.5s}}

.climate{display:flex;align-items:center;justify-content:space-between;color:#2b4b54;font-size:8px;font-weight:800;letter-spacing:.5px;margin-top:8px;padding:8px 11px;background:#eef6f0c9;border:1px solid #ffffff70;border-radius:20px;gap:8px}.heat-stat{display:flex;align-items:center;gap:5px}.heat-stat svg{width:15px;height:15px;color:#b38248}.heat-stat b{min-width:23px;font-size:8px}.fuel-track{width:38px;height:4px;border-radius:4px;overflow:hidden;background:#b7cbc8}.fuel-track i{height:100%;display:block;background:#e2af67;width:65%;transition:width .3s}
.camp-toolbar{display:flex;align-items:center;gap:7px;margin-top:8px}.camp-toolbar button{border:1px solid #f7f4de99;background:#f4f6e9ed;border-radius:9px;display:flex;align-items:center;gap:5px;min-height:35px;padding:0 10px;font-size:10px;font-weight:700;color:#29454b}.camp-toolbar button svg{width:16px;height:16px;color:#ac7f4a}.camp-toolbar button span{color:#8a7754;font-size:9px}.camp-toolbar>span{margin-left:auto;font-size:8px;color:#2b4b54;background:#f0f6ec9c;border-radius:15px;padding:7px 8px}.camp-toolbar button b{background:#bf8554;color:#fff;border-radius:50%;min-width:14px;line-height:14px;font-size:8px}.camp-toolbar button b:empty{display:none}
.camp-context{display:flex;align-items:center;gap:8px;padding:12px;width:100%;border:1px solid #eed5aa;border-radius:11px;background:#f4cf91;color:#3f493d;margin-bottom:9px;box-shadow:0 5px 20px #213d4225}.camp-context svg{width:19px;height:19px}.camp-context span{font-weight:800;font-size:11px}.camp-context small{margin-left:auto;font-size:9px}.bottom-hint{padding:7px;font-size:8px;margin-top:8px}
.camp-panel{position:absolute;inset:0;z-index:9;background:#102c3680;backdrop-filter:blur(3px);display:flex;align-items:flex-end}.camp-sheet{width:100%;max-height:85%;border-radius:24px 24px 0 0;background:#f3f0e4;color:#29454b;padding:9px 20px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;box-shadow:0 -12px 45px #17303935;animation:sheet-in .25s ease-out}.sheet-handle{height:3px;width:34px;background:#b3c1b8;border-radius:4px;align-self:center;margin:2px 0 18px}.camp-heading{display:flex;align-items:center;justify-content:space-between}.camp-heading .eyebrow{font-size:7px;color:#9b7b4e;letter-spacing:1.3px}.camp-heading h2{font:normal 31px/1.1 Georgia,serif;margin:7px 0}.camp-heading button{font-size:24px;background:#e5e8dc;border:0;width:32px;height:32px;flex-shrink:0}.camp-subtitle{font-size:10px;color:#7d8980;margin:5px 0 15px}.camp-tabs{display:flex;gap:3px;border-bottom:1px solid #cdd3c8;flex-shrink:0}.camp-tabs button{flex:1;border:0;background:none;color:#819086;padding:11px 0 13px;font-size:11px;font-weight:800;border-bottom:2px solid transparent}.camp-tabs button[aria-selected=true]{color:#8e6239;border-color:#bd8751}.camp-scroll{overflow-y:auto;min-height:0;overscroll-behavior:contain;touch-action:pan-y}.camp-row{display:flex;align-items:center;gap:10px;padding:15px 0;border-bottom:1px solid #d9ddd1}.camp-row>svg{width:24px;height:24px;color:#9b7e56}.camp-row>div{flex:1;min-width:0}.camp-row strong{font-size:11px;line-height:1.5;display:block}.camp-row p{font-size:9px;line-height:1.65;color:#7c887e;margin:3px 0 0}.camp-row button{font-size:9px;line-height:1.4;color:#654e31;background:#e9dbc0;border:1px solid #d7c29b;border-radius:8px;min-height:37px;max-width:118px;min-width:72px;padding:6px 8px;font-weight:700;flex-shrink:0}.camp-row button:disabled{opacity:.45}.camp-row small{display:block;font-size:9px;color:#9c784b;margin-top:7px}.panel-note{font-size:11px;line-height:1.7;color:#76857b;margin:16px 0 4px}.portrait{display:flex;width:31px;height:37px;border-radius:15px 15px 11px 11px;background:#b87875;color:#fff0d7;align-items:center;justify-content:center;font:normal 22px Georgia,serif}.portrait-tomas{background:#829b7a}.portrait-ines{background:#b99764}.camp-footer{border:0;background:none;opacity:1!important;color:#95a095;font-size:9px;margin-top:12px;padding:5px}.storm .vignette{background:linear-gradient(180deg,#729bbd50,transparent 45%,#adcddd45);box-shadow:inset 0 0 60px #e2f4ff80}.storm .climate{background:#d8e9f3ee;color:#52768c}
@keyframes sheet-in{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@media(max-height:700px){.climate{margin-top:5px;padding:5px 9px}.camp-toolbar{margin-top:6px}.camp-toolbar button{min-height:30px}.camp-row{padding:11px 0}.sheet-handle{margin-bottom:11px}.camp-subtitle{margin-bottom:8px}.camp-sheet{max-height:90%}.camp-heading h2{font-size:26px}}@media(prefers-reduced-motion:reduce){.camp-sheet{animation:none}}

/* During play, reserve the screen for the world. Details live in the refuge sheet. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.compact-hud{left:16px;right:16px;top:max(14px,env(safe-area-inset-top))}.compact-hud .topline{gap:10px}.compact-hud .resources{flex:1;margin:0;gap:6px}.compact-hud .resource{display:flex;align-items:center;gap:7px;flex:1;width:auto;border:1px solid #f7fffb80;border-radius:20px;padding:9px 10px;background:#f6f9eddf;box-shadow:0 3px 12px #2445510c}.compact-hud .resource b{font-size:14px}.compact-hud .resource>svg{width:18px;height:18px}.compact-hud #pause{width:37px;height:37px;flex-shrink:0;background:#f6f9edc7;border:0}.status-line{display:flex;align-items:center;gap:8px;margin-top:8px}.compact-hud .base-status{margin:0;padding:7px 9px;border-radius:14px;gap:5px;background:#26434bdf;flex:1;min-width:0;max-width:61%;border:0}.compact-hud .base-status>svg{width:13px;height:13px}.compact-hud .base-status>span{font-size:9px;border:0;padding:0;color:#eef1dc;white-space:nowrap}.compact-hud .base-status>.health-track{height:3px;flex:1;margin:0 0 0 3px;background:#18333c}.compact-hud .mission{background:#f4f7e6bd;border:0;box-shadow:none;margin:0;padding:6px 9px;border-radius:14px;gap:7px;white-space:nowrap}.compact-hud .mission strong{color:#35525b;font-size:8px;letter-spacing:0}.compact-hud .mission>span:last-child{font-size:8px;color:#5d7778;letter-spacing:0}.danger-chip{display:inline-block;background:#31566ce6;color:#f1f6e8;font-size:10px;border-radius:15px;padding:7px 11px;margin-top:9px;box-shadow:0 3px 12px #34597018}
.play-ui{left:16px;right:16px;width:auto;bottom:max(18px,env(safe-area-inset-bottom))}.minimal-nav{display:flex;align-items:center;justify-content:space-between;pointer-events:none}.minimal-nav button{pointer-events:auto;border:1px solid #f6f6df99;box-shadow:0 4px 15px #24414b20;display:flex;align-items:center;justify-content:center;gap:7px;color:#35505a;min-height:44px}.home-button{border-radius:50%;width:47px;background:#f1f5e6d9;position:relative}.home-button svg{width:19px;height:19px}.home-button span{position:absolute;top:49px;font-size:8px;letter-spacing:.5px;font-weight:700;text-shadow:0 1px #fff}.refuge-button{border-radius:24px;background:#f0c88e;padding:0 17px;font-size:12px;font-weight:800}.refuge-button svg{width:21px;height:21px;color:#886234}.refuge-button b{border-radius:50%;background:#9b6841;color:#f9edcf;min-width:17px;line-height:17px;font-size:9px}.refuge-button b:empty{display:none}.context-actions{display:flex;justify-content:center;gap:0;margin:0 auto 12px;max-width:280px}.context-actions>.camp-context,.context-actions>.repair-button{margin:0;padding:11px 13px;border-radius:22px;min-height:42px;box-shadow:0 4px 12px #24414b20}.context-actions small{font-size:9px}.context-actions>button.hidden{display:none!important}.camp-summary{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d5d9cd;padding:14px 0;font-size:9px;color:#809082;gap:8px}.camp-summary>span{display:flex;align-items:center;gap:4px}.camp-summary svg{width:15px;height:15px;color:#aa7d49}.camp-summary b{color:#4a6559}.camp-summary .fuel-track{width:25px}.defense-title{font-size:8px;letter-spacing:1px;font-weight:800;color:#9a8059;display:flex;justify-content:space-between;margin:19px 0 9px}.camp-sheet .upgrades{margin-bottom:8px}.camp-sheet .upgrades>button{background:#e8e7d9;border:1px solid #d8d9ca;box-shadow:none;padding:9px}.camp-sheet .upgrades small{font-size:9px}.camp-sheet .upgrades>button>span{font-size:10px}.compact-hud .resource-pop{animation-duration:.25s}
#toast{top:110px;max-width:calc(100% - 35px);white-space:normal;text-align:center;font-size:10px;line-height:1.5;padding:9px 13px}.compact-hud .climate{display:none}@media(orientation:landscape) and (max-height:500px){.compact-hud{width:auto;right:16px}.compact-hud .resources{max-width:300px}.compact-hud .topline{justify-content:space-between}.compact-hud .status-line{max-width:300px}.play-ui{width:auto;left:16px;right:16px;bottom:18px}.camp-sheet{max-width:480px;margin-left:auto}.context-actions{margin-bottom:8px}}

.compact-hud #wave-count{font-size:8px;color:#597574;letter-spacing:0}

.fire-status{position:absolute;top:50px;right:0;display:flex;align-items:center;gap:5px;height:29px;width:79px;padding:5px 7px;border-radius:14px;background:#fbefd7e8;border:1px solid #fff7e4aa;color:#8e6336;pointer-events:auto;box-shadow:0 2px 10px #35505b0a}.fire-status svg{width:15px;height:15px}.fire-status b{font-size:9px}.fire-track{height:3px;width:20px;border-radius:3px;background:#d8cbb5;overflow:hidden}.fire-track i{display:block;width:65%;height:100%;background:#d49b51;transition:width .3s}.fire-status.low-fuel{background:#f8ddce;color:#ac5941}.low-fuel .fire-track i{background:#b75f49}.compact-hud .status-line{padding-right:86px;gap:5px}.compact-hud .base-status{padding:7px 6px;max-width:none}.compact-hud .base-status>.health-track{min-width:16px}.compact-hud .mission{padding:7px 6px;gap:4px}.compact-hud #wave-count{font-size:7px}.compact-hud .mission strong{font-size:7px}.explore-actions{display:flex;gap:10px;pointer-events:auto}.hunt-button{background:#e9d3aeed}.hunt-button svg{color:#947140}.meal-summary{display:flex;align-items:center;gap:7px;font-size:10px;color:#6f7e6e;padding:11px 0;border-bottom:1px solid #d5d9cd;flex-wrap:wrap}.meal-summary svg{width:17px;height:17px;color:#ac7352}.meal-summary small{display:block;flex-basis:100%;font-size:8px;line-height:1.6;color:#92a08e}.camp-summary{gap:5px}.camp-summary>span{font-size:8px}@media(max-width:350px){.compact-hud .base-status>span{font-size:8px}.compact-hud .base-status>.health-track{display:none}.compact-hud .resource{gap:4px;padding:8px}.compact-hud .mission{gap:3px}}

.camp-tabs{grid-template-columns:repeat(4,1fr)}.camp-tabs button{padding-inline:4px;font-size:11px}.city-era-block{padding:18px 0 20px;border-bottom:1px solid #d7cbb8}.city-era-block h3{font:500 34px Georgia,serif;margin:9px 0;color:#294754}.city-era-block p{margin:8px 0}.city-evolve{width:100%;min-height:46px;border:0;border-radius:10px;background:#315c61;color:#fff7e8;font:600 13px inherit;margin-top:10px}.city-evolve:disabled{opacity:.45}.camp-row button{max-width:128px;white-space:normal}

.worker-jobs{display:flex;gap:7px;margin:-3px 0 14px;padding-left:54px}.worker-jobs button{flex:1;min-height:36px;border:1px solid #cfc5af;border-radius:8px;background:transparent;color:#52645e;font:600 12px inherit}.worker-jobs button[aria-pressed="true"]{background:#315c61;border-color:#315c61;color:#fff4dd}.worker-jobs button:disabled{opacity:.35}.worker-jobs button:focus-visible{outline:2px solid #b98643;outline-offset:2px}

.camp-tabs{display:flex;overflow-x:auto;scrollbar-width:none}.camp-tabs button{flex:1;min-width:60px;white-space:nowrap}.camp-tabs #tab-people{min-width:87px}.defense-row{padding:17px 0;border-bottom:1px solid #d7cbb8}.defense-row strong{font-size:15px;color:#294754}.defense-row p{font-size:12px;color:#718078;margin:6px 0}.defense-row small{display:block;font-size:11px;color:#8e714c}.defense-actions{display:flex;gap:8px;margin-top:11px}.defense-actions button{flex:1;min-height:42px;padding:8px 10px;border:1px solid #ccbf9f;border-radius:9px;background:#e9dfc7;color:#425b58;font-size:12px;font-weight:600}.defense-actions button:disabled{opacity:.4}.defense-actions button:focus-visible{outline:2px solid #b98643;outline-offset:2px}

/* Comfortable touch targets without increasing the HUD footprint. */
@media(pointer:coarse),(max-width:600px){.camp-row button,.worker-jobs button,.defense-actions button,.camp-tabs button,.text-button{min-height:44px}.camp-heading .icon-button,#pause{min-width:44px;min-height:44px}.fire-status::before{content:"";position:absolute;inset:-8px 0}.camp-tabs{touch-action:pan-x}.camp-scroll{-webkit-overflow-scrolling:touch}.modal,.camp-panel{backdrop-filter:none}.camp-row p{font-size:11px}.camp-row strong{font-size:13px}.worker-jobs{padding-left:0}.camp-sheet{max-height:90dvh}}

/* A quiet fitting room; gameplay stays frozen behind it. */
.camp-heading-actions{display:flex;align-items:center;gap:6px}.camp-heading .custom-entry{display:flex;width:auto;height:44px;align-items:center;justify-content:center;gap:5px;border:1px solid #cbd3c5;background:#e5e9dc;border-radius:24px;padding:0 11px;min-height:44px;color:#39574e;font-size:11px;font-weight:700}.custom-entry svg{width:16px;height:16px}.custom-intro-link{display:block;margin:5px auto 0;padding:8px 15px;min-height:44px;background:none;border:0;color:#f8edce;font-size:12px;text-decoration:underline;text-underline-offset:4px}
#game[data-customizing="true"]>.hud,#game[data-customizing="true"]>.intro,#game[data-customizing="true"]>.camp-panel,#game[data-customizing="true"]>.modal,#game[data-customizing="true"]>.play-ui,#game[data-customizing="true"]>#toast,#game[data-customizing="true"]>#floaters{visibility:hidden}
.custom-panel{position:absolute;inset:0;z-index:20;background:#f1f0e3;color:#29473e;touch-action:pan-y}.custom-sheet{display:flex;flex-direction:column;height:100%;padding-top:env(safe-area-inset-top)}.custom-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 0;gap:8px}.custom-heading .eyebrow{color:#927b54;font-size:8px;letter-spacing:1.8px}.custom-heading h2{font:normal 33px/1.1 Georgia,serif;letter-spacing:-1px;margin:7px 0 0}.custom-heading .icon-button{background:#e5e8dc;border:0;min-width:44px;min-height:44px}.custom-pause-note{margin:10px 22px 0;display:flex;align-items:center;gap:6px;color:#738274;font-size:10px}.custom-pause-note i{width:5px;height:5px;background:#8f9f7d;border-radius:50%}.custom-layout{display:flex;flex-direction:column;flex:1;min-height:0}.custom-stage{height:clamp(146px,27dvh,225px);min-height:146px;position:relative;flex-shrink:0;background:radial-gradient(ellipse at 50% 72%,#dae4d3 0%,#f1f0e3 64%);overflow:hidden}#custom-preview{display:block;width:100%;height:calc(100% - 30px);touch-action:pan-y}.custom-turn{display:flex;align-items:center;justify-content:center;gap:17px;position:absolute;bottom:0;left:0;right:0}.custom-turn button{border:0;background:transparent;color:#4e7060;width:44px;height:44px;font-size:21px}.custom-turn span{font-size:9px;color:#8c9787;letter-spacing:.3px}#custom-preview-error{position:absolute;inset:20px;text-align:center;font-size:12px;padding-top:30px;line-height:1.6;background:#f1f0e3}.custom-options{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:0 22px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#b8c4af transparent}.custom-field{border:0;border-top:1px solid #dce0d1;padding:9px 0 5px;margin:0;min-width:0}.custom-field legend{float:left;width:100%;padding:0;display:flex;justify-content:space-between;font-size:12px;font-weight:700}.custom-field legend span{color:#8a9482;font-size:10px;font-weight:400}.custom-choices{display:flex;gap:8px;clear:both;flex-wrap:wrap;padding-top:4px}.custom-swatch{position:relative;width:44px;height:44px;flex-shrink:0;border:0;border-radius:50%;background:transparent;color:#fff}.custom-swatch::before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #00000012}.custom-swatch[aria-pressed="true"]{outline:1.5px solid #b68b4f;outline-offset:-3px}.custom-swatch span{position:relative;opacity:0;font-size:15px;text-shadow:0 1px 3px #273d36}.custom-swatch[aria-pressed="true"] span{opacity:1}.custom-headwear{gap:6px}.custom-choice{min-height:44px;padding:0 15px;border:1px solid #ccd4c3;border-radius:12px;background:#e8ebde;color:#617360;font-size:11px}.custom-choice[aria-pressed="true"]{background:#355d50;color:#f6f0dc;border-color:#355d50}.custom-footer{padding:0 22px max(14px,env(safe-area-inset-bottom));flex-shrink:0;background:#f1f0e3;border-top:1px solid #d8decd}.custom-default{display:block;margin:0 auto;min-height:36px;border:0;background:none;color:#88937f;font-size:10px;text-decoration:underline;text-underline-offset:3px}.custom-footer>div{display:flex;gap:9px}.custom-cancel,.custom-save{min-height:47px;border-radius:14px;font-size:12px;font-weight:700}.custom-cancel{flex:1;border:1px solid #cdd5c5;background:none;color:#61735f}.custom-save{flex:1.8;display:flex;justify-content:center;align-items:center;gap:12px;border:0;background:#315c4d;color:#fff1d8}.custom-save svg{width:17px;height:17px}
@media(max-width:360px){.custom-heading{padding:14px 16px 0}.custom-heading h2{font-size:29px}.custom-pause-note{margin-left:16px}.custom-options{padding-left:16px;padding-right:16px}.custom-choices{gap:3px}.custom-footer{padding-left:16px;padding-right:16px}.camp-heading-actions{gap:3px}.custom-entry{padding:0 8px}.custom-entry svg{display:none}}
@media(orientation:landscape) and (max-height:500px){.custom-heading{padding-top:8px}.custom-heading h2{font-size:25px;margin-top:2px}.custom-heading .eyebrow{font-size:7px}.custom-pause-note{margin-top:4px}.custom-layout{flex-direction:row}.custom-stage{width:43%;height:auto;min-height:0}.custom-options{padding-top:10px}.custom-footer{padding-bottom:6px}.custom-default{min-height:28px}.custom-cancel,.custom-save{min-height:40px}}

/* Small, translucent speech balloons describe work without covering the world. */
.action-bubbles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.action-bubble{position:absolute;top:0;left:0;width:32px;height:29px;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff8a;border-radius:10px;background:rgba(246,249,235,.72);color:#52736a;box-shadow:0 2px 6px #25433e12;opacity:0;transition:opacity .16s ease;pointer-events:none;will-change:transform}.action-bubble::after{content:"";position:absolute;left:11px;bottom:-4px;width:6px;height:6px;background:rgba(246,249,235,.72);border-right:1px solid #ffffff8a;border-bottom:1px solid #ffffff8a;transform:rotate(45deg)}.action-bubble.is-visible{opacity:.92}.action-bubble svg{width:18px;height:18px;stroke-width:1.8}.action-bubble[data-action="cook"],.action-bubble[data-action="feed"]{color:#a2774a}.action-bubble[data-action="build"],.action-bubble[data-action="repair"]{color:#8b7854}#game[data-customizing="true"]>.action-bubbles{visibility:hidden}@media(prefers-reduced-motion:reduce){.action-bubble{transition:none}}
