:root{
 color-scheme:light;
 --bg:#f5f7f2;--text:#172b21;--body:#41564a;--muted:#53695c;--line:#d6dfd5;--mint:#235a42;
 --tint:#36634409;--hover:#3663440d;--selected:#36634415;--control-border:#36634428;--control-active:#36634460;
 --menu:#fcfdfaf7;--menu-shadow:0 16px 50px #1a382015,inset 0 1px 0 #fff;--scrollbar:#9aaa9d;
 --hero-glow:#dce8d64d;--number:#50725c;--logo-on-light:block;--logo-on-dark:none;--mobile-orbit:.28;
}
:root[data-theme=dark]{
 color-scheme:dark;
 --bg:#080b0a;--text:#f0f2ed;--body:#bec8c0;--muted:#98a29a;--line:#273129;--mint:#c6f3d9;
 --tint:#c6f3d905;--hover:#c6f3d90c;--selected:#c6f3d910;--control-border:#c6f3d91c;--control-active:#c6f3d94d;
 --menu:#101813f5;--menu-shadow:0 16px 50px #0008,inset 0 1px 0 #ffffff05;--scrollbar:#3a5141;
 --hero-glow:#15271b35;--number:#81a48e;--logo-on-light:none;--logo-on-dark:block;--mobile-orbit:.5;
}
@media(prefers-color-scheme:dark){
 :root:not([data-theme]){
  color-scheme:dark;
  --bg:#080b0a;--text:#f0f2ed;--body:#bec8c0;--muted:#98a29a;--line:#273129;--mint:#c6f3d9;
  --tint:#c6f3d905;--hover:#c6f3d90c;--selected:#c6f3d910;--control-border:#c6f3d91c;--control-active:#c6f3d94d;
  --menu:#101813f5;--menu-shadow:0 16px 50px #0008,inset 0 1px 0 #ffffff05;--scrollbar:#3a5141;
  --hero-glow:#15271b35;--number:#81a48e;--logo-on-light:none;--logo-on-dark:block;--mobile-orbit:.5;
 }
}
:root img.logo-on-light{display:var(--logo-on-light)}
:root img.logo-on-dark{display:var(--logo-on-dark)}
.theme-control{position:relative;flex-shrink:0}
.theme-control[hidden]{display:none}
.theme-trigger{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--control-border);border-radius:50%;background:var(--tint);color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}
.theme-icon{width:17px;height:17px;flex-shrink:0}
.theme-trigger:hover,.theme-trigger[aria-expanded=true]{color:var(--mint);background:var(--hover);border-color:var(--control-active)}
.theme-trigger:focus-visible,.theme-option:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.theme-menu{position:absolute;inset-inline-end:0;top:calc(100% + 12px);z-index:6;width:216px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--control-border);border-radius:16px;background:var(--menu);box-shadow:var(--menu-shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:menu-in .16s ease-out}
.theme-menu[hidden]{display:none}
.theme-menu-title{margin:8px 10px 12px;font-size:10px;font-weight:400;letter-spacing:.6px;color:var(--muted)}
.theme-option{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);text-align:start;font:12px/1.4 var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
.theme-option:hover,.theme-option:focus-visible{background:var(--hover);color:var(--text)}
.theme-option[aria-checked=true]{background:var(--selected);color:var(--mint)}
.theme-check{width:13px;height:13px;margin-inline-start:auto;flex-shrink:0;opacity:0}
.theme-option[aria-checked=true] .theme-check{opacity:1}
@media(max-width:700px){.theme-trigger{width:34px;height:34px}.theme-icon{width:16px;height:16px}}
@media(prefers-reduced-motion:reduce){.theme-menu{animation:none}}
