/* === КАЦ · общая дизайн-система (тёмные + светлые темы) === */
:root{
  --font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --bg:oklch(15% 0.012 264);--bg-2:oklch(13% 0.01 264);--bg-3:oklch(18% 0.013 264);
  --panel:oklch(18.5% 0.014 264);--panel-2:oklch(21% 0.015 264);
  --border:oklch(28% 0.016 264);--border-soft:oklch(24% 0.014 264);--border-strong:oklch(36% 0.02 264);
  --fg:oklch(97% 0.005 264);--fg-2:oklch(82% 0.01 264);--fg-muted:oklch(64% 0.012 264);--fg-faint:oklch(50% 0.012 264);
  --accent:oklch(68% 0.17 264);--accent-2:oklch(74% 0.15 280);--accent-fg:oklch(13% 0.02 264);
  --accent-soft:oklch(30% 0.09 264);--accent-glow:oklch(68% 0.17 264 / 0.4);--accent-tint:oklch(30% 0.09 264 / 0.5);
  --feature-bg:oklch(24% 0.05 264);
  --green:oklch(74% 0.15 152);--amber:oklch(80% 0.14 80);--blue:oklch(74% 0.13 240);--red:oklch(70% 0.16 25);
  --ok-tint:oklch(30% 0.08 152 / 0.5);--ok-border:oklch(40% 0.1 152 / 0.5);
  --header-bg:oklch(15% 0.012 264 / 0.72);--header-bg-2:oklch(14% 0.012 264 / 0.86);
  --grid-line:oklch(100% 0 0 / 0.022);--glow-op:0.5;
  --shadow-demo:0 30px 70px oklch(0% 0 0 / 0.5);--shadow-card:0 24px 60px oklch(0% 0 0 / 0.45);--shadow-soft:0 2px 8px oklch(0% 0 0 / 0.3);
  --radius-sm:8px;--radius:12px;--radius-lg:18px;--radius-xl:24px;--maxw:1180px;
}
[data-theme="dark-emerald"]{
  --bg:oklch(15% 0.012 170);--bg-2:oklch(13% 0.01 170);--bg-3:oklch(18% 0.013 170);
  --panel:oklch(18.5% 0.014 170);--panel-2:oklch(21% 0.015 170);
  --border:oklch(28% 0.016 170);--border-soft:oklch(24% 0.014 170);--border-strong:oklch(36% 0.02 170);
  --fg:oklch(97% 0.006 170);--fg-2:oklch(82% 0.01 170);--fg-muted:oklch(64% 0.012 170);--fg-faint:oklch(50% 0.012 170);
  --accent:oklch(74% 0.15 168);--accent-2:oklch(80% 0.14 185);--accent-fg:oklch(14% 0.03 168);
  --accent-soft:oklch(32% 0.1 168);--accent-glow:oklch(74% 0.15 168 / 0.38);--accent-tint:oklch(30% 0.09 168 / 0.5);
  --feature-bg:oklch(24% 0.05 168);--header-bg:oklch(15% 0.012 170 / 0.72);--header-bg-2:oklch(14% 0.012 170 / 0.86);
}
[data-theme="dark-amber"]{
  --bg:oklch(16% 0.004 60);--bg-2:oklch(14% 0.004 60);--bg-3:oklch(19% 0.005 60);
  --panel:oklch(19.5% 0.006 60);--panel-2:oklch(22% 0.007 60);
  --border:oklch(29% 0.007 60);--border-soft:oklch(25% 0.006 60);--border-strong:oklch(37% 0.009 60);
  --fg:oklch(97% 0.004 80);--fg-2:oklch(82% 0.007 70);--fg-muted:oklch(64% 0.008 65);--fg-faint:oklch(50% 0.008 60);
  --accent:oklch(78% 0.15 68);--accent-2:oklch(80% 0.14 45);--accent-fg:oklch(18% 0.04 60);
  --accent-soft:oklch(34% 0.09 60);--accent-glow:oklch(78% 0.15 68 / 0.38);--accent-tint:oklch(30% 0.08 60 / 0.55);
  --feature-bg:oklch(24% 0.05 60);--header-bg:oklch(16% 0.004 60 / 0.72);--header-bg-2:oklch(15% 0.004 60 / 0.86);
}
[data-theme="light-indigo"]{
  --bg:oklch(98.5% 0.003 264);--bg-2:oklch(96.5% 0.004 264);--bg-3:oklch(94.5% 0.006 264);
  --panel:oklch(100% 0 0);--panel-2:oklch(98% 0.003 264);
  --border:oklch(90% 0.007 264);--border-soft:oklch(93.5% 0.005 264);--border-strong:oklch(84% 0.009 264);
  --fg:oklch(24% 0.02 264);--fg-2:oklch(36% 0.018 264);--fg-muted:oklch(50% 0.014 264);--fg-faint:oklch(62% 0.012 264);
  --accent:oklch(52% 0.2 264);--accent-2:oklch(56% 0.19 282);--accent-fg:oklch(100% 0 0);
  --accent-soft:oklch(90% 0.05 264);--accent-glow:oklch(52% 0.2 264 / 0.22);--accent-tint:oklch(95% 0.04 264);
  --feature-bg:oklch(97.5% 0.025 264);
  --green:oklch(52% 0.14 152);--amber:oklch(56% 0.12 70);--blue:oklch(52% 0.16 250);--red:oklch(54% 0.18 25);
  --ok-tint:oklch(94% 0.06 152);--ok-border:oklch(86% 0.08 152);
  --header-bg:oklch(99% 0.003 264 / 0.8);--header-bg-2:oklch(98% 0.003 264 / 0.92);
  --grid-line:oklch(20% 0.02 264 / 0.05);--glow-op:0.5;
  --shadow-demo:0 26px 60px oklch(45% 0.08 264 / 0.16);--shadow-card:0 22px 50px oklch(45% 0.08 264 / 0.12);--shadow-soft:0 2px 8px oklch(40% 0.03 264 / 0.1);
}
[data-theme="light-emerald"]{
  --bg:oklch(98.5% 0.004 165);--bg-2:oklch(96.5% 0.006 165);--bg-3:oklch(94.5% 0.008 165);
  --panel:oklch(100% 0 0);--panel-2:oklch(98% 0.004 165);
  --border:oklch(90% 0.008 165);--border-soft:oklch(93.5% 0.006 165);--border-strong:oklch(84% 0.01 165);
  --fg:oklch(24% 0.02 175);--fg-2:oklch(36% 0.016 170);--fg-muted:oklch(50% 0.013 168);--fg-faint:oklch(62% 0.011 165);
  --accent:oklch(52% 0.13 162);--accent-2:oklch(56% 0.12 178);--accent-fg:oklch(100% 0 0);
  --accent-soft:oklch(90% 0.05 162);--accent-glow:oklch(52% 0.13 162 / 0.22);--accent-tint:oklch(94% 0.05 162);
  --feature-bg:oklch(97.5% 0.03 162);
  --green:oklch(50% 0.13 152);--amber:oklch(56% 0.12 70);--blue:oklch(52% 0.16 250);--red:oklch(54% 0.18 25);
  --ok-tint:oklch(94% 0.06 152);--ok-border:oklch(86% 0.08 152);
  --header-bg:oklch(99% 0.004 165 / 0.8);--header-bg-2:oklch(98% 0.004 165 / 0.92);
  --grid-line:oklch(20% 0.02 165 / 0.05);
  --shadow-demo:0 26px 60px oklch(45% 0.06 165 / 0.16);--shadow-card:0 22px 50px oklch(45% 0.06 165 / 0.12);--shadow-soft:0 2px 8px oklch(40% 0.03 165 / 0.1);
}
[data-theme="light-warm"]{
  --bg:oklch(98% 0.012 85);--bg-2:oklch(96% 0.015 80);--bg-3:oklch(93.5% 0.018 75);
  --panel:oklch(99.5% 0.008 85);--panel-2:oklch(97.5% 0.012 82);
  --border:oklch(89% 0.018 70);--border-soft:oklch(92.5% 0.014 75);--border-strong:oklch(82% 0.022 65);
  --fg:oklch(26% 0.025 55);--fg-2:oklch(38% 0.02 55);--fg-muted:oklch(52% 0.016 60);--fg-faint:oklch(64% 0.014 65);
  --accent:oklch(56% 0.15 45);--accent-2:oklch(60% 0.14 32);--accent-fg:oklch(100% 0 0);
  --accent-soft:oklch(91% 0.05 50);--accent-glow:oklch(56% 0.15 45 / 0.22);--accent-tint:oklch(94% 0.05 50);
  --feature-bg:oklch(97% 0.035 50);
  --green:oklch(50% 0.12 150);--amber:oklch(56% 0.13 65);--blue:oklch(52% 0.15 250);--red:oklch(54% 0.18 25);
  --ok-tint:oklch(94% 0.06 150);--ok-border:oklch(86% 0.08 150);
  --header-bg:oklch(98.5% 0.012 85 / 0.82);--header-bg-2:oklch(97% 0.014 82 / 0.92);
  --grid-line:oklch(30% 0.03 60 / 0.05);
  --shadow-demo:0 26px 60px oklch(45% 0.08 55 / 0.16);--shadow-card:0 22px 50px oklch(45% 0.08 55 / 0.12);--shadow-soft:0 2px 8px oklch(40% 0.04 55 / 0.1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--fg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01";overflow-x:hidden;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
a{color:inherit;text-decoration:none;}
.mono{font-family:var(--font-mono);font-feature-settings:"tnum";}
h1,h2,h3,h4{margin:0;letter-spacing:-0.02em;line-height:1.12;font-weight:700;}
p{margin:0;}
.bg-grid{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 75%);}
.bg-glow{position:fixed;top:-340px;left:50%;transform:translateX(-50%);width:900px;height:700px;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,var(--accent-glow),transparent 62%);opacity:var(--glow-op);filter:blur(20px);}
main,header,footer{position:relative;z-index:1;}

/* nav */
header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:var(--header-bg);border-bottom:1px solid var(--border-soft);}
.nav{display:flex;align-items:center;gap:14px;height:66px;}
.brand{display:flex;align-items:center;gap:11px;font-weight:600;font-size:16.5px;letter-spacing:-0.01em;}
.brand-mark{width:30px;height:30px;border-radius:8px;flex-shrink:0;background:linear-gradient(145deg,var(--accent),var(--accent-2));color:var(--accent-fg);display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:-0.04em;box-shadow:0 4px 14px var(--accent-glow);}
.brand small{color:var(--fg-faint);font-family:var(--font-mono);font-size:11px;font-weight:500;}
.nav-links{display:flex;align-items:center;gap:6px;margin-left:26px;}
.nav-links a{padding:7px 12px;border-radius:8px;font-size:14.5px;color:var(--fg-muted);transition:.15s;}
.nav-links a:hover{color:var(--fg);background:var(--bg-3);}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:10px;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-sans);font-size:15px;font-weight:600;padding:11px 20px;border-radius:10px;border:1px solid transparent;cursor:pointer;transition:transform .12s,box-shadow .2s,background .2s,border-color .2s;white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:linear-gradient(145deg,var(--accent),var(--accent-2));color:var(--accent-fg);box-shadow:0 6px 22px var(--accent-glow);}
.btn-primary:hover{box-shadow:0 10px 32px var(--accent-glow);}
.btn-ghost{background:var(--bg-3);color:var(--fg);border-color:var(--border);}
.btn-ghost:hover{background:var(--panel-2);border-color:var(--border-strong);}
.btn-lg{padding:15px 28px;font-size:16.5px;border-radius:12px;}
.btn-sm{padding:8px 14px;font-size:13.5px;}
.btn[disabled]{opacity:.5;cursor:not-allowed;}

/* forms */
.field{display:flex;flex-direction:column;gap:7px;}
.field label{font-size:13.5px;font-weight:500;color:var(--fg-2);}
.field label .req{color:var(--accent-2);}
.field .hint{font-size:12.5px;color:var(--fg-faint);}
.input,.textarea,.select{width:100%;font-family:var(--font-sans);font-size:15px;color:var(--fg);background:var(--bg-3);border:1px solid var(--border-strong);border-radius:10px;padding:12px 14px;outline:none;transition:border-color .15s,box-shadow .15s;}
.textarea{resize:vertical;min-height:120px;line-height:1.55;}
.input::placeholder,.textarea::placeholder{color:var(--fg-faint);}
.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);}
.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;cursor:pointer;}
.checkrow{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--fg-2);line-height:1.5;cursor:pointer;}
.checkrow input{appearance:none;flex-shrink:0;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-strong);background:var(--bg-3);margin-top:1px;cursor:pointer;transition:.15s;position:relative;}
.checkrow input:checked{background:var(--accent);border-color:var(--accent);}
.checkrow input:checked::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--accent-fg);border-width:0 2px 2px 0;transform:rotate(45deg);}
.checkrow a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px;}

/* card */
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);}

/* eyebrow / tags */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;font-weight:500;color:var(--accent-2);background:var(--accent-tint);border:1px solid var(--accent-soft);padding:6px 12px;border-radius:999px;}
.sec-tag{font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2);}

/* theme switcher */
.theme-fab{position:fixed;right:22px;bottom:22px;z-index:80;}
.theme-fab-btn{width:50px;height:50px;border-radius:50%;border:1px solid var(--border-strong);background:var(--panel);color:var(--accent-2);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px oklch(0% 0 0 / 0.3);transition:transform .15s;}
.theme-fab-btn:hover{transform:scale(1.06);}
.theme-panel{position:absolute;right:0;bottom:62px;width:248px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 24px 60px oklch(0% 0 0 / 0.4);opacity:0;transform:translateY(8px) scale(.97);transform-origin:bottom right;pointer-events:none;transition:opacity .18s,transform .18s;}
.theme-panel.open{opacity:1;transform:none;pointer-events:auto;}
.tp-head{font-size:11.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--fg-faint);font-weight:600;margin-bottom:13px;}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.tp-opt{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:9px;border-radius:11px;border:1px solid var(--border-soft);background:var(--bg-3);cursor:pointer;transition:.15s;font-family:var(--font-sans);text-align:left;}
.tp-opt:hover{border-color:var(--border-strong);background:var(--panel-2);}
.tp-opt.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow);}
.tp-sw{width:100%;height:32px;border-radius:8px;border:1px solid oklch(50% 0 0 / 0.2);}
.tp-opt span{font-size:12px;color:var(--fg-2);font-weight:500;}
@media(max-width:680px){.theme-fab{right:16px;bottom:16px;}.theme-panel{width:216px;}}
