:root{
  --bg:#08060f;--bg2:#0e0a1c;--panel:#161129;--panel2:#1c1533;
  --edge:rgba(212,180,120,.22);--edge-soft:rgba(180,160,220,.14);
  --gold:#d9b45b;--gold-hi:#f2d98c;--violet:#8a6cff;
  --text:#ece7f6;--muted:#a49bc0;--snake:#d0563e;--arrow:#e8c877;--ok:#7fd5a3;
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--bg);line-height:1.72;
  background-image:
    radial-gradient(1100px 640px at 82% -6%,rgba(122,92,255,.16),transparent 60%),
    radial-gradient(820px 560px at 8% 104%,rgba(217,180,91,.10),transparent 60%),
    linear-gradient(160deg,#08060f,#0e0a1c 55%,#0a0714);
  background-attachment:fixed;-webkit-font-smoothing:antialiased}
.wrap{max-width:840px;margin:0 auto;padding:0 20px}
a{color:var(--gold-hi);text-decoration:none}
a:hover{text-decoration:underline}

/* ===== Шапка ===== */
.site-head{position:sticky;top:0;z-index:20;background:rgba(10,7,20,.85);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--edge-soft)}
.site-head__in{display:flex;align-items:center;gap:16px;padding:11px 20px;max-width:1120px;margin:0 auto}
.site-logo{font-family:var(--serif);font-size:23px;color:var(--gold-hi);letter-spacing:.04em;flex:0 0 auto}
.site-nav{display:flex;gap:16px;flex-wrap:wrap;flex:1}
.site-nav a{color:var(--muted);font-size:14px}
.site-nav a:hover,.site-nav a[aria-current]{color:var(--gold-hi);text-decoration:none}
.site-nav a[aria-current]{border-bottom:1px solid var(--gold);padding-bottom:1px}
.site-play{flex:0 0 auto;background:linear-gradient(135deg,var(--gold),var(--gold-hi));color:#241a08;
  font-weight:600;padding:8px 18px;border-radius:10px;font-size:14px}
.site-play:hover{text-decoration:none;filter:brightness(1.06)}

/* ===== Хлебные крошки ===== */
.crumbs{padding-top:20px;color:var(--muted);font-size:13px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--gold-hi)}
.crumbs span{color:#6f6690;margin:0 5px}

/* ===== Статья ===== */
.article{padding:12px 20px 60px}
.article h1{font-family:var(--serif);font-weight:500;font-size:clamp(30px,5vw,46px);color:var(--gold-hi);
  line-height:1.14;margin:14px 0 10px;letter-spacing:.01em}
.article .lead{font-size:19px;color:#d8d0ee;margin:0 0 28px;font-weight:300;line-height:1.6}
.article h2{font-family:var(--serif);font-weight:500;font-size:clamp(24px,3.4vw,32px);color:var(--gold);
  margin:40px 0 12px;padding-top:14px;border-top:1px solid var(--edge-soft)}
.article h3{font-family:var(--serif);font-weight:600;font-size:21px;color:var(--gold-hi);margin:26px 0 8px}
.article p{margin:0 0 15px}
.article ul,.article ol{margin:0 0 16px;padding-left:22px}
.article li{margin:0 0 9px}
.article strong,.article b{color:var(--gold-hi);font-weight:600}
.article p a,.article li a{border-bottom:1px solid rgba(242,217,140,.35)}

.callout{background:var(--panel);border:1px solid var(--edge-soft);border-left:3px solid var(--gold);
  border-radius:10px;padding:16px 18px;margin:22px 0}
.callout p:last-child{margin:0}
.callout--soft{border-left-color:var(--violet)}

/* ===== FAQ ===== */
.faq{margin:14px 0 4px}
.faq details{background:var(--panel);border:1px solid var(--edge-soft);border-radius:10px;margin:0 0 10px;padding:0 18px}
.faq summary{cursor:pointer;padding:15px 0;font-weight:500;color:var(--gold-hi);font-size:16.5px;list-style:none;
  display:flex;justify-content:space-between;gap:14px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:22px;line-height:1;flex:0 0 auto}
.faq details[open] summary::after{content:"–"}
.faq details[open] summary{border-bottom:1px solid var(--edge-soft)}
.faq details>p{padding:13px 0 15px;color:var(--muted);margin:0}

/* ===== Таблица клеток ===== */
.tblwrap{overflow-x:auto;margin:18px 0;border:1px solid var(--edge-soft);border-radius:12px}
table.cells{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
table.cells th{background:rgba(217,180,91,.10);color:var(--gold-hi);text-align:left;padding:11px 13px;font-weight:500;
  font-family:var(--serif);font-size:17px}
table.cells td{padding:11px 13px;border-top:1px solid var(--edge-soft);vertical-align:top;color:var(--muted)}
table.cells td.n{color:var(--gold);font-family:var(--serif);font-weight:600;width:42px;font-size:16px}
table.cells td.ru{color:var(--text)}
table.cells td.ru b{color:var(--gold-hi);font-weight:600;display:block}
table.cells .san{color:#7a719c;font-size:12.5px}
table.cells .tag{font-size:12px;padding:1px 8px;border-radius:20px;white-space:nowrap}
table.cells .tag.a{color:var(--arrow);border:1px solid rgba(232,200,119,.4)}
table.cells .tag.s{color:var(--snake);border:1px solid rgba(208,86,62,.4)}
table.cells tr.lvl th{background:linear-gradient(90deg,rgba(122,92,255,.16),transparent);color:#c9bcff;
  font-family:var(--sans);font-size:13px;letter-spacing:.05em;text-transform:uppercase;padding:12px 13px}
table.cells tbody tr:hover td{background:rgba(122,92,255,.06)}

/* списки змей/стрел */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:16px 0}
.paths .col h3{margin-top:0}
.paths ul{list-style:none;padding:0}
.paths li{padding:8px 12px;border:1px solid var(--edge-soft);border-radius:8px;margin-bottom:8px;
  font-size:14px;color:var(--text);background:var(--panel)}
.paths .arrow li{border-left:3px solid var(--arrow)}
.paths .snake li{border-left:3px solid var(--snake)}
.paths b{color:var(--gold-hi)}
@media(max-width:640px){.paths{grid-template-columns:1fr}}

/* ===== CTA ===== */
.cta{margin:46px 0 0;background:linear-gradient(165deg,var(--panel),var(--panel2));
  border:1px solid var(--edge);border-radius:18px;padding:32px 26px;text-align:center}
.cta h2{border:none;padding:0;margin:0 0 8px;font-family:var(--serif);color:var(--gold-hi);font-size:28px}
.cta p{color:var(--muted);max-width:560px;margin:0 auto 20px}
.btn-gold{display:inline-block;background:linear-gradient(135deg,var(--gold),var(--gold-hi));color:#241a08;
  font-weight:600;padding:14px 30px;border-radius:12px;font-size:16px;box-shadow:0 8px 26px rgba(217,180,91,.28)}
.btn-gold:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 12px 32px rgba(217,180,91,.4)}

/* ===== Похожие разделы ===== */
.related{margin:30px 0 0}
.related h2{font-size:20px}
.related__chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.related__chips a{background:var(--panel);border:1px solid var(--edge-soft);border-radius:999px;padding:9px 17px;
  font-size:14px;color:var(--muted)}
.related__chips a:hover{border-color:var(--gold);color:var(--gold-hi);text-decoration:none}

/* ===== Футер ===== */
.site-foot{border-top:1px solid var(--edge-soft);background:rgba(8,6,15,.6);margin-top:24px}
.site-foot__in{padding:28px 20px 44px;max-width:1120px;margin:0 auto}
.site-foot__nav{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px}
.site-foot__nav a{color:var(--muted);font-size:14px}
.site-foot__nav a:hover{color:var(--gold-hi)}
.site-foot__note{color:#6f6690;font-size:13px;max-width:760px;line-height:1.6}

@media(max-width:640px){
  .site-head__in{flex-wrap:wrap;gap:10px 14px}
  .site-nav{order:3;width:100%;gap:14px}
  .article .lead{font-size:17px}
  .article h2{margin-top:32px}
}
