:root{
  --bg:#06080d; --card:#0f1620; --border:#21303f; --text:#e8f1f8; --muted:#6b8299;
  --hud:#3ad8ff; --hud-dim:rgba(58,216,255,0.42);
  --accent:#a78bfa; --green:#4ade80; --yellow:#fbbf24; --amber-edge:#f59e0b; --red:#f87171;
  --font-display:'Orbitron','JetBrains Mono',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --maxw:720px;
}
[data-theme="light"]{
  --bg:#eef2f6; --card:#ffffff; --border:#cfdae5; --text:#16212e; --muted:#5a6b7d;
  --hud:#0a87b8; --hud-dim:rgba(10,135,184,0.30);
  --accent:#6d4bd8; --green:#1f9d57; --yellow:#b9760a; --amber-edge:#b9760a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-weight:500;line-height:1.62;
  font-size:17px;color:var(--text);background-color:var(--bg);
  background-image:
    radial-gradient(120% 70% at 50% -8%,rgba(58,216,255,0.10),transparent 60%),
    radial-gradient(90% 60% at 100% 108%,rgba(124,58,237,0.08),transparent 60%),
    repeating-linear-gradient(62deg,transparent 0 46px,rgba(58,216,255,0.035) 46px 47px,transparent 47px 92px),
    repeating-linear-gradient(-62deg,transparent 0 60px,rgba(124,58,237,0.03) 60px 61px,transparent 61px 122px),
    linear-gradient(180deg,#080b12,#05070b);
  background-attachment:fixed;}
[data-theme="light"] body{background-image:
    radial-gradient(120% 70% at 50% -8%,rgba(10,135,184,0.06),transparent 60%),
    linear-gradient(180deg,#eef2f6,#e7edf3);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:18px 18px 80px}
a{color:var(--hud);text-decoration:none}
a:hover{text-decoration:underline}

/* ── SVG-октагон (ДС even-cant): один path fill+stroke, non-scaling-stroke, скруглён.
   Форма перерисовывается JS под реальный размер (см. скрипт внизу). overflow:visible
   ОБЯЗАТЕЛЕН — иначе SVG срежет внешнюю половину канта. ── */
.oct{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block;overflow:visible}
.oct path{vector-effect:non-scaling-stroke;stroke-width:1.4;stroke-linejoin:round;fill:#0d1822;stroke:var(--hud-dim)}
[data-theme="light"] .oct path{fill:#fff}

.top{display:flex;align-items:flex-start;justify-content:space-between;padding:10px 0 18px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.brand-row{display:flex;align-items:center;gap:12px}
.brand .coin{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:8px;
  background:radial-gradient(120% 120% at 30% 25%,#2bb6f2,#0a4f8c 70%,#063256);color:#fff;
  font-size:1.05rem;font-weight:800;box-shadow:0 0 14px rgba(58,216,255,.45),inset 0 1px 2px rgba(255,255,255,.4)}
.lk-name{font-family:var(--font-display);font-weight:800;font-size:1.55rem;letter-spacing:.01em}
.lk-name b{color:var(--hud);text-shadow:0 0 12px var(--hud-dim)}
.brand-sub{font-family:var(--font-mono);font-weight:700;font-size:.58rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.brand-sub i{color:var(--hud);font-style:normal;opacity:.85}
.toggle{position:relative;isolation:isolate;font-family:var(--font-mono);font-weight:700;font-size:.72rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--text);cursor:pointer;padding:8px 14px;
  background:transparent;border:none}
.toggle .oct path{fill:var(--card);stroke:var(--border)}
.toggle:hover{color:var(--hud)} .toggle:hover .oct path{stroke:var(--hud)}
.ctrls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.langs{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:360px}
.langs a{position:relative;isolation:isolate;font-family:var(--font-mono);font-weight:700;font-size:.72rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px;cursor:pointer}
.langs a .oct path{fill:var(--card);stroke:var(--border)}
.langs a:hover{color:var(--hud);text-decoration:none} .langs a:hover .oct path{stroke:var(--hud)}
.langs a.on{color:var(--hud)} .langs a.on .oct path{stroke:var(--hud);fill:#0d1f28}
.crumbs{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--muted);
  text-transform:uppercase;margin-bottom:14px}
.crumbs a{color:var(--muted)} .crumbs b{color:var(--hud)}
h1{font-family:var(--font-display);font-weight:800;font-size:1.9rem;line-height:1.15;
  letter-spacing:.01em;margin:.2em 0 .4em;text-transform:uppercase}
h2{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:.05em;
  text-transform:uppercase;margin:2.2em 0 .7em;color:var(--text)}
.section-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--hud);margin-bottom:6px;display:block}
.prose{font-size:1.02rem;line-height:1.7;margin:8px 0 4px}
.prose p{margin:0 0 1em} .prose strong{color:var(--hud)}
/* руками положенные картинки (28.08) — нет резервации места, появятся при пересборке */
.hub-img,.page-img{display:block;width:100%;max-width:100%;height:auto;border-radius:4px;
  border:1px solid var(--border);margin:.4em 0 1.2em}

.plate{position:relative;isolation:isolate;margin:16px 0}
.plate .pad{padding:18px 20px;position:relative}
.answer .pad{font-size:1.05rem;line-height:1.6}
.answer strong{color:var(--hud)}
.num{font-family:var(--font-mono);font-weight:700;color:var(--hud)}
details{border-bottom:1px solid var(--border);padding:14px 2px}
details summary{cursor:pointer;font-weight:700;font-size:1.02rem;list-style:none;
  display:flex;justify-content:space-between;gap:12px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:'+';font-family:var(--font-mono);color:var(--hud);font-size:1.2rem}
details[open] summary::after{content:'\2212'}
details .a{padding-top:10px;color:var(--text);opacity:.92}
details .src{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;
  color:var(--muted);text-transform:uppercase;margin-top:8px}
/* советы на десктоп — две колонки читаемой (портретной) ширины, не одна на весь экран */
.faqs details{break-inside:avoid}
@media (min-width:960px){
  :root{--maxw:1180px}
  .faqs{column-count:2;column-gap:48px}
}
/* тег типа абзаца (хвост-антологии: lifehack/reglament/howto/risk/case/service) */
.tag{display:inline-block;font-family:var(--font-mono);font-weight:400;font-size:.62rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);
  border-radius:5px;padding:1px 6px;margin-right:8px;vertical-align:2px;white-space:nowrap}
.tag.risk{color:var(--red);border-color:var(--red)}
.tag.reglament{color:var(--accent);border-color:var(--accent)}
.tag.lifehack{color:var(--green);border-color:var(--green)}
.tag.service{color:var(--yellow);border-color:var(--yellow)}
.tag.howto{color:var(--hud);border-color:var(--hud)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}
.chip{position:relative;isolation:isolate;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;
  text-transform:uppercase;padding:10px 16px;color:var(--text);background:transparent}
.chip:hover{color:var(--hud);text-decoration:none} .chip:hover .oct path{stroke:var(--hud)}
.chip.soon{color:var(--muted);cursor:default;pointer-events:none}
.chip.soon::after{content:'· скоро';opacity:.7;margin-left:6px}
.qlist{list-style:none;padding:0;margin:10px 0}
.qlist li{padding:14px 2px 14px 28px;border-bottom:1px solid var(--border);font-size:1.04rem;
  font-weight:600;position:relative}
.qlist li::before{content:'«';position:absolute;left:2px;top:11px;color:var(--hud);font-size:1.3rem}

/* ── Хаб-сетка (index): карточки-октагоны ── */
.grid{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}
.card{position:relative;isolation:isolate;display:block;width:calc(50% - 7px);min-width:230px;flex:1 1 230px;
  padding:18px 20px;color:var(--text)}
.card .oct path{fill:var(--card);stroke:var(--hud-dim)}
.card:hover{text-decoration:none} .card:hover .oct path{stroke:var(--hud)}
.card .ti{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:.02em;
  text-transform:uppercase;display:flex;align-items:center;gap:10px}
.card .ds{display:block;font-size:.9rem;color:var(--muted);margin-top:6px;text-transform:none;letter-spacing:0}
.card.soon{cursor:default;pointer-events:none}
.card.soon .ti{color:var(--muted)}
.card.soon .ti::after{content:'· скоро';font-family:var(--font-mono);font-size:.6rem;opacity:.7}
.card .fl{font-size:1.15rem;line-height:1}

/* ── Поиск по странам (home) ── */
.search{position:relative;isolation:isolate;margin:18px 0}
.search input{width:100%;background:transparent;border:none;outline:none;color:var(--text);
  font-family:var(--font-body);font-size:1.05rem;padding:17px 20px}
.search input::placeholder{color:var(--muted)}
.search .oct path{fill:var(--card);stroke:var(--hud-dim)}
.search:focus-within .oct path{stroke:var(--hud)}
#sugg,#gsugg{margin:-6px 0 8px;display:none}
#sugg a,#gsugg a{display:block;padding:9px 14px;color:var(--text);font-size:.98rem;border-bottom:1px solid var(--border)}
#sugg a:hover,#gsugg a:hover{color:var(--hud);text-decoration:none}
#sugg a.nores,#gsugg a.nores{color:var(--muted);cursor:default}
/* поиск по заголовкам стоит над крошками на каждой странице — поле уже, чем на главной */
.gsearch{margin:10px 0 4px}
.gsearch input{font-size:.98rem;padding:12px 16px}
p.nores{color:var(--muted)}

/* ── По регионам (home): details-аккордеон ── */
.regions{margin:10px 0 4px}
details.reg{border-bottom:1px solid var(--border);padding:14px 2px}
details.reg summary{cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:1rem;
  letter-spacing:.03em;text-transform:uppercase;list-style:none;display:flex;align-items:center;gap:12px}
details.reg summary::-webkit-details-marker{display:none}
details.reg summary::after{content:'+';font-family:var(--font-mono);color:var(--hud);font-size:1.2rem;margin-left:auto}
details.reg[open] summary::after{content:'\2212'}
details.reg .cnt{font-family:var(--font-mono);font-weight:700;font-size:.9rem;color:var(--muted)}
.rlist{display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:12px}
.rlist a{color:var(--text);font-size:.98rem}
.rlist a:hover{color:var(--hud);text-decoration:none}

.cta{margin-top:34px}
.cta.luky{margin:10px 0 6px}
.cta.luky .search{width:100%;margin:0 0 6px}
.cta.luky .search input{padding:12px 16px;font-size:.98rem}
.cta .oct path{fill:#160c02;stroke:var(--amber-edge)}
[data-theme="light"] .cta .oct path{fill:#fdf1d8}
.cta .pad{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta h2{margin:0;color:var(--yellow);text-shadow:0 0 14px rgba(245,158,11,.4)}
.cta p{margin:0;color:var(--text);opacity:.9}
.cta .ps{opacity:.66;font-size:.92rem;font-style:italic}
.cta .btn{position:relative;isolation:isolate;font-family:var(--font-body);font-weight:800;font-size:1rem;
  letter-spacing:.02em;text-transform:uppercase;color:#ffe8c2;background:transparent;padding:15px 24px;
  border:none;cursor:pointer;text-decoration:none;display:inline-block;
  text-shadow:0 0 12px rgba(245,158,11,.7);filter:drop-shadow(0 0 7px rgba(245,158,11,.4));transition:transform .1s}
.cta .btn .oct path{fill:#160c02;stroke:var(--amber-edge)}
[data-theme="light"] .cta .btn .oct path{fill:#fff3df}
.cta .btn:hover{transform:scale(.98);text-decoration:none}
footer{margin-top:46px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted)}
.f-brand{font-family:var(--font-display);font-weight:800;font-size:.95rem;letter-spacing:.02em;color:var(--text)}
.f-brand b{color:var(--hud)}
.f-links{display:flex;flex-wrap:wrap;gap:18px;margin:12px 0}
.f-links a{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.f-links a:hover{color:var(--hud)}
.f-disc{font-size:.82rem;line-height:1.5;max-width:560px;margin:10px 0}
.f-copy{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;margin-top:10px}

/* поле в плашке Luky; итоги — под плашкой (17.09) */
.gsearch{display:flex;align-items:center;gap:10px}
.gsearch input{flex:1;min-width:0}
.gsearch .askbtn{border:0;cursor:pointer;margin-right:10px;flex:none;color:var(--hud);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;background:transparent}
.gsearch .askbtn .oct path{fill:var(--card);stroke:var(--hud-dim)}
.gsearch .askbtn:hover .oct path{stroke:var(--hud)}
.luky.busy .askbtn{opacity:.5;pointer-events:none}
#gsugg{margin:0 0 10px}
#askLog:empty{display:none}
#askLog{display:flex;flex-direction:column;gap:8px;margin:0 0 18px;max-height:60vh;overflow:auto}
.ask-u,.ask-m,.ask-w{padding:10px 14px;border-radius:6px;white-space:pre-wrap;line-height:1.5}
.ask-u{align-self:flex-end;background:rgba(167,139,250,.14);max-width:85%}
.ask-m{background:var(--card);border:1px solid var(--hud-dim)}
.ask-w{color:var(--muted);font-style:italic}
.root-langs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.root-langs a{display:inline-block;padding:8px 14px;border:1px solid var(--hud-dim);border-radius:6px;color:var(--text);text-decoration:none}
