:root { --foreground:#26362e; color-scheme:light; }
* { box-sizing:border-box; }
html,body { margin:0; padding:0; background:transparent; color:var(--foreground); font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body { padding:18px; }
.viz-row,.viz-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; }
strong { font-weight:600; }
.text-small { font-size:13px; color:#58665e; }
.form-label { display:flex; flex-wrap:wrap; align-items:center; gap:8px; max-width:100%; }
.form-select,.btn { font:inherit; min-height:44px; border:1px solid #aab6ad; border-radius:6px; background:#fff; color:#26362e; padding:8px 12px; max-width:100%; }
.btn { cursor:pointer; }
.btn-primary { background:#294c3b; color:#fff; border-color:#294c3b; }
.btn:hover { filter:brightness(.94); }
.btn:focus-visible,.form-select:focus-visible,.form-range:focus-visible { outline:3px solid #c58b4d; outline-offset:3px; }
.form-range { accent-color:#294c3b; width:140px; max-width:100%; min-height:32px; cursor:pointer; }
#sm-stage { width:100%; height:470px; position:relative; }
#sm-stage canvas { display:block; width:100%; height:100%; touch-action:none; }
#sm-stage[role="alert"] { display:flex;align-items:center;justify-content:center; padding:24px; }
#sauna-model-study { width:100%; }
#sauna-model-study .viz-controls { margin-top:12px; }
#sm-detail { margin-top:16px; min-height:48px; }
@media(max-width:480px) { body{padding:12px}#sm-stage{height:360px}.form-label{width:100%}.form-select{min-width:0;flex:1} }

/* Page design skin; geometry is unchanged. */
:root{color-scheme:dark;--foreground:#f4f3ef}html,body{color:#f4f3ef;background:#202224}body{padding:20px}
.text-small,header p,.controls span{color:#c4c5c5}.btn,.form-select,button,select{color:#f4f3ef;background:#2b2e30;border-color:#676b6d;border-radius:0}.btn-primary,button[aria-pressed=true]{background:#f4f3ef;color:#202224;border-color:#f4f3ef}.form-range{accent-color:#ddd}.viz-row strong,header h1{font-weight:400}
