@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{color-scheme:dark;--ink:#efecdf;--muted:#adb7a9;--lime:#d8e6a4;--forest:#17241f;--line:#ffffff1c;--pink:#eda7ba;--surface:rgba(22,34,29,.92)}
*{box-sizing:border-box}body{margin:0;background:#101b18;color:var(--ink);font:13px 'DM Sans',system-ui,sans-serif;overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:1px solid var(--line);background:transparent;border-radius:6px;padding:9px 12px;transition:background .15s,transform .15s}button:hover{background:#ffffff0b}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button:disabled{opacity:.4;cursor:default}button.active,button[aria-pressed=true]{background:var(--lime);color:#253024;border-color:var(--lime)}button[hidden],[hidden]{display:none!important}a{color:inherit}#game,#world,#vignette,#speech-layer{position:fixed;inset:0}#world canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}#vignette{pointer-events:none;box-shadow:inset 0 0 160px #0c141964;background:linear-gradient(180deg,#101c22a0,transparent 25%,transparent 75%,#101b18bb)}#speech-layer{pointer-events:none;overflow:hidden}.speech{position:absolute;transform:translate(-50%,-100%);width:max-content;max-width:165px;background:#edecdc;color:#26312a;padding:7px 10px;border-radius:9px 9px 9px 0;font-size:11px;box-shadow:0 4px 15px #0002}.speech.selected{border:1px solid var(--pink)}header{position:absolute;top:27px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-start;gap:18px;pointer-events:none}header>*{pointer-events:auto}.brand h1{font:39px/.91 'Instrument Serif',Georgia,serif;font-weight:400;margin:14px 0 0;letter-spacing:-1px}em{font-weight:400;color:var(--lime)}.house-link{font-size:11px;text-decoration:none;color:var(--muted);letter-spacing:.4px}.world-status{display:flex;align-items:center;gap:10px;margin-top:6px;flex-wrap:wrap;justify-content:center}.world-status button{padding:0;border:0;font-size:12px}.status-dot{height:5px;width:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px #d8e6a455}#world-time,#visitor{font-size:11px;color:var(--muted)}#visitor{color:var(--pink);width:100%;text-align:center}.top-actions{display:flex;gap:8px}.top-actions button{font-size:11px;background:#16231c88;padding:9px 12px}.panel{position:absolute;width:254px;background:var(--surface);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:12px;padding:19px;box-shadow:0 18px 55px #03090728}#workbench{left:30px;top:166px;max-height:calc(100dvh - 250px);overflow-y:auto;scrollbar-width:thin}#observer{right:30px;top:166px;max-height:calc(100dvh - 315px);overflow-y:auto;scrollbar-width:thin}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.7px;color:var(--muted)}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading button{padding:0 8px;font-size:22px}.panel h2{font:26px 'Instrument Serif',Georgia,serif;font-weight:400;margin:12px 0 8px}.muted{font-size:11px;line-height:1.65;color:var(--muted);margin:6px 0 17px}.ingredients{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.ingredient{padding:8px 1px 7px;display:flex;flex-direction:column;gap:4px;align-items:center;font-size:9px;border:1px solid #ffffff0c;background:#ffffff03}.ingredient .glyph{font-family:Georgia,serif;font-size:23px;line-height:26px;color:var(--seed-color)}.ingredient:hover{background:#ffffff0b;border-color:var(--seed-color)}.mix-head{margin-top:23px;display:flex;align-items:center;justify-content:space-between}.text-button{border:0;font-size:10px;padding:5px;color:var(--muted)}#mix{display:flex;gap:8px;margin:10px 0;min-height:39px}.mix-slot{flex:1;min-width:0;background:#ffffff04;border:1px dashed #ffffff24;border-radius:7px;display:flex;align-items:center;justify-content:center;color:#738476;font-size:23px}.mix-slot.filled{border-style:solid;color:var(--seed-color);background:#ffffff07}.mix-slot small{font-size:8px;margin-left:5px}#recipe-name{font:22px 'Instrument Serif',Georgia,serif;margin-top:15px}#recipe-desc{min-height:35px}.primary{background:var(--lime);color:#233122;border:0;font-weight:600;display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 15px;border-radius:7px}.primary:hover{background:#e2edbc}.secondary{padding:10px 13px;width:100%;font-size:12px}.wide{width:100%;padding:10px 0}.bench-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:6px;padding-top:12px}.bench-bottom button{border:0;font-size:10px;padding:3px 0}#library-count{color:var(--lime);margin-left:4px}.tabs{display:flex;gap:3px;margin:17px 0}.tabs button{flex:1;border:0;font-size:10px;padding:6px 2px;border-radius:4px}.tabs .active{background:#ffffff0e;color:var(--ink)}.empty-glyph{font-size:46px;color:#8b9e8b;text-align:center;margin:24px 0 14px}#empty-inspect{text-align:center;padding-bottom:7px}#empty-inspect h2{font-size:24px}.specimen-kind{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:var(--pink)}.specimen-name{font:29px 'Instrument Serif',serif;margin:6px 0 5px}.specimen-meta{font-size:10px;color:var(--muted);margin-bottom:17px}.meter-row{margin:10px 0;font-size:10px}.meter-row>div{display:flex;justify-content:space-between;margin-bottom:5px}.meter{height:3px;background:#ffffff12;border-radius:4px;overflow:hidden}.meter i{display:block;background:var(--lime);height:100%}.memory{font-family:'Instrument Serif',Georgia,serif;font-size:20px;color:#d1d9bd;line-height:1.2;border-left:1px solid #d8e6a444;margin:18px 0;padding:0 0 0 12px}select,input,textarea{background:#0e1b15;border:1px solid #ffffff26;border-radius:6px;padding:10px;color:var(--ink);max-width:100%}select{width:100%;font-size:11px}.control-label{display:block;font-size:10px;color:var(--muted);margin:16px 0 5px}.specimen-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px}.specimen-actions button{font-size:10px;padding:8px 4px}.note{border-bottom:1px solid var(--line);padding:10px 0}.note time{display:block;font-size:9px;color:#8c9e8f;margin-bottom:5px}.note p{font:17px/1.3 'Instrument Serif',Georgia,serif;margin:0}.note.milestone p,.note.transformation p{color:var(--lime)}.goal{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.goal>span{color:#657464}.goal.earned>span{color:var(--lime)}.goal strong{font-size:11px;font-weight:500}.goal p{font-size:10px;color:var(--muted);margin:4px 0;line-height:1.5}#counts{position:absolute;left:50%;top:78px;transform:translateX(-50%);display:flex;gap:22px;font-size:10px;color:#b5c2b5;white-space:nowrap}#counts b{font-weight:500;color:var(--ink);font-size:15px;margin-right:4px}.bottom-ui{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:9px;max-width:calc(100% - 40px)}.time-controls{display:flex;align-items:center;gap:2px;background:#122019ca;border:1px solid #ffffff12;padding:4px;border-radius:7px}.time-controls button{border:0;padding:5px 10px;font-size:11px}.divider{height:12px;border-left:1px solid #ffffff25;margin:0 5px}.tool-tray{display:flex;gap:3px;background:var(--surface);border:1px solid var(--line);padding:6px;border-radius:10px;backdrop-filter:blur(15px);box-shadow:0 8px 35px #0003}.tool-tray button{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:9px;border:0;min-width:52px;padding:8px 10px}.tool-tray button>span{font:23px/1 Georgia,serif}.bottom-caption{display:flex;gap:24px;font-size:9px;color:#a1b1a3;white-space:nowrap}#toast{position:absolute;left:50%;bottom:190px;transform:translateX(-50%) translateY(6px);max-width:min(440px,90vw);background:#e8ecd7;color:#233227;padding:11px 20px;border-radius:8px;font:18px/1.3 'Instrument Serif',Georgia,serif;box-shadow:0 12px 40px #0003;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;text-align:center}#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}#guidance{position:absolute;left:50%;top:115px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px 16px;background:#dde7b9;color:#283529;border-radius:8px;font-size:12px;max-width:90vw}#guidance button{color:#455740}.overlay{position:fixed;inset:0;display:grid;place-items:center;background:#101d18c9;backdrop-filter:blur(7px);z-index:10}.intro-card{width:390px;max-width:calc(100% - 36px);text-align:center;padding:26px 22px}.intro-symbol{font-size:51px;color:var(--lime);margin:22px 0 12px}.intro-card h2{font:56px/.97 'Instrument Serif',Georgia,serif;margin:0;letter-spacing:-1px}.intro-card p{font-size:13px;line-height:1.8;color:#bdc6b4;margin:24px 0}.intro-card .primary{margin-bottom:10px}.intro-card small{display:block;font-size:9px;color:#9eaa99;margin-top:24px}dialog{color:var(--ink);background:#1a2922;border:1px solid #ffffff24;box-shadow:0 30px 130px #0006;border-radius:14px;padding:25px;max-width:580px;width:calc(100% - 34px);max-height:85dvh;overflow:auto}dialog::backdrop{background:#08110ca6;backdrop-filter:blur(5px)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:15px}.modal-header h2{font:32px 'Instrument Serif',Georgia,serif;font-weight:400;margin:0}.modal-header button{border:0;font-size:23px;padding:3px 8px}#modal-content p{color:#bfc9bb;font-size:12px;line-height:1.65}#modal-content h3{font-size:12px;margin-top:24px}#modal-content textarea{width:100%;min-height:90px;resize:vertical;font-size:12px}#modal-content .actions{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}#modal-content label{display:flex;align-items:center;gap:10px;font-size:12px;margin:17px 0}.library-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.discovery-card{text-align:left;display:flex;flex-direction:column;gap:8px;padding:15px}.discovery-card strong{font:24px 'Instrument Serif',Georgia,serif;font-weight:400}.discovery-card small{font-size:10px;color:var(--muted)}.glyphs{font:25px Georgia,serif;color:var(--pink)}#fatal{position:fixed;inset:0;z-index:30;padding:20vh 15vw;background:#17251f;color:var(--ink);font-size:18px;line-height:1.8}.mobile-only,.tool-tray .mobile-only{display:none}.recording{color:#f3a0aa!important;border-color:#f3a0aa88!important}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:#a2b59533;border-radius:4px}
@media(min-width:1600px){#workbench{left:45px;top:185px;width:275px}#observer{right:45px;top:185px;width:275px}.ingredients{gap:8px}.ingredient{padding:12px 2px}header{left:45px;right:45px}.panel{padding:23px}}
@media(max-height:780px) and (min-width:901px){#workbench,#observer{top:141px}.panel{padding:14px}#workbench{max-height:calc(100dvh - 165px)}#observer{max-height:calc(100dvh - 310px)}.panel h2{margin:9px 0 5px}.muted{margin-bottom:10px}.mix-head{margin-top:14px}.brand h1{font-size:33px}.bottom-ui{bottom:14px}.ingredient{padding:5px 1px}.bench-bottom{padding-top:9px}}
@media(max-width:1100px){.panel{width:224px;padding:15px}#workbench{left:18px}#observer{right:18px}header{left:22px;right:22px}.top-actions{gap:4px}.top-actions button{padding:8px;font-size:10px}#counts{gap:12px}.tool-tray button{min-width:44px;padding:8px}.bottom-caption{font-size:8px}}
@media(max-width:900px){.mobile-only,.tool-tray .mobile-only{display:flex}.brand h1{font-size:31px;margin-top:12px}.world-status{position:absolute;top:92px;left:0;margin:0;justify-content:flex-start;font-size:10px}.world-status button{font-size:11px}header{top:17px;left:18px;right:18px}.top-actions{margin-top:1px}.top-actions button{padding:8px;font-size:10px}#counts{top:121px;right:18px;left:auto;transform:none;gap:12px;font-size:9px}#counts b{font-size:12px}#observer,#workbench{display:none;top:auto;bottom:174px;left:12px;right:12px;width:auto;max-height:48dvh;z-index:5;padding:17px}#observer.open,#workbench.open{display:block}#workbench.open{display:grid;grid-template-columns:1fr 1fr;column-gap:17px}#workbench .panel-heading,#workbench>h2,#workbench>h2+p{grid-column:1/-1}#workbench>h2{margin:4px 0}#workbench>h2+p{margin-bottom:8px;font-size:10px}#ingredients{grid-column:1;grid-row:4/9;align-content:start}.ingredient{padding:10px 0}.mix-head{grid-column:2;margin:0}#mix{grid-column:2;margin:6px 0}#recipe-name{grid-column:2;font-size:19px;margin:0}#recipe-desc{grid-column:2;font-size:10px;min-height:0;margin:5px 0}#plant-mode{grid-column:2;font-size:11px;padding:10px}#plant-center{grid-column:2;font-size:9px;padding:7px 0}.bench-bottom{grid-column:1/-1}.tool-tray{width:100%;justify-content:center;gap:0;padding:5px 3px}.tool-tray button{min-width:0;flex:1;padding:9px 7px;font-size:9px}.tool-tray [data-tool=plant]{display:none}.bottom-ui{width:calc(100% - 24px);max-width:560px;bottom:max(13px,env(safe-area-inset-bottom));gap:9px}.bottom-caption{white-space:normal;text-align:center}.bottom-caption>span:last-child{display:none}.time-controls button{padding:7px 12px}#toast{bottom:185px;width:max-content;max-width:calc(100% - 32px);z-index:8;font-size:17px}#guidance{top:152px;font-size:11px;width:max-content;max-width:calc(100% - 36px);z-index:6}.panel h2{font-size:24px}.speech{max-width:135px;font-size:10px}}
@media(max-width:420px){.top-actions #sound{max-width:47px;font-size:9px;line-height:1.25;padding:6px}.top-actions button{font-size:9px;padding:7px}.brand h1{font-size:29px}#counts{top:150px;left:18px;right:auto}.world-status{top:104px}#workbench.open{column-gap:11px;padding:14px}#ingredients{gap:3px;grid-template-columns:repeat(4,1fr)}.ingredient .glyph{font-size:21px}.ingredient{font-size:8px}.mix-slot small{display:none}.tool-tray button{padding:9px 5px;font-size:8px}#guidance{top:180px}.intro-card h2{font-size:48px}.intro-symbol{margin-top:15px}.library-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

@media(pointer:coarse){.time-controls button{min-height:44px;min-width:36px}#plant-center{min-height:44px}.mix-slot{min-height:44px}.ingredient{min-height:54px}}