:root{
  --r-xs:4px;
  --r-sm:8px;
  --r-md:12px;
  --r-lg:16px;
  --r-xl:22px;
  --r-full:100px;
  --s-1:4px;
  --s-2:8px;
  --s-3:12px;
  --s-4:16px;
  --s-5:20px;
  --s-6:24px;
  --s-8:32px;
  --s-10:40px;
  --s-12:48px;
  --s-16:64px;
  --t-fast:.28s;
  --t-mid:.46s;
  --t-slow:.58s;
  --ease:cubic-bezier(.16,.84,.28,1);
  --spring:cubic-bezier(.22,1.12,.36,1);
  --tap:44px;
  --tap-lg:52px;
  --font-text:'Onest',system-ui,sans-serif;
  --font-head:'Onest',system-ui,sans-serif;
  --fz-xs:12px;
  --fz-sm:13.5px;
  --fz-md:15px;
  --fz-lg:17px;
  --fz-xl:21px;
  --fz-2xl:clamp(23px,2.6vw,30px);
  --fz-3xl:clamp(28px,4vw,44px);
  --lh:1.55;
  --lh-tight:1.2;
  --tr-head:-.015em;
  --tr-caps:.1em;
  --sh-1:0 2px 8px rgba(0,0,0,.10);
  --sh-2:0 12px 32px rgba(0,0,0,.16);
  --sh-3:0 26px 70px rgba(0,0,0,.30);
  --bw:1px;
  --bw-2:2px;
  --bg:#ffffff;
  --surface:#f4f4f2;
  --card:#ffffff;
  --text:#15171b;
  --line:color-mix(in srgb,currentColor 14%,transparent);
  --line-strong:color-mix(in srgb,currentColor 26%,transparent);
  --fill:color-mix(in srgb,currentColor 6%,transparent);
  --fill-hover:color-mix(in srgb,currentColor 12%,transparent);
  --muted:color-mix(in srgb,currentColor 62%,transparent);
  --wrap:1240px;
  --accent:#15171b;
  --accent-rgb:21,23,27;
  --on-accent:#ffffff;
  --ok:#1fa35a;
  --warn:#c98a12;
  --bad:#e0483d;
  --dim-1:.78;
  --dim-2:.62;
  --dim-3:.48;
}
[data-theme="dark"]{
  --accent-rgb:233,234,240;
  --bg:#0b0c10;
  --surface:#14161c;
  --card:#14161c;
  --text:#e9eaf0;
  --accent:#e9eaf0;
  --on-accent:#0b0c10;
  --ok:#3ddc84;
  --warn:#ffc555;
  --bad:#ff6b5e;
  --sh-1:0 2px 8px rgba(0,0,0,.4);
  --sh-2:0 12px 32px rgba(0,0,0,.5);
  --sh-3:0 26px 70px rgba(0,0,0,.6);
}
[data-theme="light"]{
  --bg:#ffffff;
  --surface:#f4f4f2;
  --card:#ffffff;
  --text:#15171b;
  --muted:color-mix(in srgb,currentColor 62%,transparent);
  --wrap:1240px;
  --accent:#15171b;
  --accent-rgb:21,23,27;
  --on-accent:#ffffff;
}
[data-theme="gov"]{
  --accent-rgb:15,39,64;
  --bg:#f7f5f0;
  --surface:#efece4;
  --card:#fffefb;
  --text:#12161c;
  --accent:#0f2740;
  --on-accent:#f3f0e8;
  --ok:#1a7a43;
  --warn:#8a6c10;
  --bad:#a8271c;
  --font-text:'Golos Text',Georgia,serif;
  --font-head:'Golos Text',Georgia,serif;
  --r-xs:2px;
  --r-sm:2px;
  --r-md:4px;
  --r-lg:6px;
  --r-xl:8px;
  --lh:1.62;
}
[data-theme="lux"]{
  --accent-rgb:201,162,39;
  --bg:#0d0b0a;
  --surface:#171412;
  --card:#171412;
  --text:#f0ebe4;
  --accent:#c9a227;
  --on-accent:#12100e;
  --r-md:16px;
  --r-lg:22px;
  --r-xl:30px;
  --sh-2:0 14px 44px rgba(0,0,0,.5);
  --sh-3:0 30px 90px rgba(0,0,0,.62);
}
*{box-sizing:border-box}
html{overflow-x:clip}
body{
  margin:0;
  overflow-x:clip;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-text);
  font-size:var(--fz-md);
  line-height:var(--lh);
  transition:background var(--t-mid) var(--ease),color var(--t-mid) var(--ease);
}
h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:600;
  letter-spacing:var(--tr-head);
  line-height:var(--lh-tight);
  margin:0;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:var(--bw-2) solid var(--accent);outline-offset:2px}
.dim{opacity:var(--dim-2)}
.dim-strong{opacity:var(--dim-3)}
.tap{min-height:var(--tap)}
.tap-lg{min-height:var(--tap-lg)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
