.theme-toggle { display:inline-flex; align-items:center; justify-content:center; position:absolute; right:-36px; top:50%; transform:translateY(-50%); width:28px; height:32px; padding:6px; background:transparent; border:0; color:inherit; cursor:pointer; }
.theme-toggle[hidden] { display:none; }
.theme-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.theme-toggle .theme-sun { display:none; }
.header-top { position:relative; }
.theme-toggle:hover { color:var(--rose); }
html[data-theme=dark] { color-scheme:dark; --night:#403B37; --night-raised:#332f2c; --night-ink:#f0e6da; --night-edge:rgba(222,198,175,.24); }
html[data-theme=dark] .theme-moon { display:none; }
html[data-theme=dark] .theme-sun { display:block; }
html[data-theme=dark] body { background:var(--night); color:var(--night-ink); }
html[data-theme=dark] .styled-page main { background-color:var(--night); }
html[data-theme=dark] .site-header { background:rgba(64,59,55,.94); color:var(--night-ink); border-color:var(--night-edge); }
html[data-theme=dark] .brand img,html[data-theme=dark] .illum-mark { filter:brightness(0) invert(.92) sepia(.12); }
html[data-theme=dark] .site-header nav { border-color:var(--night-edge); }
html[data-theme=dark] .menu-toggle { color:var(--night-ink); }
html[data-theme=dark] .styled-page .section.mushroom { background:rgba(32,29,27,.4); }
html[data-theme=dark] .styled-page :is(.section,.page-intro,.profile) .glass-panel::before { background:var(--night-raised); border-color:var(--night-edge); box-shadow:0 16px 44px rgba(20,15,12,.2),inset 0 1px 0 rgba(240,230,218,.08); }
html[data-theme=dark] .section.mushroom>.reading { background:transparent; border-color:var(--night-edge); }
html[data-theme=dark] .home-page .hero-copy::before { background:rgba(64,59,55,.18); }
html[data-theme=dark] .home-page .hero-copy h1 { color:#f4ede6; }
html[data-theme=dark] .styled-page .hero-intro { background:rgba(64,59,55,.92); border-color:var(--night-edge); }
html[data-theme=dark] .button { background:#d4aaa0; color:#403B37; border-color:#d4aaa0; }
html[data-theme=dark] .button:hover,html[data-theme=dark] .mobile-cta:hover { background:#e4c2b4; color:#403B37; }
html[data-theme=dark] .copy-gap { background:rgba(190,153,122,.09); }
html[data-theme=dark] :is(.photo-gap,.janira-portrait) { background:var(--night-raised); }
html[data-theme=dark] :is(details,.insurance-list li,.demo-form) { border-color:var(--night-edge); }
html[data-theme=dark] .text-button { color:var(--night-ink); border-color:var(--night-ink); }
html[data-theme=dark] .form-grid input { background:var(--night-raised); color:var(--night-ink); border-color:var(--night-edge); }
html[data-theme=dark] footer,html[data-theme=dark] .preview-bar { background:#403B37; color:var(--night-ink); }
html[data-theme=dark] .skip { background:var(--night); color:var(--night-ink); }
html[data-theme=dark] :is(a,button,summary):focus-visible { outline-color:#edc2ac; }
html[data-theme=dark] :is(.illum-panel,.illum-launcher) { background:var(--night-raised); color:var(--night-ink); border-color:var(--night-edge); box-shadow:0 18px 48px rgba(20,15,12,.3),inset 0 1px 0 rgba(240,230,218,.12); }
html[data-theme=dark] .illum-launcher:hover { background:rgba(72,58,48,.95); }
html[data-theme=dark] :is(.illum-header,.illum-terms,.illum-form) { border-color:var(--night-edge); }
html[data-theme=dark] .illum-message { background:rgba(40,37,34,.84); border-color:var(--night-edge); }
html[data-theme=dark] .illum-message.user { background:rgba(51,47,44,.9); }
html[data-theme=dark] .illum-form textarea { background:rgba(38,31,26,.65); color:var(--night-ink); border-color:var(--night-edge); }
html[data-theme=dark] .illum-form textarea::placeholder { color:#c7b7a8; }
html[data-theme=dark] .illum-form button { background:#d4aaa0; color:#403B37; }
html[data-theme=dark] .illum-header-actions :is(a,button):hover { background:rgba(212,170,160,.15); border-color:var(--night-edge); }
html[data-theme=dark] .illum-window .illum-tooltip { background:#ecdfd0; color:#403B37; }
@supports ((backdrop-filter:blur(18px)) or (-webkit-backdrop-filter:blur(18px))) {
 html[data-theme=dark] .styled-page :is(.section,.page-intro,.profile) .glass-panel::before { background:rgba(40,37,34,.84); }
 html[data-theme=dark] :is(.illum-panel,.illum-launcher) { background:rgba(64,59,55,.84); }
}
@media(max-width:760px) {
 .header-tools { display:grid; grid-template-columns:auto 28px; gap:0 6px; align-items:center; }
 .languages { grid-column:1; grid-row:1; }
 .menu-toggle { grid-column:1 / 3; grid-row:2; justify-self:end; }
 .theme-toggle { position:static; transform:none; grid-column:2; grid-row:1; }
 .brand { width:min(55vw,340px); }
}
/* Theme changes interpolate live glass, including its pseudo-element material. */
html.theme-fading *,html.theme-fading *::before,html.theme-fading *::after {
 transition:background-color 650ms ease,border-color 650ms ease,box-shadow 650ms ease,filter 650ms ease !important;
}
@media(prefers-reduced-motion:reduce) {
 html.theme-fading *,html.theme-fading *::before,html.theme-fading *::after { transition:none !important; }
}
/* Keep mobile glass bounded to the widget instead of a broad surrounding halo. */
@media(max-width:760px) {
 .illum-launcher,.illum-launcher:hover,.illum-panel,
 html[data-theme=dark] :is(.illum-launcher,.illum-panel) {
  box-shadow:inset 0 1px 0 rgba(244,237,230,.12);
 }
}
/* Floating surfaces need less shadow than opaque cards, especially on dark pages. */
@media(min-width:761px) {
 .illum-launcher,.illum-launcher:hover,.illum-panel { box-shadow:0 4px 14px rgba(64,59,55,.12),inset 0 1px 0 rgba(244,237,230,.6); }
}
html[data-theme=dark] :is(.illum-launcher,.illum-launcher:hover,.illum-panel) { box-shadow:inset 0 1px 0 rgba(240,230,218,.12); }
