:root{--hud-text:#f0f4ed;--hud-muted:#c1cbbd;--hud-panel:#1d2923d9;--hud-head:#27392f9e;--hud-field:#ffffff0a;--hud-stroke:#ffffff3d;--hud-segment:#00000025;--hud-glass:radial-gradient(ellipse at 12% 0%,#ffffff36,transparent 60%),linear-gradient(150deg,#ffffff16,transparent 43%,#ffffff12),#23342c70;--hud-shadow:inset 0 1px 1px #ffffff70,inset 0 -1px 1px #ffffff16,inset 1px 0 0 #ffffff22,0 10px 30px #00000026,0 1px 4px #00000014}
:root[data-theme=light]{color-scheme:light;--hud-text:#1c2923;--hud-muted:#4e6054;--hud-panel:#f0f5f0e5;--hud-head:#f8fcf6b3;--hud-field:#ffffff6b;--hud-stroke:#ffffffab;--hud-segment:#243a2b12;--hud-glass:radial-gradient(ellipse at 12% 0%,#ffffffc2,transparent 62%),linear-gradient(150deg,#ffffff54,transparent 43%,#ffffff42),#e9f4e6a1;--hud-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #ffffff85,inset 1px 0 0 #ffffffa0,0 10px 32px #10251924,0 1px 4px #10251912}
header{grid-template-columns:1fr auto}.site-nav,.chapters,#config-toggle,.backdrop-controls,.footer-tools{background:var(--hud-glass);color:var(--hud-text);border:1px solid var(--hud-stroke);border-bottom-color:#ffffff24;box-shadow:var(--hud-shadow);-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%)}
.site-nav a,.site-nav .contact-link span,#config-toggle span{color:var(--hud-text)}.site-nav a[aria-current]{background:var(--hud-field);box-shadow:inset 0 1px 0 #ffffff60,0 2px 8px #0000000d}.site-nav a:hover{background:var(--hud-field)}.chapters a{color:var(--hud-text)}.chapters a span{opacity:.65;color:inherit}.chapters a[aria-current]{background:#f5f8f1ed;color:#1c2923;box-shadow:inset 0 1px 1px #fff,0 2px 8px #0002}.chapters a[aria-current] span{color:inherit}.chapters a:hover:not([aria-current]){background:var(--hud-field)}
#config-panel{background:linear-gradient(140deg,#ffffff16,transparent 55%),var(--hud-panel);color:var(--hud-text);border-color:var(--hud-stroke);box-shadow:var(--hud-shadow)}.config-heading{background:var(--hud-head);color:var(--hud-text)}.config-heading button,.room-top button{background:var(--hud-field);color:var(--hud-text);border-color:var(--hud-stroke)}#config-panel legend,.range-label output{color:var(--hud-muted)}.config-options{background:var(--hud-segment)}.config-options button{color:var(--hud-text)}.config-options button[aria-pressed=true]{background:#f5f8f1ed;color:#1c2923}.config-options button:hover:not([aria-pressed=true]){background:var(--hud-field)}#config-reset{color:var(--hud-text);background:var(--hud-field);border-color:var(--hud-stroke);margin-top:18px}.rug-control{border-color:var(--hud-stroke)}#light-level{accent-color:#b8d0b6}.backdrop-controls>span{color:var(--hud-muted)}.backdrop-controls button{color:var(--hud-text)}.backdrop-controls button[aria-pressed=true]{background:var(--hud-field)}
.footer-tools{border-radius:999px;gap:0;padding:4px;display:flex;align-items:center}.footer-tools button{border:0;border-radius:999px;padding:0 16px;min-height:40px;font-size:11px;color:var(--hud-text);white-space:nowrap}.footer-tools button:hover,.footer-tools button[aria-pressed=true]{background:var(--hud-field)}#theme-toggle{display:flex;gap:8px;align-items:center;justify-content:center}#theme-icon{display:flex;width:17px;height:17px}#theme-icon svg{width:100%;height:100%}footer{height:70px}.scroll-cue{font-size:10px}.progress{display:none}.copy>p:last-of-type{font-size:12px;color:#d3d8ca}.copy h1,.copy h2{margin-bottom:22px}
#room-panel{background:var(--hud-panel);border-color:var(--hud-stroke);box-shadow:var(--hud-shadow);color:var(--hud-text)}.room-top{background:var(--hud-head);border-color:var(--hud-stroke)}.panel-location{color:var(--hud-muted)}#room-content h1,#room-content h2,#room-content em{color:var(--hud-text);text-shadow:none}#room-content p,#room-content .room-lead,#room-content .room-note,#room-content .draft-note{color:var(--hud-muted)}#room-content .room-kicker{color:var(--hud-muted)}.service-option,.service-list{border-color:var(--hud-stroke)}.service-option summary small,.service-number{color:var(--hud-muted)}.room-cta{border-color:var(--hud-stroke)}#room-content input,#room-content select,#room-content textarea{background:var(--hud-field);color:var(--hud-text);border-color:var(--hud-stroke)}#room-content input::placeholder,#room-content textarea::placeholder{color:var(--hud-muted)}#room-content option{color:var(--hud-text);background:var(--hud-panel)}.room-rule{background:var(--hud-stroke)}
dialog{background:var(--hud-panel);color:var(--hud-text);border-color:var(--hud-stroke);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}dialog p,.dialog-head span{color:var(--hud-muted)}.dialog-head button{color:var(--hud-text);border-color:var(--hud-stroke)}
:root[data-theme=light] #light-level{accent-color:#57775d}:root[data-theme=light] .rug-control input:not(:checked){background:#203b2533}:root[data-theme=light] .site-nav a[aria-current]{background:#ffffffb3}:root[data-theme=light] .chapters a[aria-current]{background:#fff}:root[data-theme=light] #room-content input:focus-visible,:root[data-theme=light] #room-content textarea:focus-visible,:root[data-theme=light] #room-content select:focus-visible{outline:2px solid #456b50;outline-offset:2px}:root[data-theme=light] :is(.site-nav,.chapters,.footer-tools,#config-panel,#room-panel) :is(a,button,summary,input):focus-visible{outline-color:#395d43}
@media(max-width:700px){header{display:flex}.footer-tools{margin-left:auto;padding:4px}.footer-tools button{font-size:11px;padding:0 14px;min-height:44px}footer{justify-content:center;left:16px;right:16px}.scroll-cue{display:none}.footer-tools{margin:0}.set-selector{bottom:calc(80px + env(safe-area-inset-bottom))}#config-toggle{top:145px}.copy{top:206px}.copy h1,.copy h2{font-size:44px}.copy>p:last-of-type{font-size:11px}.backdrop-controls{bottom:84px}}
@media(max-width:700px) and (max-height:760px){.copy{top:198px}.copy h1,.copy h2{font-size:39px;margin-bottom:14px}}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){:root{--hud-glass:#1b2a20;--hud-panel:#1b2a20;--hud-head:#1b2a20;--hud-muted:#d5dfce}:root[data-theme=light]{--hud-glass:#f3f7f0;--hud-panel:#f3f7f0;--hud-head:#f3f7f0;--hud-muted:#354b3a}}
@supports not (backdrop-filter:blur(1px)){:root{--hud-glass:#1b2a20;--hud-panel:#1b2a20}:root[data-theme=light]{--hud-glass:#f3f7f0;--hud-panel:#f3f7f0}}
/* v21: shared alignment, content-sized popovers and neutral optical surfaces. */
:root{--hud-panel:#24282cd4;--hud-head:#ffffff08;--hud-text:#f8f9fa;--hud-muted:#c8cdd2;--hud-stroke:#ffffff38;--hud-glass:linear-gradient(135deg,#ffffff25,transparent 35%,#ffffff08 70%,#ffffff18),#20262b45;--hud-shadow:inset 0 1px 0 #ffffff85,inset 1px 0 0 #ffffff26,inset 0 -1px 0 #ffffff24,0 8px 24px #00000020;--panel-top:112px;color-scheme:dark}
:root[data-theme=light]{--hud-panel:#f5f7faD9;--hud-head:#ffffff36;--hud-text:#20252b;--hud-muted:#505963;--hud-stroke:#ffffffb0;--hud-glass:linear-gradient(135deg,#ffffff8c,transparent 36%,#ffffff20 70%,#ffffff66),#edf3f980;--hud-shadow:inset 0 1px 0 #fff,inset 1px 0 0 #ffffff90,inset 0 -1px 0 #ffffff66,0 8px 24px #17202b20;color-scheme:light}
.site-nav,.chapters,#config-toggle,.backdrop-controls,.footer-tools{backdrop-filter:blur(12px) saturate(155%);-webkit-backdrop-filter:blur(12px) saturate(155%);border-bottom-color:var(--hud-stroke)}
.site-nav{margin-top:0}.site-nav a{min-height:44px}.site-nav a[aria-current]{box-shadow:inset 0 1px 0 #ffffff60,0 2px 8px #0000000d;background:#ffffff18}
#config-toggle{top:var(--panel-top);right:var(--pad)}
#config-panel{top:var(--panel-top);right:var(--pad);bottom:auto;height:auto;max-height:calc(100svh - var(--panel-top) - 192px);width:320px;padding:0 20px 20px;transform-origin:top right;border-radius:28px;backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);scrollbar-gutter:auto}
#config-panel:not([hidden]){animation:popover-in .22s cubic-bezier(.2,.8,.2,1)}
.config-heading{margin:0 -20px;padding:12px 20px;min-height:64px;background:var(--hud-panel);border-bottom:1px solid #88888820}.config-heading button{width:32px;height:32px;min-width:32px;min-height:32px;border:0;font-size:20px;box-shadow:none}.config-heading button:focus:not(:focus-visible){outline:none}
#config-panel fieldset{margin:20px 0}#config-panel legend{font-size:12px;margin-bottom:10px}.config-options{background:#88888816;border-radius:15px;padding:3px;gap:2px}.config-options button{min-height:38px;border-radius:12px}.range-label{margin-top:18px}.config-open #config-toggle{visibility:hidden}#config-reset{margin-top:16px;border:0;background:#88888813;border-radius:14px}#config-panel #config-reset:last-child{margin-bottom:0}
#room-panel{top:var(--panel-top);bottom:auto;max-height:calc(100svh - var(--panel-top) - 32px);height:auto}#room-panel:not([hidden]){animation:popover-in .25s cubic-bezier(.2,.8,.2,1)}
.shade{background:linear-gradient(90deg,#090c0a75,transparent 48%),linear-gradient(0deg,#090c0a65,transparent 25%,transparent 85%,#090c0a35);transition:opacity .5s}.hide-copy .shade{opacity:.3}:root[data-theme=light] .shade{opacity:.55}.room-open .shade{background:linear-gradient(90deg,#090c0a35,transparent 70%)}
.copy h1,.copy h2{text-shadow:0 2px 30px #00000030}.copy>p:last-of-type{color:#f0f2f4;text-shadow:0 1px 6px #000}
.set-selector{bottom:92px}.chapters{border-radius:27px}.chapters a{min-height:52px;padding:14px 12px;border-radius:21px}.chapters a span{display:none}.chapters a strong{font-size:12px}.backdrop-controls{bottom:80px;right:0}.footer-tools button{min-height:42px}footer{height:76px}.scroll-cue{opacity:.8}
@keyframes popover-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){:root{--pad:20px;--panel-top:145px}header{padding:20px var(--pad) 0;gap:16px}.site-nav{padding:4px}.site-nav a{min-height:40px;padding:0 10px}#config-toggle{right:var(--pad)}#config-panel{left:var(--pad);right:var(--pad);width:auto;height:auto;max-height:calc(100svh - var(--panel-top) - 192px);padding:0 18px 18px;border-radius:24px}.config-heading{margin:0 -18px;padding:10px 18px;min-height:58px}.config-heading button{width:40px;height:40px;min-width:40px;min-height:40px}.config-options button{min-height:44px}#room-panel{top:var(--panel-top);left:var(--pad);right:var(--pad);width:auto;bottom:auto;max-height:calc(100svh - var(--panel-top) - 20px);border-radius:24px}.set-selector{left:var(--pad);right:var(--pad);bottom:calc(84px + env(safe-area-inset-bottom))}.chapters{border-radius:23px}.chapters a{min-height:48px;padding:10px 2px;border-radius:18px}.chapters a strong{font-size:10px}.backdrop-controls{bottom:72px}.copy{top:212px}footer{left:var(--pad);right:var(--pad);height:76px}.footer-tools button{min-height:44px}}
@media(max-height:600px) and (min-width:701px){:root{--panel-top:92px}#config-panel{max-height:calc(100svh - 236px)}.set-selector{bottom:74px}footer{height:62px}}
@media(prefers-reduced-motion:reduce){#config-panel:not([hidden]),#room-panel:not([hidden]){animation:none}}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){:root{--hud-glass:#24282c;--hud-panel:#24282c}:root[data-theme=light]{--hud-glass:#f5f7fa;--hud-panel:#f5f7fa}}
/* v22: a bevel lens on the backdrop, never on text or icons. */
.optical-glass{position:relative;isolation:isolate;background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:#ffffff48;box-shadow:inset 0 1px 0 #ffffff70,inset 0 -1px 0 #ffffff30,0 6px 22px #0002;--glint-x:18%;--glint-y:0%}
#config-toggle.optical-glass{position:fixed}.backdrop-controls.optical-glass{position:absolute}
.glass-optics{position:absolute!important;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(115deg,#ffffff18,transparent 42%,#ffffff09),#131c2570;backdrop-filter:blur(5px) saturate(145%);-webkit-backdrop-filter:blur(5px) saturate(145%)}
@supports(backdrop-filter:url(#glass-lens-0)){.glass-optics{backdrop-filter:var(--lens-filter) blur(2px) saturate(145%)}}
:root[data-theme=light] .glass-optics{background:linear-gradient(115deg,#ffffff66,transparent 42%,#ffffff1c),#f1f6fc8c}
.optical-glass::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;padding:1px;background:radial-gradient(ellipse at var(--glint-x) var(--glint-y),#fff 0%,#ffffffa0 15%,#ffffff10 48%,#ffffff65 85%,#fff 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.8}
.glass-optics::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at var(--glint-x) var(--glint-y),#ffffff26,transparent 60%);box-shadow:inset 0 3px 6px -4px #fff,inset 0 -4px 8px -7px #fff;pointer-events:none}
.optical-glass>:not(.glass-optics){position:relative}.chapters a,.site-nav a,.footer-tools button,.config-options button,#config-toggle{transition:background .25s,color .25s,box-shadow .25s,transform .24s cubic-bezier(.2,.8,.2,1)}
.chapters a:hover,.site-nav a:hover,.footer-tools button:hover{background:#ffffff16}.chapters a:active,.site-nav a:active,.footer-tools button:active,.config-options button:active,#config-toggle:active{transform:scale(.96)}
.chapters a[aria-current],.config-options button[aria-pressed=true]{box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 #ffffff70,0 3px 9px #00000016}
#config-panel:not([hidden]),#room-panel:not([hidden]){animation:glass-arrive .36s cubic-bezier(.16,1,.3,1)}
@keyframes glass-arrive{from{opacity:0;transform:translateY(-9px) scale(.965)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.optical-glass *{transition:none!important}#config-panel:not([hidden]),#room-panel:not([hidden]){animation:none}.glass-optics{backdrop-filter:blur(5px)}}
@media(prefers-contrast:more),(prefers-reduced-transparency:reduce){.glass-optics{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#24282c!important}:root[data-theme=light] .glass-optics{background:#f5f7fa!important}.optical-glass::after,.glass-optics::after{display:none}}
.backdrop-controls>.glass-optics{margin:0;display:block}
/* v23: compact mobile chrome, anchored menus and bounded sheets. */
#mobile-menu{display:none}
@media(max-width:700px){
 :root{--pad:16px;--panel-top:82px}
 header{padding:16px var(--pad) 0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:none;pointer-events:none}
 header>*{pointer-events:auto}.brand{width:108px}
 #mobile-menu{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 16px;border:1px solid var(--hud-stroke);border-radius:999px;color:var(--hud-text);font-size:12px}
 #mobile-menu>span:not(.glass-optics){font-size:20px;transition:transform .25s}.mobile-nav-open #mobile-menu>span:not(.glass-optics){transform:rotate(45deg)}
 .site-nav{position:absolute;top:76px;right:var(--pad);width:224px;display:grid;grid-template-columns:1fr 1fr;padding:6px;border-radius:24px;gap:4px;visibility:hidden;opacity:0;transform:translateY(-6px) scale(.97);transform-origin:top right;transition:opacity .2s,transform .3s cubic-bezier(.16,1,.3,1),visibility .2s;pointer-events:none}
 .mobile-nav-open .site-nav{visibility:visible;opacity:1;transform:none;pointer-events:auto}.site-nav a{min-height:46px;padding:0 10px;font-size:12px;border-radius:18px}.site-nav .glass-optics{border-radius:24px}
 #config-toggle{top:82px;min-height:44px;padding:0 14px;font-size:11px;right:var(--pad)}.mobile-nav-open #config-toggle{visibility:hidden}
 .copy{top:150px;left:var(--pad);max-width:78vw}.copy h1,.copy h2{font-size:40px;line-height:.98;margin-bottom:16px}.copy>p:last-of-type{font-size:11px;max-width:230px}
 .set-selector{left:var(--pad);right:var(--pad);bottom:calc(76px + env(safe-area-inset-bottom))}.chapters{padding:4px;gap:2px;border-radius:23px}.chapters a{min-height:48px;font-size:11px}.chapters a strong{font-size:10px}
 footer{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.footer-tools{padding:3px}.footer-tools button{min-height:44px;padding:0 14px;font-size:11px}
 #config-panel{top:auto;bottom:calc(146px + env(safe-area-inset-bottom));max-height:min(52svh,480px);left:var(--pad);right:var(--pad);width:auto;border-radius:26px;transform-origin:bottom center;padding:0 18px 18px;scroll-padding-top:66px}
 #config-panel:not([hidden]){animation:mobile-sheet-in .34s cubic-bezier(.16,1,.3,1)}.config-heading{min-height:62px;margin:0 -18px;padding:10px 18px}.config-heading button{min-height:44px;min-width:44px}.config-options button{min-height:44px}#config-panel fieldset{margin:18px 0}
 #room-panel{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));max-height:72svh;left:var(--pad);right:var(--pad);border-radius:26px;padding:0 20px 24px;transform-origin:bottom center}#room-panel:not([hidden]){animation:mobile-sheet-in .34s cubic-bezier(.16,1,.3,1)}.room-top{margin:0 -20px 22px;padding:10px 18px;min-height:64px}.room-top button{min-height:44px}#room-content h1{font-size:38px}#room-panel:has(input:focus,textarea:focus,select:focus){top:82px;max-height:none}
 .backdrop-controls{bottom:70px}.config-open .backdrop-controls{visibility:hidden;pointer-events:none}.room-open #mobile-menu{display:flex}
 @keyframes mobile-sheet-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
}
@media(max-width:360px){.footer-tools button{padding:0 12px}.chapters a strong{font-size:9px}.copy h1,.copy h2{font-size:36px}}
@media(max-width:700px) and (max-height:700px){.copy{top:142px}.copy h1,.copy h2{font-size:34px}#config-panel{max-height:48svh}#room-panel{max-height:74svh}}
@media(prefers-reduced-motion:reduce){.site-nav{transition:none}#config-panel:not([hidden]),#room-panel:not([hidden]){animation:none}}
@media(max-width:700px){.mobile-nav-open .copy{opacity:0!important;visibility:hidden!important}}
@media(max-width:700px){#config-panel{top:82px;bottom:auto;max-height:38svh;transform-origin:top right}#config-panel:not([hidden]){animation:glass-arrive .3s cubic-bezier(.16,1,.3,1)}#room-panel{max-height:65svh}}
