:root{color:#dfebe8;font-synthesis:none;--mint:#a9d9bd;--muted:#8ca3a8;--border:#aad1d024;background:#0c222d;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,input:focus-visible{outline-offset:4px;outline:2px solid #c1f4d6}button{transition:background .2s,color .2s}button:hover:not(:disabled){color:#e1ffe9}svg{flex-shrink:0}h1,h2,p{margin:0}button svg{vertical-align:middle}.app{height:100dvh;min-height:650px;position:relative;overflow:hidden}.world{position:absolute;inset:0}.world canvas{touch-action:none}.vignette{pointer-events:none;background:linear-gradient(#030e15b3,#0000 24% 78%,#030e1599),linear-gradient(90deg,#030e1566,#0000 32% 74%,#030e1538);position:absolute;inset:0}.topbar{border-bottom:1px solid var(--border);align-items:center;gap:40px;height:94px;margin:0 32px;display:flex;position:absolute;top:0;left:0;right:0}.brand{align-items:center;gap:13px;min-width:310px;display:flex}.brand-icon{color:#bce2c8;font-size:39px;font-weight:200}.brand h1{letter-spacing:3px;font-size:19px;font-weight:500}.brand h1 span{color:#a0c8c4;font-weight:300}.brand p{letter-spacing:2.5px;color:#8caaaf;margin-top:7px;font-size:8px}.hud-stats{align-items:center;gap:26px;margin-left:auto;display:flex}.hud-stats>div{flex-direction:column;gap:7px;display:flex}.hud-stats>div>span{color:#93abb0;letter-spacing:1px;font-size:10px}.hud-stats strong{letter-spacing:1px;font-variant-numeric:tabular-nums;font-size:23px;font-weight:400}.hud-stats small{letter-spacing:1px;color:#849ca1;font-size:8px}.hud-stats i{background:var(--border);width:1px;height:27px;margin:0 4px}.vent-status strong{letter-spacing:1px;font-size:12px}.status-dot{background:var(--mint);vertical-align:middle;border-radius:50%;width:5px;height:5px;margin-right:8px;display:inline-block;box-shadow:0 0 9px #a5e3bf70}.status-dot.off{box-shadow:none;background:#a6a69c}.time-controls{align-items:center;gap:12px;display:flex}.pause-button{border:1px solid var(--border);border-radius:5px;width:37px;height:37px}.pause-button:hover{background:#bce2c817}.pause-button.active{color:var(--mint);border-color:#a9d9bd65}.speed-group{border:1px solid var(--border);background:#07182055;border-radius:5px;padding:3px;display:flex}.speed-group button{color:#91a8ac;border-radius:3px;padding:6px 12px;font-size:12px}.speed-group button.active{color:#c4ead0;background:#a9d9bd22}.speed-group small{margin-left:3px;font-size:10px}.location-label{pointer-events:none;position:absolute;top:126px;left:36px}.eyebrow{letter-spacing:2.2px;color:#a3c7bd;font-size:8px;font-weight:500}.location-label .eyebrow{letter-spacing:2.6px;font-size:9px}.location-label .eyebrow b{background:var(--mint);border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.location-label h2{letter-spacing:4px;color:#d4e5e1;margin:14px 0 12px;font-size:23px;font-weight:300}.location-label p{letter-spacing:2.2px;color:#8ca6ac;font-size:8px}.location-label p span{color:#46636c;margin:0 9px}.panel{border:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:linear-gradient(135deg,#0c2028e8,#0b1c24de);border-radius:7px;box-shadow:0 14px 40px #020b111c}.population-panel{width:285px;padding:21px 18px 14px;position:absolute;top:270px;left:32px}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.panel-heading h2{letter-spacing:1px;margin-top:7px;font-size:14px;font-weight:400}.tag{letter-spacing:1px;color:#8eacae;border:1px solid var(--border);border-radius:3px;padding:5px 7px;font-size:8px}.species-row{border-top:1px solid #a3c7bd0e;align-items:center;gap:9px;height:59px;display:flex}.species-glyph{color:var(--species);flex-shrink:0;place-items:center;width:39px;height:39px;display:grid}.species-glyph svg{width:37px;height:36px}.species-name{flex:1;min-width:0}.species-name span{letter-spacing:.2px;white-space:nowrap;font-size:11px;display:block}.species-name small{letter-spacing:.7px;color:#789399;margin-top:5px;font-size:8px;font-style:italic;display:block}.species-row>strong{color:var(--species);font-variant-numeric:tabular-nums;font-size:18px;font-weight:300}.add-button{border:1px solid var(--border);color:#91b3ac;border-radius:4px;place-items:center;width:22px;height:22px;margin-left:3px;padding:0;display:grid}.add-button:hover{background:#bce2c828}.chart{height:81px;margin:15px 0 8px;position:relative}.chart>svg{width:100%;height:51px;position:relative;overflow:visible}.chart-grid{background:repeating-linear-gradient(0deg,#9ec2c116 0 1px,#0000 1px 24px);position:absolute;inset:0 0 27px}.chart-label{color:#6d8d95;letter-spacing:1px;justify-content:space-between;margin-top:7px;font-size:7px;display:flex}.event-totals{color:#819da2;border-top:1px solid var(--border);gap:18px;padding:12px 0 4px;font-size:9px;display:flex}.event-totals b{color:#b4c9c5;margin-left:5px;font-weight:400}.panel-hint{letter-spacing:.1px;color:#66858e;margin-top:10px;font-size:8px}.right-column{flex-direction:column;align-items:stretch;gap:12px;width:250px;display:flex;position:absolute;top:126px;right:32px}.environment-toggle{letter-spacing:.5px;color:#a2c0bd;align-self:flex-end;align-items:center;gap:9px;padding:8px 0 8px 12px;font-size:10px;display:flex}.environment-toggle span{margin-left:28px}.environment-panel{padding:21px 20px 17px}.environment-panel .panel-heading{margin-bottom:25px}.environment-panel .panel-heading>svg{color:#a8bfa78a}.activity-title{justify-content:space-between;align-items:center;display:flex}.activity-title label{color:#b4c9c5;font-size:10px}.activity-title strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:300}.activity-title small{color:#92aaa7;margin-left:4px;font-size:10px}input[type=range]{appearance:none;accent-color:#b9dec5;cursor:pointer;background:#35514f;width:100%;height:3px;margin:20px 0 0}input[type=range]::-webkit-slider-thumb{appearance:none;background:#c3e4ca;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #c3e4ca13}input[type=range]::-moz-range-thumb{background:#c3e4ca;border:0;border-radius:50%;width:10px;height:10px}.range-label{color:#69888d;justify-content:space-between;margin-top:9px;margin-bottom:26px;font-size:8px;display:flex}.resource{margin-top:20px}.resource>div:first-child{justify-content:space-between;align-items:center;display:flex}.resource span{color:#9cb7b3;font-size:10px}.resource strong{font-variant-numeric:tabular-nums;font-size:13px;font-weight:400}.resource small{color:#69868b;font-size:7px}.resource-dot{vertical-align:middle;background:#bca586;border-radius:50%;width:4px;height:4px;margin-right:7px;display:inline-block}.resource-dot.microbes{background:#a5c8a3}.resource-track{background:#253c41;border-radius:2px;height:3px;margin-top:12px;overflow:hidden}.resource-track i{background:#a2c4a3;height:100%;transition:width .4s;display:block}.organic .resource-track i{background:#b59e7c}.environment-note{border-top:1px solid var(--border);letter-spacing:.6px;color:#708e94;margin-top:25px;padding-top:17px;font-size:9px;line-height:1.9}.world-caption{color:#90b1b4;letter-spacing:2px;pointer-events:none;align-items:center;gap:12px;font-size:8px;display:flex;position:absolute;bottom:86px;left:50%;transform:translate(-50%)}.world-caption i{background:#608b8b55;width:1px;height:12px}.bottom-bar{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;height:60px;display:flex;position:absolute;bottom:0;left:32px;right:32px}.system-status{letter-spacing:.4px;white-space:nowrap;color:#adc7c2;font-size:9px}.system-status small{color:#65868d;letter-spacing:1px;margin-left:20px;font-size:8px}.camera-hints{color:#63848e;white-space:nowrap;gap:22px;font-size:8px;display:flex}.camera-hints b{color:#a0b6b8;margin-left:5px;font-weight:400}.footer-buttons{align-items:center;gap:18px;display:flex}.footer-buttons button{color:#a1b9b6;align-items:center;gap:5px;padding:5px 0;font-size:9px;display:flex}.footer-buttons>span{border-left:1px solid var(--border);letter-spacing:1.2px;color:#65838d;padding-left:18px;font-size:8px}.icon-button{color:#86a6aa;place-items:center;width:24px;height:24px;padding:0;display:grid}.selection-panel{padding:16px 18px}.selection-panel .panel-heading{margin-bottom:10px}.selection-title{align-items:center;gap:10px;display:flex}.selection-title svg{width:38px;height:38px}.selection-title h2{font-size:11px;font-weight:400}.animal-state{gap:8px;margin:13px 0;display:flex}.animal-state span{color:#a7c8b7;background:#a9d9bd0e;border:1px solid #a9d9bd1a;border-radius:3px;padding:4px 6px;font-size:8px}dl{margin:16px 0;font-size:9px}dl>div{justify-content:space-between;margin:10px 0;display:flex}dt{color:#79969c}dd{color:#b7cac7;margin:0}.detail-meter{align-items:center;gap:10px;margin-top:12px;font-size:8px;display:flex}.detail-meter>span{color:#8eaaa9;width:45px}.detail-meter b{text-align:right;font-variant-numeric:tabular-nums;width:18px;font-weight:400}progress{appearance:none;background:#2a4347;border:0;flex:1;width:40px;height:3px}progress::-webkit-progress-bar{background:#2a4347}progress::-webkit-progress-value{background:#a7cebb}progress::-moz-progress-bar{background:#a7cebb}.guide{color:#cfdfda;background:#0d222b;border:1px solid #89b4ac40;border-radius:10px;width:min(540px,100vw - 32px);max-height:90dvh;padding:36px;overflow:auto;box-shadow:0 40px 180px #0009}.guide::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020e15bb}.modal-close{position:absolute;top:15px;right:15px}.guide h2{letter-spacing:1px;margin:18px 0;font-size:23px;font-weight:300}.guide p{color:#9eb7b5;font-size:12px;line-height:2}.guide-web{color:#bddbc3;background:#accbb708;border:1px solid #a9d9bd18;flex-direction:column;align-items:center;gap:6px;margin:20px 0;padding:18px;font-size:11px;display:flex}.guide-web b{color:#668e83;font-weight:400}.guide-controls{color:#77979e;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0;font-size:10px;display:grid}.guide-controls b{color:#c4d9ce;margin-left:8px;font-weight:400}.guide .muted,.muted{color:#729299;font-size:10px;line-height:1.8}.primary-button{background:#b4d8bb;border-radius:4px;justify-content:space-between;align-items:center;width:100%;margin-top:24px;padding:14px 18px;font-size:12px;display:flex;color:#102d2c!important}.primary-button:hover{background:#c3e8ca}.reset-dialog input{color:#d5e6d8;background:#102e36;border:1px solid #3c605e;border-radius:4px;width:100%;padding:12px}.seed-label{color:#9fbfb4;margin:22px 0 10px;font-size:11px;display:block}.error-banner,.scene-error{color:#d6e5dd;background:#172f3a;border:1px solid #a8c3bf;padding:25px;font-size:13px;line-height:2;position:absolute;top:45%;left:30%;right:30%}.scene-error{z-index:3}.error-banner{z-index:4}@media (height>=850px){.population-panel{top:290px}.species-row{height:64px}}@media (width<=1200px){.topbar{gap:20px;margin:0 24px}.brand{min-width:260px}.brand h1{letter-spacing:2px;font-size:16px}.brand p{font-size:7px}.hud-stats{gap:16px}.hud-stats i{margin:0}.hud-stats strong{font-size:20px}.hud-stats .vent-status strong{font-size:11px}.population-panel{width:270px;padding:18px 14px 13px;left:24px}.right-column{width:230px;right:24px}.location-label{left:28px}.camera-hints{gap:10px}.bottom-bar{left:24px;right:24px}.system-status small{display:none}}@media (height<=790px){.location-label{top:114px}.location-label h2{margin:10px 0;font-size:19px}.population-panel{top:225px}.species-row{height:50px}.population-panel .panel-heading{margin-bottom:10px}.chart{height:65px;margin-top:10px}.chart>svg{height:38px}.chart-grid{bottom:25px}.right-column{top:112px}.environment-panel{padding:16px}.environment-panel .panel-heading{margin-bottom:14px}.range-label{margin-bottom:17px}.environment-note{margin-top:18px;padding-top:12px}.bottom-bar{height:48px}.world-caption{bottom:70px}.selection-panel{padding:12px 16px}.selection-panel dl{margin:10px 0}}@media (width<=950px){.brand{min-width:210px}.brand h1{letter-spacing:1.5px;font-size:13px}.brand-icon{font-size:29px}.brand p{letter-spacing:1.6px;font-size:6px}.hud-stats{gap:12px}.hud-stats .vent-status,.hud-stats i:last-of-type{display:none}.time-controls{gap:7px}.speed-group button{padding:6px 9px}.population-panel{width:245px}.species-name span{font-size:10px}.species-row{gap:6px}.species-row>strong{font-size:16px}.species-glyph{width:31px}.right-column{width:210px}.camera-hints{display:none}.environment-note{font-size:8px}.resource span{font-size:9px}.location-label h2{letter-spacing:2px;font-size:18px}}@media (width<=650px){.app{min-height:750px}.topbar{flex-wrap:wrap;align-items:flex-start;gap:10px;height:122px;margin:0 16px;padding-top:19px}.brand{flex:1}.hud-stats{position:absolute;top:75px;left:0}.hud-stats>div{flex-direction:row;align-items:center;gap:9px}.hud-stats strong{font-size:18px}.hud-stats>div>span{font-size:9px}.time-controls{position:absolute;top:73px;right:0}.pause-button{width:28px;height:28px}.speed-group button{padding:4px 8px}.location-label{top:144px;left:20px}.location-label h2{font-size:18px}.location-label p{font-size:7px}.population-panel{width:220px;padding:14px 10px;top:auto;bottom:66px;left:16px}.species-row{height:42px}.species-name small{margin-top:3px;font-size:7px}.species-name span{font-size:9px}.species-glyph svg{width:28px}.species-glyph{width:27px}.species-row>strong{font-size:15px}.population-panel .panel-heading{margin-bottom:10px}.chart{display:none}.panel-hint{font-size:7px}.event-totals{gap:11px;margin-top:8px;font-size:8px}.right-column{gap:8px;width:172px;top:144px;right:16px}.environment-toggle{font-size:9px}.environment-toggle span{margin-left:9px}.environment-panel{padding:14px 12px}.environment-panel .panel-heading h2{font-size:11px}.environment-panel .panel-heading>svg{display:none}.environment-panel .eyebrow{font-size:7px}.resource span{font-size:8px}.resource strong{font-size:11px}.activity-title label{font-size:9px}.activity-title strong{font-size:18px}.environment-note,.world-caption{display:none}.selection-panel{padding:12px 10px}.selection-title{gap:3px}.selection-title h2{font-size:9px}.selection-title svg{width:29px;height:29px}.animal-state{flex-wrap:wrap;gap:3px}.animal-state span{font-size:7px}.selection-panel dl{font-size:8px}.detail-meter{gap:6px}.detail-meter>span{width:42px;font-size:7px}.bottom-bar{gap:5px;height:48px;left:16px;right:16px}.system-status{letter-spacing:0;font-size:7px}.footer-buttons{gap:10px}.footer-buttons button{font-size:8px}.footer-buttons>span{display:none}.guide{padding:28px 23px}.guide h2{font-size:20px}.guide p{font-size:11px}.error-banner,.scene-error{left:10%;right:10%}}.campaign-hud{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);z-index:2;background:#0a202bdf;border-radius:6px;align-items:center;gap:0;padding:10px 6px;display:flex;position:absolute;top:112px;left:50%;transform:translate(-50%)}.campaign-hud>button{text-align:left;border-right:1px solid var(--border);min-width:105px;padding:0 14px}.campaign-hud>button:last-child{border:0}.campaign-hud span{color:#86aaa8;margin-bottom:5px;font-size:8px;display:block}.campaign-hud strong{white-space:nowrap;font-size:19px;font-weight:300}.campaign-hud strong small{color:#87a9a3;font-size:8px}.campaign-hud progress{width:100%;height:2px;margin-top:6px;display:block}.campaign-hud>.campaign-menu-button{white-space:nowrap;min-width:0;padding:12px;font-size:10px}.campaign-drawer{z-index:6;width:420px;max-height:calc(100dvh - 260px);padding:20px 24px;position:absolute;bottom:85px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 20px 80px #0008}.drawer-heading{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.drawer-heading button{color:#92b7b4;font-size:20px}.campaign-drawer h2{margin-bottom:18px;font-size:16px;font-weight:300}.health-metric{margin:15px 0}.health-metric>div{justify-content:space-between;font-size:11px;display:flex}.health-metric b{color:#b6dfc5;font-weight:400}.health-metric progress{width:100%;height:3px;margin:9px 0;display:block}.health-metric small{color:#74969b;font-size:8px;line-height:1.7;display:block}.score-formula,.drawer-note{color:#8daea9;font-size:9px;line-height:1.9}.health-reasons{color:#d5bf94;padding-left:14px;font-size:10px;line-height:1.9}.intervention{border-top:1px solid var(--border);align-items:center;gap:14px;padding:13px 0;display:flex}.intervention>div{flex:1}.intervention strong{font-size:11px;font-weight:400;display:block}.intervention small{color:#789a9e;margin-top:5px;font-size:8px;line-height:1.8;display:block}.intervention button{color:#b4dfbf;white-space:nowrap;border:1px solid #a9d9bd48;border-radius:4px;width:59px;padding:9px;font-size:15px}.intervention button small{color:#b4dfbf;font-size:8px;display:inline}.intervention select{color:#bdd2ce;background:#102b34;border:1px solid #35595a;max-width:245px;margin-top:8px;padding:6px;font-size:9px;display:block}.storage-buttons{gap:14px;margin:22px 0;display:flex}.storage-buttons button{background:#a9d9bd1c;border:1px solid #a9d9bd55;border-radius:4px;flex:1;padding:12px;font-size:12px}.storage-message{color:#c5dba7;min-height:36px;font-size:11px;line-height:1.8}.campaign-result{z-index:4;width:430px;max-height:60dvh;padding:25px;position:absolute;bottom:115px;left:50%;overflow:auto;transform:translate(-50%)}.campaign-result h2{margin:13px 0;font-size:20px;font-weight:300;line-height:1.6}.campaign-result p{color:#9ebbb5;font-size:11px;line-height:1.9}.campaign-result .primary-button{margin-top:18px}.load-shortcut{text-align:center;color:#8dafa6;width:100%;padding-top:16px;font-size:10px;display:block}.result-stats{color:#c1d7c1;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0;font-size:10px;display:grid}.disaster-banner{color:#dbccab;z-index:3;background:#302c20e0;border:1px solid #d3b17650;border-radius:5px;width:max-content;max-width:calc(100vw - 600px);padding:12px 16px;font-size:11px;line-height:1.7;position:absolute;top:200px;left:50%;transform:translate(-50%)}.disaster-banner b{letter-spacing:1px;color:#e3c78c;margin-right:12px;font-size:9px}.disaster-banner small{color:#b4a887;margin-top:5px;font-size:9px;display:block}.disaster-banner.danger{background:#352526e8;border-color:#d87c7150}.low-health-warning{color:#ecc2a4;background:#442a2bd9;max-width:400px;padding:10px;font-size:10px;position:absolute;top:280px;left:50%;transform:translate(-50%)}.campaign-message{color:#a7c5b6;pointer-events:none;text-align:center;max-width:420px;font-size:9px;position:absolute;bottom:70px;left:50%;transform:translate(-50%)}.world-caption{display:none}.campaign-drawer .drawer-note{margin:8px 0 16px}@media (width<=1200px){.campaign-hud{padding:7px 2px;top:115px}.campaign-hud>button{min-width:85px;padding:0 9px}.campaign-hud>.campaign-menu-button{padding:9px;font-size:9px}.campaign-hud strong{font-size:16px}.disaster-banner{max-width:calc(100vw - 560px);top:195px}}@media (width<=950px){.campaign-hud{top:220px}.location-label h2{font-size:16px}.campaign-hud>button{min-width:75px;padding:0 7px}.campaign-hud>.campaign-menu-button{padding:8px 7px}.campaign-hud span{font-size:7px}.disaster-banner{max-width:calc(100vw - 500px);top:290px}.campaign-drawer,.campaign-result{width:375px;max-width:90vw}.low-health-warning{width:220px;top:375px}}@media (width<=650px){.campaign-hud{justify-content:center;top:230px;left:16px;right:16px;transform:none}.campaign-hud>button{min-width:70px}.campaign-hud>.campaign-menu-button{font-size:8px}.disaster-banner{width:auto;max-width:none;top:295px;left:16px;right:16px;transform:none}.campaign-result{bottom:90px}.campaign-drawer{max-height:65dvh;bottom:65px}.right-column{top:145px}.population-panel{display:none}.low-health-warning{top:385px}.campaign-message{width:85vw;bottom:55px}.location-label h2{letter-spacing:1px;font-size:14px}.campaign-hud strong{font-size:15px}}
