/* KGB-Network — общие стили сайта (главная, вход). Та же палитра, что у пульта v6 «Сайт» */
:root {
  --bg:#07080c; --bg2:#0c0e15; --surface:rgba(255,255,255,.035); --surface2:rgba(255,255,255,.06); --border:rgba(255,255,255,.08); --border2:rgba(255,255,255,.14);
  --text:#eceef6; --muted:#9aa2b8; --faint:#656d83; --violet:#8b5cf6; --indigo:#6366f1; --cyan:#22d3ee; --ok:#34d399; --bad:#fb7185;
  --grad:linear-gradient(135deg,#8b5cf6 0%,#6366f1 48%,#22d3ee 100%);
  --font:'Onest','Inter',system-ui,-apple-system,'Segoe UI',sans-serif; --display:'Unbounded','Onest',system-ui,sans-serif; --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text); font:15px/1.6 var(--font); -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
::selection { background:rgba(139,92,246,.4); }
/* фон: сетка и два мягких пятна */
.bgfx { position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px); background-size:64px 64px; }
.bgfx::before, .bgfx::after { content:''; position:absolute; width:70vmax; height:70vmax; border-radius:50%; filter:blur(100px); opacity:.3; animation:float 24s ease-in-out infinite alternate; }
.bgfx::before { background:radial-gradient(circle, rgba(139,92,246,.7), transparent 62%); left:-20vmax; top:-30vmax; }
.bgfx::after { background:radial-gradient(circle, rgba(34,211,238,.5), transparent 62%); right:-25vmax; bottom:-35vmax; animation-delay:-12s; opacity:.22; }
@keyframes float { to { transform:translate(6vmax, 5vmax) scale(1.12); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation:none !important; transition:none !important; } }

.wrap { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.logo { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--grad); color:#fff; font:700 11px/1 var(--display); letter-spacing:.04em;
  box-shadow:0 12px 28px -10px rgba(139,92,246,.9); flex:0 0 auto; }
.brand { display:flex; align-items:center; gap:12px; }
.brand b { font:700 16px/1.1 var(--display); background:linear-gradient(90deg, #fff 10%, #a78bfa 60%, #67e8f9); -webkit-background-clip:text; background-clip:text; color:transparent; }
.brand small { display:block; color:var(--muted); font-size:12px; line-height:1.3; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; height:48px; padding:0 22px; border-radius:14px; font:650 15px var(--font); cursor:pointer;
  border:1px solid var(--border2); background:var(--surface2); color:var(--text); transition:transform .15s, filter .15s, background .15s, border-color .15s; }
.btn:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.22); transform:translateY(-1px); }
.btn.pri { background:var(--grad); border-color:transparent; color:#fff; box-shadow:0 18px 36px -16px rgba(99,102,241,.95); }
.btn.pri:hover { filter:brightness(1.08); }
.btn.sm { height:40px; padding:0 16px; font-size:14px; border-radius:12px; }
.kicker { display:inline-flex; align-items:center; gap:8px; padding:6px 14px 6px 8px; border-radius:999px; background:var(--surface2); border:1px solid var(--border);
  color:var(--muted); font:600 12px var(--font); letter-spacing:.06em; }
.kicker i { font-style:normal; width:22px; height:22px; display:grid; place-items:center; border-radius:999px; background:rgba(52,211,153,.15); color:var(--ok); font-size:11px; }
.grad { background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent; }
code { font:600 13px var(--mono); padding:2px 7px; border-radius:7px; background:rgba(139,92,246,.14); border:1px solid rgba(139,92,246,.28); color:#ddd6fe; white-space:nowrap; }
