:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--panel-bg:#161b22;--border:#30363d;--text:#c9d1d9;--text-muted:#8b949e;--accent:#5ad1ff;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0}#app{flex-direction:column;height:100vh;display:flex}#app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}#app-header-text{min-width:0}#app-header h1{color:var(--accent);margin:0;font-size:22px}#app-header .subtitle{color:var(--text-muted);margin:2px 0 0;font-size:13px}#header-lang-wrapper{flex-shrink:0}#header-lang-wrapper select{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#21262d;border-radius:6px;padding:5px 8px;font-size:12px}#app-main{flex:1;min-height:0;display:flex}#sim-canvas{flex:1;width:100%;height:100%;display:block}#canvas-stack{flex:1;min-width:0;position:relative}#canvas-stack canvas{width:100%;height:100%;display:none;position:absolute;inset:0}#canvas-stack canvas.active{display:block}.rendering-stats-overlay{color:#c9d1d9;white-space:pre;pointer-events:none;z-index:5;background:#0d1117bf;border:1px solid #c9d1d938;border-radius:6px;margin:0;padding:8px 10px;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;position:absolute;top:10px;left:10px}#creature-inspector{color:#c9d1d9;white-space:pre;pointer-events:none;z-index:5;text-align:left;background:#0d1117c7;border:1px solid #c9d1d938;border-radius:6px;min-width:26ch;margin:0;padding:8px 12px;font:13px/1.4 ui-sans-serif,system-ui,sans-serif;position:absolute;bottom:16px;left:16px}.hud-speed{text-align:right;font-variant-numeric:tabular-nums;min-width:7ch;display:inline-block}.hud-pov-btn{color:#c9d1d9;cursor:pointer;pointer-events:auto;background:#ffffff14;border:1px solid #c9d1d959;border-radius:4px;margin-top:6px;padding:3px 10px;font:12px/1.4 ui-sans-serif,system-ui,sans-serif;display:block}.hud-pov-btn:hover{background:#ffffff29;border-color:#c9d1d999}#control-panel{border-left:1px solid var(--border);background:var(--panel-bg);flex-shrink:0;width:300px;padding:16px;transition:width .15s,padding .15s;overflow-y:auto}#control-panel-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}#control-panel h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:15px}#control-panel-toggle{width:26px;height:26px;color:var(--text);border:1px solid var(--border);cursor:pointer;background:#21262d;border-radius:6px;flex-shrink:0;padding:0;font-size:13px;line-height:1}#control-panel-toggle:hover{background:#30363d}#control-panel.collapsed{width:44px;padding:16px 8px;overflow:hidden}#control-panel.collapsed #control-panel-header{justify-content:center;margin-bottom:0}#control-panel.collapsed h2,#control-panel.collapsed #control-panel-body{display:none}#control-panel.collapsed #control-panel-toggle{transform:rotate(180deg)}.control-row{margin-bottom:14px}.control-section{border:1px solid var(--border);background:#1c2128;border-radius:6px;margin-bottom:14px}.control-section summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;padding:8px 10px;font-size:13px;font-weight:600;list-style:none}.control-section summary::-webkit-details-marker{display:none}.control-section summary:before{content:"▸";margin-right:6px;transition:transform .15s;display:inline-block}.control-section[open]>summary:before{transform:rotate(90deg)}.control-section[open]>summary{border-bottom:1px solid var(--border)}.control-section-body{padding:12px 10px 2px}.population-group,.control-subsection{border:1px solid var(--border);border-radius:4px;margin-bottom:12px;padding:8px 8px 0}.control-subsection-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;font-size:11px;font-weight:600}.control-label-row{justify-content:space-between;margin-bottom:4px;font-size:13px;display:flex}.control-value{color:var(--accent);font-variant-numeric:tabular-nums}.control-row input[type=range]{width:100%}.control-row select{width:100%;color:var(--text);border:1px solid var(--border);background:#21262d;border-radius:6px;padding:6px 8px;font-size:13px}.control-checkbox-row{align-items:center;gap:8px;display:flex}.control-checkbox-row label{margin:0;font-size:13px}.control-row-disabled{opacity:.45}.control-row-disabled label,.control-row-disabled .control-value{cursor:not-allowed}.control-buttons{flex-wrap:wrap;gap:8px;margin:16px 0;display:flex}.control-buttons button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#21262d;border-radius:6px;flex:auto;padding:8px 10px;font-size:13px}.control-buttons button:disabled{cursor:not-allowed;opacity:.45}.control-buttons button:hover{background:#30363d}.control-buttons button:disabled:hover{background:#21262d}@keyframes button-pulse-flash{0%{background:var(--accent);color:#06202b}to{color:var(--text);background:#21262d}}.control-buttons button.button-pulse{animation:.5s ease-out button-pulse-flash}@media (hover:none) and (pointer:coarse){#control-panel-toggle{width:44px;height:44px;font-size:16px}#control-panel.collapsed{width:60px}.control-checkbox-row{gap:12px;min-height:44px}.control-checkbox-row input[type=checkbox]{width:22px;height:22px}.control-buttons button{min-height:44px;padding:10px 12px;font-size:14px}.control-section summary{align-items:center;min-height:44px;padding:12px 10px;display:flex}.control-row select{min-height:44px;padding:10px 8px}.control-row input[type=range]{height:28px}.control-row input[type=range]::-webkit-slider-thumb{width:24px;height:24px}.control-row input[type=range]::-moz-range-thumb{width:24px;height:24px}}@media (width<=750px){#app-main{position:relative}#control-panel{z-index:5;max-width:85vw;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #00000073}}@media (height<=500px){#app-header{padding:6px 14px}#app-header h1{font-size:16px}#app-header .subtitle{display:none}}@media (width<=750px){.rendering-stats-overlay{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;line-height:1.3;right:70px}}
