:root{color-scheme:dark;--bg:#191e1b;--panel:#222823;--line:#394039;--muted:#9fa99c;--text:#e6e9dd;--accent:#c6dba4;font-family:Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg)}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;height:100dvh;min-height:440px;display:flex;flex-direction:column;overflow:hidden}button,input{font:inherit}button{color:inherit;background:transparent;border:1px solid var(--line);border-radius:5px;cursor:pointer;transition:background .12s}button:hover{background:#374035}button:focus-visible,canvas:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{opacity:.3;cursor:default}body>header{height:82px;flex-shrink:0;display:flex;align-items:center;padding:0 28px;gap:36px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font-size:39px;color:var(--accent);line-height:1}h1{font-family:Georgia,serif;font-size:25px;font-weight:400;letter-spacing:.3px;margin:0 0 2px}.subtitle{font-size:11px;color:var(--muted)}.world-info{display:flex;align-items:center;gap:18px;font-size:13px}.world-info small{color:var(--muted);margin-left:4px}.prototype{border:1px solid #4b5744;border-radius:4px;color:var(--accent);padding:5px 8px;font-size:10px;letter-spacing:.4px}#save-status{margin-left:auto;font-size:11px;color:var(--muted)}main{display:flex;flex:1;min-height:0}#viewport{position:relative;flex:1;min-width:0;overflow:hidden;background:#111713}#world{width:100%;height:100%;display:block;touch-action:none;image-rendering:pixelated;cursor:grab;outline-offset:-3px}#world.building{cursor:crosshair}.map-caption{position:absolute;top:24px;left:25px;font-size:10px;letter-spacing:1.6px;pointer-events:none;text-shadow:0 1px 4px #000}.live-dot{width:6px;height:6px;display:inline-block;background:#bccfa4;margin-right:8px}.caption-sub{display:block;color:#bbc4b0;font-size:10px;letter-spacing:.5px;margin:7px 0 0 16px}.view-controls{position:absolute;right:22px;top:20px;display:flex;gap:3px;padding:5px;background:#1c231eea;border:1px solid #414a3b;border-radius:7px;align-items:center}.view-controls button{border:0;padding:7px 9px;font-size:11px}#zoom{font-size:11px;text-align:center;min-width:41px}.divider{height:16px;width:1px;background:var(--line);margin:0 4px}.map-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;background:#172019de;color:#b9c3af;padding:10px 21px;font-size:10px;pointer-events:none}#coordinates{font-family:Consolas,monospace;letter-spacing:1px}aside{width:270px;flex-shrink:0;background:var(--panel);border-left:1px solid var(--line);padding:24px;overflow-y:auto}.panel-heading{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:1.65px;color:var(--muted)}.tag{font-family:Consolas,monospace;font-size:10px;color:var(--muted)}h2{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:15px 0 10px}.intro{font-size:12px;line-height:1.8;color:#b2bbaa;margin:0 0 21px}#minimap{display:block;width:100%;height:auto;aspect-ratio:1;border:1px solid #46503e;background:#354331;cursor:crosshair;image-rendering:pixelated;touch-action:none}.overview-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.7px;color:var(--muted);margin-top:8px}.section-rule{height:1px;background:var(--line);margin:22px 0}h3{font-size:15px;font-weight:500;margin:10px 0 5px}#tile-detail,#tool-help{font-size:11px;line-height:1.7;color:#b1bbab;margin:0}#tool-help{margin-top:10px;min-height:38px}.grid-setting{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:19px;color:#c8d0c0;cursor:pointer}input{accent-color:var(--accent)}.placeholder-note{display:flex;gap:12px;align-items:center;margin-top:22px;color:#b5c5a6}.placeholder-note>span{font-size:25px}.placeholder-note p{font-size:11px;line-height:1.7;margin:0}.local-note{font-size:10px;line-height:1.7;color:#8c9888;margin:18px 0 0}body>footer{min-height:94px;padding:12px 23px;display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);background:#1c211d;flex-shrink:0}.tool-label{width:115px;flex-shrink:0}.tool-label small{display:block;margin-top:7px;font-size:10px;color:#d4dbcb}#tools{display:flex;gap:7px}.tool{position:relative;width:71px;height:65px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;font-size:10px}.tool[aria-pressed=true]{color:#e1edcb;background:#3a4732;border-color:#a4b78b}.tool kbd{position:absolute;top:5px;right:6px;color:var(--muted);font-size:8px}.swatch{display:block;width:19px;height:19px;background:var(--swatch);border:2px solid #ffffff2b;border-radius:1px}.swatch.inspect{background:none;border:1px solid #cbd4c0;position:relative}.swatch.inspect:after{content:'';position:absolute;width:5px;height:5px;border:1px solid #cbd4c0;top:5px;left:5px}.swatch.erase{background:repeating-linear-gradient(135deg,transparent,transparent 3px,#a0a598 3px,#a0a598 4px);border:1px solid #a0a598}.history{margin-left:auto;display:flex;gap:5px}.history button{padding:9px;font-size:12px}.history span{font-size:10px}#notice{position:absolute;left:50%;bottom:56px;transform:translateX(-50%);padding:9px 14px;background:#1b241ef0;border:1px solid #5b694e;border-radius:5px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .15s}#notice.visible{opacity:1}
@media(max-width:1000px){aside{width:226px;padding:20px}body>header{padding:0 20px;gap:22px}body>footer{padding:10px 14px;gap:12px}.tool-label{display:none}.tool{width:62px}.history span{display:none}.caption-sub{display:none}.map-caption{top:75px}.world-info{gap:10px}}
@media(max-width:700px){body>header{height:65px;padding:0 14px;gap:10px}h1{font-size:21px}.subtitle,.world-info>span:first-child,#save-status{display:none}.world-info{margin-left:auto}aside{display:none}body>footer{min-height:83px;gap:8px;padding:8px;overflow-x:auto}#tools{gap:4px;flex:1}.tool{width:clamp(39px,10vw,64px);height:61px;flex-shrink:0}.history{gap:3px}.history button{padding:8px 6px}.view-controls{right:12px;top:14px}.map-caption{left:16px;top:75px;font-size:8px}.map-bottom{padding:10px;font-size:9px}.brand-mark{font-size:30px}}

#character-open{padding:8px 10px;white-space:nowrap;font-size:11px}.nav-links{display:flex}body>header{gap:18px}.world-info{gap:10px}#colony-summary{font-size:11px;color:#c6dba4;margin:18px 0 8px}#residents{list-style:none;padding:0;margin:0;font-size:10px;color:#c4cbbb;line-height:1.9}#character-dialog{width:min(420px,calc(100vw - 32px));border:1px solid #647457;border-radius:10px;padding:28px;background:#222b23;color:#e6e9dd}#character-dialog::backdrop{background:#07130dbb}#character-close{float:right;border:0;font-size:24px}#character-dialog h2{margin-top:8px}#character-dialog p{font-size:12px;line-height:1.7;color:#bac8af}#character-dialog label{display:block;font-size:12px;margin:16px 0}#character-dialog input,#character-dialog select{display:block;width:100%;margin:7px 0;padding:10px;background:#151f18;color:#e6e9dd;border:1px solid #617252;border-radius:4px}#character-dialog button:not(#character-close){padding:10px 14px;background:#3a4b32}#character-message{min-height:20px}.offline{color:#d2b08c;border-color:#7c684d}.history button{white-space:nowrap}@media(max-width:1000px){.world-info>span:first-child{display:none}#save-status{max-width:130px;font-size:10px}.subtitle{display:none}}@media(max-width:700px){body>header{gap:8px}.world-info{display:none}.nav-links{margin-left:auto}#character-open{padding:7px;font-size:10px}#tools{flex:initial}.history button{font-size:10px}.map-caption{top:70px}}
/* Colony HUD and management overlays */
:root{--dock:58px;--management-height:min(350px,48dvh)}
body>header{height:66px;padding:0 20px}h1{font-size:24px}.brand-mark{font-size:32px}
aside{width:228px;padding:18px;background:#1b2321ed}aside .placeholder-note,aside .local-note{display:none}aside #minimap{max-width:145px;margin:18px auto 0}aside .overview-label{font-size:8px}.section-rule{margin:16px 0}
.world-conditions h2{font:28px Consolas,monospace;letter-spacing:1px;margin:14px 0 6px}.world-conditions p{font-size:12px;margin:7px 0}.world-conditions small{font-size:9px;color:var(--muted)}.alerts{margin:20px 0;border-top:1px solid #4b5546;padding-top:4px}.alerts h3{color:#d5caa2;font-size:11px;text-transform:uppercase;letter-spacing:1px}.alerts ul{list-style:none;padding:0;font-size:11px;line-height:1.65;color:#d5c29a}.alerts li+li{margin-top:6px}#residents button{text-align:left;border:0;padding:5px 0;font-size:11px;width:100%;color:#ccd5bf}#colony-summary{margin-top:14px}
.map-caption{top:16px;left:18px;font-size:9px}.view-controls{top:13px;right:16px}#tracker{position:absolute;top:53px;left:14px;width:154px;padding:12px 13px;background:#17201be8;border:1px solid #82946b44;border-radius:3px;pointer-events:none;font-size:11px}#tracker h2{font:11px Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:1px;color:#c5d5b0;margin:0 0 12px}#tracker-values>div{display:flex;justify-content:space-between;gap:12px;line-height:1.95;color:#bfcbba}#tracker-values strong{color:#eff0da;font:12px Consolas,monospace}#tracker p{font-size:8px;color:#83917e;margin:10px 0 0}.map-bottom{padding:9px 15px}
body>footer{height:var(--dock);min-height:var(--dock);padding:0 12px;gap:16px;z-index:15;background:#151d1c;border-top:1px solid #70836866}#management-tabs{display:flex;align-self:stretch;gap:4px}#management-tabs button{min-width:118px;font-size:18px;border-radius:0;border-color:#48554e;padding:0 15px;background:linear-gradient(#2d3937,#1c2624)}#management-tabs button span{font-size:12px;margin-left:9px}#management-tabs button[aria-expanded=true]{background:#4d5940;border-color:#b5c494;color:#f0efd2}.footer-note{margin-left:auto;font:italic 13px Georgia,serif;color:#a9b89b;white-space:nowrap}
#management-panel{position:absolute;z-index:14;bottom:var(--dock);left:0;right:0;height:var(--management-height);background:#151e1df5;border:1px solid #647057;box-shadow:0 -10px 35px #0a120c55;display:flex;flex-direction:column}#management-panel[data-panel=build]{height:215px}#management-panel[data-panel=areas]{height:min(310px,45dvh)}.management-heading{display:flex;align-items:center;min-height:44px;gap:20px;padding:7px 18px;border-bottom:1px solid #3e4b41}.management-heading h2{font:18px Georgia,serif;margin:0;color:#e6e4c9}#management-close{margin-left:auto;border:0;font-size:23px;padding:0 8px}#management-save-state{font-size:11px;color:#ddcca0}#management-body{padding:12px 18px;overflow:auto;flex:1;min-height:0}.panel-explanation{font-size:11px;color:#a6b6a5;line-height:1.6;margin:0 0 14px}.management-auth{font-size:12px;color:#d2c399;margin:0 0 10px}.management-auth button{padding:5px 8px;color:#e5edd0}#management-actions{display:flex;gap:9px;align-items:center;padding:9px 18px;border-top:1px solid #3e4b41;background:#1b2520}#management-hint{font-size:10px;color:#a8b5a4;margin-right:auto}#management-actions button{padding:7px 12px;font-size:11px}#management-save{background:#495a3c;border-color:#95a679}
#build-panel{padding:13px 18px;display:flex;gap:22px;align-items:center;overflow:auto;flex:1}#build-categories{display:grid;grid-template-columns:1fr 1fr;gap:3px;min-width:186px}#build-categories button{font-size:11px;text-align:left;border-radius:0;padding:9px;background:#2b3630}#build-categories button[aria-pressed=true]{background:#59664b;border-color:#b7c590}#tools{gap:6px}.tool{width:72px;height:79px;border-radius:2px;background:#29352b;flex-shrink:0}.swatch{width:25px;height:25px}.build-note{font-size:11px;line-height:1.6;color:#afbba4;max-width:230px;min-width:150px}.build-note button{font-size:11px;padding:7px}
.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;font-size:12px;text-align:center}.table-scroll th{font-weight:400;color:#c8d2c1}.table-scroll th:first-child{text-align:left;min-width:165px}.table-scroll th,.table-scroll td{padding:7px 10px;border-bottom:1px solid #354239}.table-scroll small{display:block;color:#899b87;font-size:9px;margin-top:3px}.work-table select{min-width:60px;text-align:center}.resident-name{padding:0;border:0;font-size:12px}.future-work{color:#82917f;font-size:10px}.work-table th:not(:first-child){min-width:95px}#management-body select,#management-body input{background:#28382e;border:1px solid #647155;color:#e4ecd9;border-radius:2px;padding:6px;font:12px Segoe UI,sans-serif}#management-body :disabled{opacity:.6;cursor:default}.schedule-brush{display:flex;gap:5px;align-items:center;margin-bottom:12px}.schedule-brush button{padding:6px 16px;border-radius:0;font-size:11px}.schedule-brush button[aria-pressed=true]{outline:2px solid #e3e4c6;outline-offset:-2px}.schedule-brush span{font-size:10px;color:#a7b39f;margin-left:10px}.period-anything{background:#6b726b!important}.period-work{background:#858445!important}.period-recreation{background:#6f527f!important}.period-sleep{background:#444878!important}.schedule-table td,.schedule-table th{padding:3px 1px;font-size:10px}.schedule-table th:first-child{padding-right:10px}.hour{display:block;width:100%;min-width:24px;height:31px;border:1px solid #17201c;border-radius:0;font-size:9px;touch-action:none}.current-hour{box-shadow:inset 0 0 0 2px #e4d7a5}.schedule-table select{max-width:140px}.schedule-table{margin-bottom:14px}.area-toolbar{display:flex;gap:15px;align-items:center;font-size:11px;margin-bottom:12px}.area-toolbar button{padding:7px 12px}.area-toolbar span{color:#9baa97;font-size:10px}.area-row{display:flex;align-items:end;gap:8px;margin-bottom:8px}.area-row label{font-size:9px;color:#b6c4ab}.area-row input{display:block;width:62px;margin-top:4px}.area-row label:first-child input{width:155px}.area-row button{padding:7px 9px;font-size:10px}.area-list p{font-size:12px;color:#afbda9}.colonist-sheet{display:grid;grid-template-columns:1.05fr 1fr .8fr;gap:30px;max-width:1150px}.colonist-sheet h3{font-size:19px;margin:5px 0 8px}.colonist-sheet h3 small{font-size:10px;color:#9cae94;margin-left:10px}.colonist-sheet .activity{font-size:12px;color:#d6cea8;margin:4px 0 12px}.energy-label{display:flex;justify-content:space-between;font-size:11px}.colonist-sheet progress{width:100%;height:10px;accent-color:#a5bc7b}.colonist-sheet dl{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:10px 0;font-size:11px}.colonist-sheet dt{color:#9db092}.colonist-sheet dd{margin:0;text-align:right}.colonist-sheet button{font-size:10px;padding:5px 8px}.max-badge{font:9px Segoe UI,sans-serif;background:#665c35;color:#f0e5ad;padding:3px 6px;white-space:nowrap}.skill-list>div{display:grid;grid-template-columns:90px 1fr 52px;gap:10px;align-items:center;margin:10px 0;font-size:12px}.skill-list meter{width:100%;height:11px}.skill-list strong{font-weight:400;text-align:right}.skill-list small{font-size:9px;color:#9ba992}.colonist-jobs p,.colonist-jobs ol{font-size:11px;line-height:1.8;color:#b4c0a8}.colonist-jobs ol{padding-left:18px}.colonist-sheet .panel-explanation{font-size:10px;margin-top:14px}
body:has(#management-panel:not([hidden])) #viewport .map-bottom{visibility:hidden}#notice{z-index:17;bottom:auto;top:65px;max-width:min(500px,80%);text-align:center}
@media(max-width:1000px){#management-tabs button{min-width:95px;padding:0 10px}aside{width:205px;padding:14px}.footer-note{display:none}#build-panel{gap:12px}.build-note{display:none}.colonist-sheet{gap:18px}.colonist-jobs{display:none}.colonist-sheet{grid-template-columns:1fr 1fr}.schedule-table th:first-child{min-width:130px}.map-caption{top:18px}.caption-sub{display:block}}
@media(max-width:700px){:root{--dock:54px;--management-height:min(390px,57dvh)}body>header{height:60px;padding:0 10px}.brand-mark{display:none}h1{font-size:19px}body>footer{padding:0 5px;overflow:visible}#management-tabs{width:100%;gap:2px}#management-tabs button{min-width:0;flex:1;font-size:14px;padding:0 4px}#management-tabs button span{display:block;font-size:10px;margin:2px 0 0}.map-caption{display:none}#tracker{top:61px;left:8px;width:126px;padding:9px;font-size:10px}#tracker h2{font-size:9px}#tracker-values>div{line-height:1.8}#tracker-values strong{font-size:10px}aside{display:block;position:absolute;top:118px;right:8px;width:145px;max-height:150px;padding:10px;background:#17201be8;border:1px solid #82946b44;z-index:2}aside>*{display:none}aside .world-conditions,aside .alerts{display:block}.world-conditions h2{font-size:20px;margin:0}.world-conditions p{font-size:10px;margin:4px 0}.world-conditions small{display:none}.alerts{margin:7px 0 0;padding-top:0}.alerts h3{font-size:9px;margin:5px 0}.alerts ul{font-size:9px;margin:3px 0}.view-controls{top:12px;right:8px}.management-heading{padding:6px 12px;gap:10px}.management-heading h2{font-size:16px}#management-save-state{font-size:9px}#management-body{padding:12px}#management-actions{padding:7px 10px;flex-wrap:wrap;gap:5px}#management-hint{width:100%;font-size:9px}#management-actions button{padding:6px 10px}#management-panel[data-panel=build]{height:245px}#build-panel{display:block;padding:10px;overflow:auto}#build-categories{display:flex;gap:3px;margin-bottom:10px}#build-categories button{font-size:10px;padding:7px;flex:1}#tools{display:flex;overflow:auto;gap:5px;padding-bottom:8px}.tool{width:60px;height:75px}.schedule-brush{flex-wrap:wrap}.schedule-brush button{padding:6px 10px;font-size:10px}.schedule-brush span{width:100%;margin:3px 0}.area-toolbar{flex-wrap:wrap;gap:8px}.area-row{min-width:610px}.area-list{overflow:auto}.colonist-sheet{grid-template-columns:1fr;gap:20px}.colonist-jobs{display:block}.colonist-sheet h3{font-size:18px}.map-bottom span:last-child{display:none}#notice{top:46px;font-size:11px}}
/* Reserve visible map space while a management sheet is expanded. */
body:has(#management-panel:not([hidden])) main{margin-bottom:var(--management-height)}
body:has(#management-panel[data-panel=build]:not([hidden])) main{margin-bottom:215px}
body:has(#management-panel[data-panel=areas]:not([hidden])) main{margin-bottom:min(310px,45dvh)}
body:has(#management-panel:not([hidden])) #tracker{width:262px;top:49px;padding:9px 11px}
body:has(#management-panel:not([hidden])) #tracker-values{display:grid;grid-template-columns:1fr 1fr;column-gap:15px;font-size:10px}
body:has(#management-panel:not([hidden])) #tracker h2{margin-bottom:5px}
body:has(#management-panel:not([hidden])) #tracker p{display:none}
@media(max-width:700px){body:has(#management-panel[data-panel=build]:not([hidden])) main{margin-bottom:245px}body:has(#management-panel:not([hidden])) #tracker{display:none}body:has(#management-panel:not([hidden])) aside{max-height:90px;top:114px}body:has(#management-panel:not([hidden])) aside .alerts{display:none}}
@media(max-width:700px){aside .panel-heading,aside #minimap,aside .overview-label,aside .grid-setting{display:none}#build-panel .build-note{display:block;max-width:none;margin:4px 0}#build-panel .build-note p{display:none}#build-panel .build-note button{padding:5px 9px;font-size:10px}}

/* Return from the game to the website without losing the saved world. */
.world-home-link{display:inline-flex;align-items:center;min-height:34px;padding:5px 9px;color:#e6e9dd;border:1px solid #647155;border-radius:5px;font:12px Segoe UI,system-ui,sans-serif;text-decoration:none;white-space:nowrap}.world-home-link:hover{background:#374035}.world-home-link:focus-visible{outline:2px solid #c6dba4;outline-offset:3px}
