:root{
  color-scheme:light;
  --bg:#F2F6FC; --card:rgba(255,255,255,.62); --ink:#0B1220;
  --ink2:#475569; --ink3:#5E6A7D;
  --accent:#166534; --accent-h:#14532D; --link:#166534;
  --hair:rgba(15,23,42,.10); --hair2:rgba(15,23,42,.17);
  --glass:rgba(255,255,255,.55); --glass2:rgba(255,255,255,.82);
  --focus:#0F766E;
  --blur:blur(22px) saturate(165%);
  --grad:linear-gradient(102deg,#166534 0%,#0F766E 46%,#0891B2 100%);

  --btngrad:linear-gradient(135deg,#1E8449 0%,#166534 52%,#0E5137 100%);
  --shadow:0 22px 54px -26px rgba(15,23,42,.34);
  --grainop:.022; --bop1:.30; --bop2:.24; --bop3:.18;
  --ez:cubic-bezier(.16,1,.3,1);
  --fh:'Bricolage Grotesque','Bricolage fallback',ui-sans-serif,system-ui,'Segoe UI',sans-serif;
  --fb:'Inter','Inter fallback',ui-sans-serif,system-ui,'Segoe UI',sans-serif;
  --fm:'JetBrains Mono','JetBrains fallback',ui-monospace,Consolas,monospace;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#050506; --card:rgba(12,13,19,.58); --ink:#F5F7FA;
  --ink2:#A7B2C4; --ink3:#93A0B2;
  --accent:#4ADE80; --accent-h:#86EFAC; --link:#4ADE80;
  --hair:rgba(255,255,255,.09); --hair2:rgba(255,255,255,.16);
  --glass:rgba(255,255,255,.045); --glass2:rgba(255,255,255,.075);
  --focus:#2DD4BF;
  --grad:linear-gradient(102deg,#4ADE80 0%,#2DD4BF 42%,#22D3EE 100%);
  --btngrad:linear-gradient(135deg,#86EFAC 0%,#4ADE80 52%,#22B573 100%);
  --shadow:0 24px 60px -22px rgba(0,0,0,.95);
  --grainop:.038; --bop1:.44; --bop2:.38; --bop3:.26;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink2);font-family:var(--fb);
  font-size:1.0625rem;line-height:1.65;min-height:100svh;position:relative;overflow-x:hidden;
  transition:background-color .35s ease,color .35s ease}
h1,h2,h3{font-family:var(--fh);color:var(--ink);margin:0 0 .5em;text-wrap:balance;
  letter-spacing:-.03em;line-height:1.14}
h1{font-size:clamp(1.8rem,5.4vw,2.7rem);font-weight:800}
h2{font-size:clamp(1.25rem,3vw,1.6rem);font-weight:800}
p{margin:0 0 1em}
a{color:var(--link);text-underline-offset:3px}
:where(a,button,summary):focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:8px}

.aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.blob{position:absolute;border-radius:50%;filter:blur(90px)}
.blob.b1{width:60vw;height:60vw;max-width:820px;max-height:820px;top:-18vw;left:-12vw;
  background:radial-gradient(circle,#166534,transparent 68%);opacity:var(--bop1)}
.blob.b2{width:52vw;height:52vw;max-width:700px;max-height:700px;top:4vw;right:-12vw;
  background:radial-gradient(circle,#0F766E,transparent 68%);opacity:var(--bop2)}
.blob.b3{width:46vw;height:46vw;max-width:620px;max-height:620px;top:46vw;left:20vw;
  background:radial-gradient(circle,#06B6D4,transparent 68%);opacity:var(--bop3)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:var(--grainop);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}
@media (prefers-reduced-motion:no-preference){
  .blob.b1{animation:gd1 22s ease-in-out infinite alternate}
  .blob.b2{animation:gd2 27s ease-in-out infinite alternate}
  .blob.b3{animation:gd3 31s ease-in-out infinite alternate}
}
@keyframes gd1{to{transform:translate3d(9vw,7vw,0) scale(1.14)}}
@keyframes gd2{to{transform:translate3d(-10vw,10vw,0) scale(.88)}}
@keyframes gd3{to{transform:translate3d(7vw,-9vw,0) scale(1.18)}}

.shell{position:relative;z-index:2;min-height:100svh;display:grid;place-items:center;padding:clamp(20px,4vw,48px)}
.panel{background:var(--card);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--hair);border-radius:24px;box-shadow:var(--shadow);
  padding:clamp(28px,4.4vw,52px);position:relative;overflow:hidden}
.panel::before{content:'';position:absolute;top:0;left:12%;right:12%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 22%,transparent),transparent)}
html[data-theme="dark"] .panel::before{
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)}

.lead{font-size:clamp(1.125rem,1.5vw,1.25rem);color:var(--ink2);line-height:1.6;max-width:60ch}
.panel-narrow{max-width:min(38rem,100%);text-align:center}
.panel-doc{max-width:min(52rem,100%);text-align:left}

.panel p > a:only-child:not(.btn){display:inline-flex;align-items:center;min-height:44px}

.logo{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--fh);font-weight:800;
  font-size:1.16rem;letter-spacing:-.02em;color:var(--ink);text-decoration:none;
  margin-bottom:1.9rem;min-height:44px}
.logo i{width:12px;height:12px;border-radius:4px;flex:none;transform:rotate(45deg);
  background:linear-gradient(135deg,#4ADE80,#0F766E);box-shadow:0 0 14px rgba(96,165,250,.7)}

.kick,.code{font-family:var(--fm);font-size:.72rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--ink3);margin:0 0 .7rem}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent}

.btn,.btn-p{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;
  padding:0 28px;border-radius:13px;border:1px solid transparent;font:inherit;font-weight:600;
  font-size:1rem;text-decoration:none;cursor:pointer;
  background:var(--btngrad);color:#fff;
  box-shadow:0 8px 26px -8px rgba(22,101,52,.85),inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .3s var(--ez),box-shadow .3s var(--ez),background .3s var(--ez)}
.btn:hover,.btn-p:hover{transform:translateY(-3px);color:#fff;
  box-shadow:0 16px 40px -10px rgba(22,101,52,.95)}
.btn-g{background:var(--glass);border-color:var(--hair2);color:var(--ink);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.btn-g:hover{background:var(--glass2);transform:translateY(-3px)}
.btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:1.6rem}
.panel-doc .btns{justify-content:flex-start}
.muted{color:var(--ink3);font-size:.92rem}
.tt{position:fixed;top:16px;right:16px;z-index:5;width:44px;height:44px;border-radius:12px;
  border:1px solid var(--hair);background:var(--glass);cursor:pointer;display:grid;
  place-items:center;color:var(--ink2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:border-color .25s var(--ez),color .25s var(--ez)}
.tt:hover{border-color:var(--hair2);color:var(--ink)}
.tt .i-sun{display:none}
html[data-theme="dark"] .tt .i-sun{display:block}
html[data-theme="dark"] .tt .i-moon{display:none}

.logo svg{width:1.375rem;height:1.375rem}
.logo{color:var(--link)}

.panel-doc h2{font-size:1.22rem;margin:2rem 0 .55rem}
.panel-doc ul{margin:0 0 1rem;padding-left:1.25rem}
.panel-doc li{margin-bottom:.4rem}
.upd{color:var(--ink3);font-size:.93rem;margin:0 0 2rem}
.box{background:var(--glass);border:1px solid var(--hair);border-radius:14px;
  padding:1rem 1.25rem;margin:0 0 1rem;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tbl-scroll{overflow-x:auto;border-radius:12px;border:1px solid var(--hair);margin:0 0 1rem}
table{width:100%;border-collapse:collapse;font-size:.93rem;margin:0}
th,td{text-align:left;padding:.65rem .7rem;border-bottom:1px solid var(--hair);vertical-align:top}
th{color:var(--ink);background:var(--glass);font-weight:600}
tr:last-child td{border-bottom:0}
.back{display:inline-flex;align-items:center;gap:.4rem;margin-top:2.4rem;
  min-height:44px;text-decoration:none;font-weight:600}

.ok-badge{
  --px:0px; --py:0px; --sx:1; --sy:1;
  position:relative;
  display:grid;place-items:center;width:86px;height:86px;
  margin:.6rem auto 1.7rem;color:var(--link);

  border-radius:51% 49% 48% 52% / 49% 51% 49% 51%;
  background:
    linear-gradient(158deg,
      rgba(255,255,255,.92) 0%,
      rgba(222,234,255,.68) 42%,
      rgba(196,210,252,.55) 100%);
  box-shadow:
    inset 0 2px 3px rgba(255,255,255,.95),
    inset 0 0 0 1px rgba(255,255,255,.55),
    inset 0 -16px 24px -8px rgba(22,101,52,.30),
    0 16px 24px -14px rgba(22,101,52,.45),
    0 3px 8px -3px rgba(22,101,52,.22);
  transform:translate(var(--px),var(--py)) scale(var(--sx),var(--sy));
  transition:transform 1.1s cubic-bezier(.22,1.5,.36,1);
  will-change:transform;
}

.ok-badge::before{
  content:'';position:absolute;top:11%;left:17%;width:31%;height:21%;
  border-radius:50%;pointer-events:none;z-index:1;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.2));
  filter:blur(.5px);
}

.ok-badge::after{
  content:'';position:absolute;left:24%;right:24%;bottom:10%;height:15%;
  border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.62),transparent 72%);
}
html[data-theme="dark"] .ok-badge{
  background:
    linear-gradient(158deg,
      rgba(255,255,255,.20) 0%,
      rgba(96,165,250,.20) 45%,
      rgba(124,58,237,.22) 100%);
  box-shadow:
    inset 0 2px 3px rgba(255,255,255,.42),
    inset 0 0 0 1px rgba(255,255,255,.16),
    inset 0 -16px 24px -8px rgba(22,101,52,.42),
    0 16px 30px -14px rgba(22,101,52,.75),
    0 3px 8px -3px rgba(22,101,52,.35);
}
html[data-theme="dark"] .ok-badge::before{
  background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.08))}
html[data-theme="dark"] .ok-badge::after{
  background:radial-gradient(ellipse at center,rgba(147,197,253,.34),transparent 72%)}

.ok-badge svg{position:relative;z-index:2;width:48%;height:48%}
@media (prefers-reduced-motion:no-preference){
  .ok-badge{animation:kapka 11s ease-in-out infinite}
}

@keyframes kapka{
  0%,100%{border-radius:51% 49% 48% 52% / 49% 51% 49% 51%}
  33%    {border-radius:48% 52% 52% 48% / 52% 48% 51% 49%}
  66%    {border-radius:52% 48% 49% 51% / 47% 53% 48% 52%}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

@media (max-width:720px){
  :root,html[data-theme="dark"]{--blur:blur(12px) saturate(140%)}
  .blob{filter:blur(70px)}
}

.cookiebar{position:fixed;left:16px;right:16px;bottom:16px;z-index:110;max-width:520px;
  margin-inline:auto;background:var(--card);backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur);border:1px solid var(--hair2);border-radius:14px;
  padding:16px 20px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
.cookiebar p{margin:0;font-size:.875rem;color:var(--ink)}
.cookiebar-btns{display:flex;gap:8px;justify-content:flex-end}
.cookiebar .btn,.cookiebar .btn-p{min-height:42px;padding:9px 18px;font-size:.9375rem}
.cookiebar .btn-ghost{background:var(--glass);border-color:var(--hair2);color:var(--ink)}
.cookiebar .btn-ghost:hover{background:var(--glass2);color:var(--ink);transform:none}
@media (min-width:768px){.cookiebar{left:auto;right:22px;bottom:22px}}
