:root{color-scheme:light;--ink:#2e4d3a;--green:#6b8f75;--muted:#6d796f;--line:rgba(68,91,70,.17);--panel:rgba(247,248,244,.92);--rail:rgba(47,64,49,.86);--radius:14px;font-family:'Segoe UI','Yu Gothic UI',Meiryo,sans-serif;color:var(--ink);font-size:13px}
.ambient-track{margin-top:16px}.ambient-track .endpoints{margin-top:10px}.ambient-track-status{margin:4px 0;font-size:11px}#panel-environment{max-height:calc(100dvh - 174px);overflow:auto}
*{box-sizing:border-box}body{margin:0;background:#fafafa;overflow:hidden}canvas{display:block;touch-action:none}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:rgba(238,242,235,.8);border-radius:9px;padding:9px 12px;transition:background .16s,border-color .16s}button:hover{background:#e3eadf}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #628870;outline-offset:3px}button[aria-pressed=true]{background:#617965;border-color:#617965;color:#fff}a{color:#53765b}svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.55;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}button svg{pointer-events:none}[hidden]{display:none!important}
#ui{position:fixed;inset:0;pointer-events:none;z-index:10}#ui nav,#ui .panel{pointer-events:auto}#caption{position:absolute;left:30px;top:25px;max-width:calc(100% - 60px)}h1{font-family:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif;font-weight:500;font-size:29px;letter-spacing:.07em;margin:7px 0 8px;line-height:1.4}.overline{font-size:9px;letter-spacing:.2em;font-weight:500;color:var(--muted);margin:0}.subtitle{font-size:12px;letter-spacing:.035em;color:var(--muted);margin:0}
.glass-rail{position:absolute;left:28px;top:151px;width:166px;padding:8px;border:1px solid rgba(220,230,212,.4);border-radius:var(--radius);background:var(--rail);backdrop-filter:blur(16px);box-shadow:0 7px 30px #15251816;color:#f5f7f1;display:flex;flex-direction:column;gap:2px}.glass-rail button{border:0;background:transparent;color:inherit;border-radius:8px;display:flex;align-items:center;gap:13px;min-height:44px;padding:10px 13px;text-align:left}.glass-rail button:hover,.glass-rail button[aria-expanded=true]{background:rgba(215,231,206,.15)}.glass-rail .rail-mode{min-height:32px;font-size:11px;opacity:.8;margin-bottom:5px;border-bottom:1px solid #ffffff1c;border-radius:0;padding-top:4px;padding-bottom:9px}.rail-mode svg{width:19px;height:19px}.nav-item svg{flex:none}.nav-item .menu-label{font-size:13px;letter-spacing:.025em}
#panel-stack{position:absolute;left:208px;top:151px;width:286px}.panel{border:1px solid var(--line);border-radius:var(--radius);padding:19px;background:var(--panel);backdrop-filter:blur(18px);box-shadow:0 7px 30px #1d302010}.panel[data-pane]{max-height:calc(100dvh - 174px);overflow:auto;overscroll-behavior:contain}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px}.panel h2{margin:0;font-size:16px;letter-spacing:.035em;font-weight:500}.icon-button{padding:5px;border:0;background:transparent;display:grid;place-items:center;border-radius:7px}.icon-button svg{width:19px;height:19px}.help{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0 17px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.wide-button{width:100%;margin-top:7px}.secondary{background:transparent}.divider{height:1px;background:var(--line);margin:19px 0}.choice-list{display:flex;flex-direction:column;gap:8px}.language-options{display:flex;gap:8px;flex-wrap:wrap}.language-options button{flex:1;white-space:nowrap}.endpoints{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.slider-block+.slider-block{margin-top:18px}output{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted)}input[type=range]{display:block;width:100%;accent-color:#6b8f75;cursor:pointer;margin:13px 0 8px}.text-button{padding:2px 7px;font-size:10px;background:transparent;border-color:transparent}
.switch{position:relative;display:block;width:36px;height:21px;flex:none;cursor:pointer}.switch input{appearance:none;position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer;border-radius:20px}.switch-track{pointer-events:none;position:absolute;inset:0;border-radius:20px;background:#c6cec3;border:1px solid #75877340;transition:background .15s}.switch-track:after{content:'';position:absolute;width:15px;height:15px;top:2px;left:2px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #283b2733;transition:transform .15s}.switch input:checked+.switch-track{background:#6b8f75}.switch input:checked+.switch-track:after{transform:translateX(15px)}
.display-control-group h2{margin-bottom:14px}.display-control-group .row+.row{margin-top:12px}.display-control-group .help{margin-bottom:0}.display-control-group select{max-width:62%;font:inherit}.switch input:disabled{cursor:not-allowed}.switch input:disabled+.switch-track{opacity:.4}
#creature-card{position:absolute;right:24px;bottom:24px;width:280px;max-width:calc(100% - 48px);max-height:60dvh;overflow:auto}#creature-card h2{margin:12px 20px 5px 0;font-size:17px}#creature-card p{font-size:12px;line-height:1.8;margin:13px 0}#creature-card small{font-size:10px;color:var(--muted)}#creature-close{position:absolute;right:10px;top:10px}#creature-feature{border-top:1px solid var(--line);padding-top:12px}#creature-source{display:inline-block;font-size:10px;margin-top:12px}
body[data-ui-mode=collapsed] #caption,body[data-ui-mode=collapsed] #panel-stack{display:none}body[data-ui-mode=collapsed] .glass-rail{width:56px;left:20px;top:24px;padding:6px}body[data-ui-mode=collapsed] .glass-rail button{justify-content:center;padding:10px 0}body[data-ui-mode=collapsed] .menu-label{display:none}body[data-ui-mode=hidden] #ui{display:none}#restore-ui{position:fixed;left:16px;bottom:16px;z-index:20;width:30px;height:30px;color:#4d6955;background:#f7f8f4c9;opacity:.5;border:1px solid #58705320}#restore-ui:hover,#restore-ui:focus-visible{opacity:1}body.capture #ui,body.capture #restore-ui{display:none!important}
#startup{position:fixed;top:46%;left:50%;transform:translateX(-50%);padding:18px 25px;background:var(--panel);border-radius:14px;z-index:30;color:var(--muted)}#startup.error{color:#913c30}
@media(max-height:670px){#caption{top:18px}h1{font-size:25px;margin:3px 0}#navigation,#panel-stack{top:118px}.panel[data-pane]{max-height:calc(100dvh - 135px)}}
@media(max-width:650px){#caption{left:18px;top:19px}h1{font-size:24px}#navigation{left:12px;top:127px;width:132px;padding:6px}.glass-rail button{padding:9px 10px;gap:9px;min-height:42px}.nav-item .menu-label{font-size:11px}#panel-stack{left:151px;top:127px;width:calc(100% - 163px)}.panel{padding:13px}.panel h2{font-size:14px}.panel-heading{margin-bottom:12px}.panel[data-pane]{max-height:calc(100dvh - 140px)}#creature-card{right:12px;bottom:12px;width:242px;max-width:calc(100% - 24px)}.help{font-size:11px}.row{gap:6px}.endpoints{font-size:9px}.language-options{flex-direction:column}}
body{--dock-height:206px}body[data-adjustments=collapsed]{--dock-height:32px}body[data-ui-mode=hidden]{--dock-height:0px}
.weather-controls{grid-column:1/-1;border-top:1px solid var(--line);padding-top:8px;font-size:11px}
.weather-buttons{display:flex;gap:6px;margin-top:6px}.weather-buttons button{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#edf2ec;flex:1;white-space:nowrap}.weather-buttons button[aria-pressed=true]{background:#526e5b;color:white}
#adjustment-sliders{row-gap:10px!important}
.day-clock-controls{display:flex;gap:8px;align-items:center;margin-top:6px}
.day-clock-controls button,.day-clock-controls select{font:inherit;font-size:11px;color:inherit;border:1px solid var(--line);border-radius:8px;background:#edf2ec;padding:5px 8px;cursor:pointer}
.day-clock-controls button{flex:1}.day-clock-controls button[aria-pressed=true]{background:#dce7db}
.season-controls{margin-bottom:20px}.season-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:8px 0 10px}.season-buttons button{padding:7px 3px;font-size:11px}.season-controls output{display:block}.season-controls .help{margin-bottom:0}
#world{position:fixed;inset:0;overflow:hidden}
#adjustment-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;width:min(520px,calc(100% - 28px));height:var(--dock-height);pointer-events:auto;background:rgba(247,248,244,.88);border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(18px);box-shadow:0 4px 22px #15251815;display:flex;flex-direction:column;align-items:center;padding:0 20px 10px}
body[data-adjustments=collapsed] #adjustment-dock{width:auto;min-width:145px;padding:0 12px}
#adjustments-toggle{padding:5px 18px;min-height:30px;font-size:11px;background:transparent;border:0}
#adjustment-sliders{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:25px}
#adjustment-sliders .slider-block{margin:0}#adjustment-sliders input{margin:6px 0 4px}#adjustment-sliders .endpoints{font-size:11px}#adjustment-sliders output{font-size:12px}
#creature-card{bottom:calc(var(--dock-height) + 34px)}.panel[data-pane]{max-height:calc(100dvh - 174px - var(--dock-height))}
@media(max-width:650px){body{--dock-height:262px}#adjustment-sliders{grid-template-columns:1fr;gap:9px}#adjustment-dock{width:min(370px,calc(100% - 28px));padding:0 16px 9px;bottom:10px}.panel[data-pane]{max-height:calc(100dvh - 155px - var(--dock-height))}}
@media(max-height:670px) and (min-width:651px){.panel[data-pane]{max-height:calc(100dvh - 135px - var(--dock-height))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#animal-controls>summary{font-size:14px;font-weight:500;cursor:pointer;padding:4px 0}
.animal-section{border-top:1px solid var(--line)}.animal-section>summary{cursor:pointer;padding:11px 3px;font-size:13px}.animal-section[open]>summary{color:#49664e}.animal-content{padding:3px 2px 7px}.animal-content .row{font-size:12px}.animal-content .help{margin-bottom:4px}summary:focus-visible{outline:2px solid #6b8f75;outline-offset:3px}
