*{box-sizing:border-box} :root{font-family:Inter,Segoe UI,sans-serif;color:#dfebe5;background:#101d20;font-size:16px}body{margin:0}button,select,input{font:inherit}button,select{color:inherit;background:#263537;border:1px solid #40504c;border-radius:8px;padding:10px 12px}button{cursor:pointer;transition:background .15s, border-color .15s}button:hover{background:#3b5047;border-color:#a9ce80}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #c3e890;outline-offset:3px}button.active,.primary{background:#c7e59e;color:#172520;border-color:#c7e59e}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #33423e;gap:20px}.brand{display:flex;gap:12px;align-items:center;font-weight:750;letter-spacing:.15em}.mark{font-size:38px;color:#c7e59e}.brand small{display:block;font-size:10px;letter-spacing:.18em;font-weight:500;color:#91aaa0;margin-top:5px}.clock{display:flex;gap:15px;align-items:center}.clock strong{font-size:22px}.clock span{color:#a9beb4;font-variant-numeric:tabular-nums}.playback{display:flex;gap:8px}main{display:grid;grid-template-columns:290px 1fr;height:calc(100dvh - 86px);min-height:550px}aside{padding:25px 22px;overflow:auto;background:#162427}h1{font-family:Georgia,serif;font-size:29px;line-height:1.15;font-weight:400;margin:13px 0}.intro{font-size:14px;color:#a5b8ae;margin:0 0 28px}.section-label{font-size:11px;letter-spacing:.15em;color:#a6bdaf;font-weight:700}.tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.tools button{text-align:left;font-size:14px}.tools b{font-size:20px;margin-right:8px;font-weight:400}.help{font-size:14px;color:#a8b9b0;line-height:1.5;min-height:63px}.wide{width:100%;font-size:14px}.device{border-top:1px solid #364641;margin-top:20px;padding-top:20px}.device label{display:flex;justify-content:space-between;font-size:14px}.device input{width:100%;accent-color:#c7e59e}.device small{display:block;color:#94aa9d;font-size:12px;line-height:1.5}.stats{margin:25px 0;display:grid;gap:10px;font-size:14px}.stats div{display:flex;justify-content:space-between}.stats span{color:#9db1a7}.journal{border-top:1px solid #364641;padding-top:20px}.journal ol{list-style:none;padding:0}.journal li{font-size:12px;line-height:1.5;color:#a9bdb0;margin:9px 0}.journal li span{color:#c7e59e;margin-right:7px}#world{position:relative;min-width:0;overflow:hidden;background:#23342e}canvas{display:block;width:100%;height:100%;touch-action:none}.world-top{position:absolute;top:23px;left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none}.pill{border:1px solid #71806b55;background:#11221ac9;padding:9px 12px;border-radius:30px;font-size:11px;letter-spacing:.08em;color:#d1e7ba}.camera-bar{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:6px;background:#14251fe8;border:1px solid #53654e;border-radius:12px;white-space:nowrap}.camera-bar button{font-size:14px;border:0;background:transparent}.camera-bar button.active{background:#c7e59e}.camera-bar label{padding:0 10px;font-size:12px}.camera-bar input{accent-color:#c7e59e}.prototype{position:absolute;bottom:16px;width:100%;text-align:center;font-size:11px;color:#d1ddc5aa;pointer-events:none}#notice{position:absolute;top:78px;left:50%;transform:translateX(-50%);background:#14271fdf;border:1px solid #60735b;border-radius:8px;padding:10px 16px;font-size:14px;max-width:90%;text-align:center;pointer-events:none;opacity:0;transition:opacity .3s}.ant-info{position:absolute;right:24px;top:85px;background:#15251eee;padding:16px;border-radius:10px;border:1px solid #53654e;min-width:180px}.ant-info strong,.ant-info span{display:block;margin-bottom:8px}.ant-info span{font-size:14px;color:#c7e59e}.ant-info button{font-size:12px}dialog{color:#dfebe5;background:#192b2a;border:1px solid #607255;border-radius:18px;width:min(450px,92vw);padding:30px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#081613b8;backdrop-filter:blur(7px)}dialog h2{font:32px Georgia,serif;margin:15px 0}dialog p{font-size:14px;line-height:1.6;color:#adbfaf}dialog label{display:block;margin-top:18px;margin-bottom:8px;font-size:14px}dialog select{width:100%}dialog .fine{font-size:12px}dialog .primary{width:100%;margin-top:12px}.check input{accent-color:#c7e59e}.species-note{min-height:44px} @media(max-width:850px){header{padding:12px;height:auto;flex-wrap:wrap}.brand{font-size:14px}.clock strong{font-size:18px}.playback{margin-left:auto}main{grid-template-columns:210px 1fr;height:calc(100dvh - 110px)}aside{padding:20px 12px}h1{font-size:24px}.camera-bar{flex-wrap:wrap;justify-content:center;white-space:normal;width:90%}.camera-bar button{padding:8px}.world-top{left:12px;right:12px}.ant-info{right:12px}}@media(max-width:600px){header{gap:10px}.brand small{font-size:8px}.playback{width:100%;justify-content:center}.playback button,.playback select{font-size:14px;padding:7px}main{display:flex;flex-direction:column;height:auto;min-height:0}#world{height:62dvh;min-height:370px;order:0}aside{order:1}.intro,h1{display:none}.tools{grid-template-columns:repeat(3,1fr)}.help{min-height:0}.journal{display:none}.stats{margin:15px 0}.device{margin-top:12px;padding-top:12px}.world-top{top:12px}.camera-bar{bottom:36px}.prototype{bottom:10px;font-size:10px}.ant-info{top:60px;padding:10px}.ant-info strong{font-size:14px}}

.habitat-controls{display:grid;gap:9px;margin:16px 0}.habitat-controls label{font-size:14px;color:#b6c9bb}.habitat-controls select{width:100%;font-size:14px}.roof-control{display:flex;gap:8px;align-items:center}.roof-control input{accent-color:#c7e59e}

[hidden]{display:none!important}.choices label{font-size:14px;color:#b9cabb}.choices select{width:100%;margin-top:7px;font-size:14px}.growth-status{font-size:13px;color:#c7e59e}.fine-note{font-size:12px;line-height:1.5;color:#a2b7a7}#cutaway{position:absolute;inset:0;width:100%;height:100%;background:#182820}.camera-bar{max-width:95%;flex-wrap:wrap;justify-content:center;width:max-content}.camera-bar button{padding:8px 10px}#speciesSource{color:#c7e59e;font-size:12px}dialog{max-height:90dvh;overflow:auto}

#creativePanel{border:1px solid #8ca576;border-radius:10px;padding:12px;margin:16px 0;background:#26392b}#creativePanel summary{cursor:pointer;color:#d5edb4;font-weight:650}#creativePanel label{display:block;margin:10px 0;font-size:13px}#creativePanel select,#creativePanel input[type=number]{display:block;width:100%;margin-top:5px;background:#152822;color:#dfebe5;border:1px solid #53664e;border-radius:5px;padding:7px}#creativePanel input[type=range]{width:100%}#creativePanel button{font-size:12px;margin:4px 0;width:100%}#creativePanel p,#creativePanel small{font-size:12px;line-height:1.5;color:#b9cdb1}.creative-actions{display:flex;gap:6px}#creativePanel hr{border:0;border-top:1px solid #53664e;margin:15px 0}

.brain-note{max-width:230px;font-size:12px;line-height:1.5;color:#c5d4ba;margin:8px 0 12px}.ant-info{max-width:280px}

.excavation-controls{margin:18px 0;padding:12px;border:1px solid #476050;border-radius:8px}.excavation-controls label{display:block;font-size:13px;margin:7px 0}.excavation-controls input[type=range]{width:100%;accent-color:#c7e59e}.excavation-controls small{font-size:12px;color:#adbfaa;line-height:1.4;display:block}

.experiment-panel{border:1px solid #7b6548;border-radius:10px;padding:12px;margin:15px 0;background:#302d24}.experiment-panel summary{font-size:14px;cursor:pointer;color:#edcf98}.experiment-panel button{width:100%;font-size:13px;margin:4px 0}.experiment-panel p,.experiment-panel label{font-size:13px;line-height:1.5;display:block}.experiment-panel small{font-size:12px;color:#c3bda6;line-height:1.4;display:block}#fieldJournal{width:min(620px,94vw)}#fieldLog{padding-left:20px;max-height:42vh;overflow:auto;font-size:14px;line-height:1.7}#fieldJournal a{color:#c7e59e;font-size:13px}

.story-panel{padding:14px;margin:18px 0 24px;border:1px solid #92b977;border-radius:12px;background:#21362c}.story-panel summary{cursor:pointer;font-size:16px;color:#d8efb7;font-weight:650}.story-panel h2{font:22px Georgia,serif;margin:16px 0 8px}.story-panel p{font-size:14px;line-height:1.5}.story-panel .story-note{color:#adc2ab}.story-panel button{display:block;width:100%;margin:8px 0;font-size:14px}.story-panel button:disabled{opacity:.6;cursor:default}.story-panel progress{width:100%;accent-color:#c7e59e}#storyStatus{color:#c7e59e}

.save-controls{border-bottom:1px solid #40584b;padding-bottom:14px;margin-bottom:20px;display:flex;gap:8px;flex-wrap:wrap}.save-controls button{flex:1;font-size:14px;white-space:nowrap}.save-controls p{margin:0;font-size:14px;line-height:1.45;color:#b8cdba}.load-actions{display:flex;gap:10px;margin-top:20px}.load-actions button{flex:1;margin:0}#gameLayout.sidebar-collapsed{grid-template-columns:1fr}#gameLayout.sidebar-collapsed #habitatSidebar{display:none}#sidebarToggle{white-space:nowrap}@media(max-width:850px){.playback{flex-wrap:wrap}}

.gate-panel{padding:12px;border:1px solid #596c52;border-radius:10px;margin:16px 0}.gate-panel summary{cursor:pointer;font-size:16px;color:#d8ecbf}.gate-panel label{display:block;font-size:14px;margin-top:12px}.gate-panel select{display:block;width:100%;font-size:14px;margin-top:6px}.gate-panel p{font-size:14px;line-height:1.45;color:#b8cdba}.playback{flex-wrap:wrap}header{min-height:86px;height:auto;padding-top:12px;padding-bottom:12px}

#photoAlbum{width:min(980px,95vw);max-height:92dvh;padding:24px}.album-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.album-heading h2{margin:0 0 8px}.album-heading span{font-size:14px;color:#c7e59e}.album-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.album-actions button{font-size:14px}.album-actions button:disabled{opacity:.45;cursor:default}#albumImage{display:block;width:100%;max-height:48dvh;object-fit:contain;background:#0c1715;border-radius:8px}#photoCaption{color:#d9e6ca;font-size:16px;margin:10px 0}#albumEmpty{padding:40px 20px;text-align:center;border:1px dashed #79936b;border-radius:12px;margin:20px 0}#albumGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin-top:20px}.album-thumb{padding:5px;text-align:left;min-width:0}.album-thumb img{width:100%;height:100px;object-fit:cover;border-radius:4px;display:block}.album-thumb span{display:block;font-size:14px;padding:8px 4px;line-height:1.4}.album-thumb[aria-pressed=true]{outline:2px solid #c7e59e}.album-actions [aria-pressed=true]{background:#c7e59e;color:#172520}#albumStatus{min-height:2em;color:#c7e59e}@media(max-width:600px){#photoAlbum{padding:16px}.album-heading{align-items:flex-start}.album-heading h2{font-size:25px}.album-heading button{font-size:14px}.album-actions button{flex:1}#albumGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

#storyBook{width:min(780px,calc(100vw - 32px));height:min(850px,90dvh);max-height:90dvh;overflow:hidden}#storyBook[open]{display:flex;flex-direction:column}#storyBook>*{flex-shrink:0}#storyBook h2{margin:16px 0 12px}#storyBook #bookText{min-height:0;flex:1;overflow:auto;padding:0 18px 8px 0;line-height:1.8;font-size:18px;color:#e3ebdf}#bookText p{margin:0 0 1em;font-size:inherit}#bookProgress{margin:8px 0;color:#b7d28d}#readStory{width:100%;margin-bottom:8px}

#tubeHomePanel label{display:block;font-size:14px;margin:14px 0 7px}#tubeHomePanel progress{display:block;width:100%;height:12px;accent-color:#98cad9;margin:8px 0}#tubeHomePanel button,#tubeHomePanel select{width:100%;margin:5px 0;font-size:14px}#tubeWaterText{display:block;color:#badbea;font-size:14px}#tubeMilestones{font-size:14px;line-height:1.7;color:#c7e59e}#tubeCover[aria-pressed=true]{border-color:#a9ce80;background:#344b46}

.playback{flex-wrap:wrap;justify-content:flex-end}header{height:auto;min-height:86px;gap:12px}#nurseryLab{width:min(800px,94vw)}#nurseryStages{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.nursery-card{padding:16px;border:1px solid #6a8068;border-radius:12px;background:#203733}.nursery-card h3{font-size:20px;margin:0 0 10px}.nursery-card progress{width:100%;accent-color:#c7e59e}.nursery-card p{font-size:14px}#workerNickname{width:100%;padding:10px;color:#eef5e7;background:#203733;border:1px solid #61725c;border-radius:8px}#workerLab button{margin:6px 4px 0 0}#workerStatus{color:#c7e59e}@media(max-width:600px){#nurseryStages{grid-template-columns:1fr}.nursery-card{padding:12px}}
