:root{
  --bg:#f6f1e7; --fg:#241f1a; --muted:#7a6f60; --accent:#9a6a2e; --rule:#e3d9c4;
  --barbg:rgba(246,241,231,.86);
}
[data-theme="dark"]{ --bg:#100d0a; --fg:#e9e1d2; --muted:#9b8f7c; --accent:#d8a45e; --rule:#2a241b; --barbg:rgba(16,13,10,.86); }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --bg:#100d0a; --fg:#e9e1d2; --muted:#9b8f7c; --accent:#d8a45e; --rule:#2a241b; --barbg:rgba(16,13,10,.86); }
}
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{ margin:0; background:var(--bg); color:var(--fg);
  font-family:"PT Serif",Georgia,"Times New Roman",serif;
  font-size:19px; line-height:1.7; letter-spacing:.1px; }
::selection{ background:rgba(216,164,94,.28); }
a{ color:inherit; }

/* прогресс-полоса чтения */
#progwrap{ position:fixed; top:0; left:0; right:0; height:2px; z-index:60; background:transparent; }
#prog{ height:100%; width:0; background:var(--accent); transition:width .1s linear; }

/* верхняя панель */
.bar{ position:sticky; top:0; z-index:50; display:flex; align-items:center; gap:1rem;
  padding:.55rem max(1rem,env(safe-area-inset-left)); backdrop-filter:saturate(1.2) blur(8px);
  background:var(--barbg); border-bottom:1px solid var(--rule); }
.bar .wm{ font-family:"Cormorant Garamond",serif; font-weight:600; font-size:1.05rem;
  letter-spacing:.22em; text-decoration:none; color:var(--fg); white-space:nowrap; }
.bar .mid{ flex:1; text-align:center; color:var(--muted); font-size:.82rem; letter-spacing:.03em;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bar .tools{ display:flex; align-items:center; gap:.9rem; }
.bar .lnk{ color:var(--muted); text-decoration:none; font-size:.82rem; letter-spacing:.12em; }
.bar .lnk:hover{ color:var(--accent); }
.bar .thm{ background:none; border:0; color:var(--muted); font-size:1.1rem; cursor:pointer; line-height:1; padding:0; }
.bar .thm:hover{ color:var(--accent); }

/* обёртка чтения */
.wrap{ max-width:34rem; margin:0 auto;
  padding:2.4rem max(1.15rem,env(safe-area-inset-left)) 6rem max(1.15rem,env(safe-area-inset-right)); }

.pmark{ text-align:center; margin:0 0 1.7rem; }
.pmark .pr{ display:block; color:var(--accent); font-size:.72rem; letter-spacing:.34em;
  text-transform:uppercase; }
.pmark .pn{ display:block; color:var(--muted); font-style:italic; font-size:.92rem; margin-top:.28rem; }
.pmark .chn{ display:block; color:var(--muted); font-size:.68rem; letter-spacing:.2em;
  text-transform:uppercase; margin-top:.55rem; opacity:.75; }
h1.ch{ font-family:"Cormorant Garamond",serif; font-weight:600; text-align:center;
  font-size:2.15rem; line-height:1.15; margin:.1rem 0 2.4rem; letter-spacing:.02em; }
h2{ font-family:"Cormorant Garamond",serif; font-weight:600; color:var(--accent);
  font-size:1.5rem; letter-spacing:.01em; margin:2.6rem 0 .7rem; }
h3{ font-size:1.05rem; color:var(--fg); margin:1.9rem 0 .5rem; font-weight:700; }
p{ margin:0 0 1.15rem; text-align:left; hyphens:auto; }
strong{ font-weight:700; }
em{ font-style:italic; }
blockquote{ margin:1.4rem 0; padding-left:1.1rem; border-left:2px solid var(--accent);
  color:var(--muted); font-style:italic; }
ul{ margin:0 0 1.15rem; padding-left:1.3rem; } li{ margin:.2rem 0; }
hr.sep{ border:0; height:0; margin:2.9rem 0; text-align:center; }
hr.sep::before{ content:"✧"; color:var(--muted); font-size:1rem; letter-spacing:.4em; }

.soon{ color:var(--muted); font-style:italic; text-align:center; margin:4rem 0; }

/* низ главы: пред/след */
.pager{ display:flex; justify-content:space-between; gap:1rem; margin-top:4rem;
  padding-top:1.6rem; border-top:1px solid var(--rule); }
.pager a,.pager span{ text-decoration:none; color:var(--muted); font-size:.9rem; max-width:46%; }
.pager a:hover{ color:var(--accent); }
.pager .nx{ text-align:right; margin-left:auto; }
.pager small{ display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; opacity:.7; }

/* ─── обложка / лендинг ─── */
.cover{ min-height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; position:relative; overflow:hidden; color:#f3e9d4;
  background:#07100f; padding:2rem 1.2rem; }
.cover::before{ content:""; position:absolute; inset:0; z-index:0;
  background:center/cover no-repeat url("assets/cover.jpg"); }
.cover::after{ content:""; position:absolute; inset:0; z-index:1;
  background:radial-gradient(120% 90% at 50% 42%, rgba(5,12,12,.15) 0%, rgba(5,10,11,.62) 62%, rgba(4,8,9,.9) 100%); }
.cover > *{ position:relative; z-index:2; }
.cover .t{ font-family:"Cormorant Garamond",serif; font-weight:600;
  font-size:clamp(3.2rem,17vw,8rem); letter-spacing:.28em; text-indent:.28em; margin:0;
  color:#e9c583; text-shadow:0 0 40px rgba(216,164,94,.35), 0 2px 30px rgba(0,0,0,.6); }
.cover .s{ margin:1.2rem 0 0; font-size:clamp(.95rem,3.6vw,1.15rem); color:#cdbfa4;
  font-style:italic; letter-spacing:.06em; }
.cover .cta{ margin-top:2.6rem; display:inline-flex; align-items:center; gap:.6rem;
  padding:.72rem 2.2rem; border:1px solid rgba(216,164,94,.6); border-radius:999px;
  color:#e9c583; text-decoration:none; font-family:"Cormorant Garamond",serif;
  font-size:1.15rem; letter-spacing:.2em; transition:.2s; background:rgba(216,164,94,.05); }
.cover .cta:hover{ background:rgba(216,164,94,.14); border-color:#e9c583; }
.cover .langs{ position:absolute; top:1.1rem; right:1.2rem; z-index:3; display:flex; gap:.9rem; }
.cover .langs a{ color:#cdbfa4; text-decoration:none; font-size:.82rem; letter-spacing:.14em; opacity:.75; }
.cover .langs a.on{ color:#e9c583; opacity:1; border-bottom:1px solid #e9c583; }
.cover .foot{ position:absolute; bottom:1.2rem; left:0; right:0; z-index:3;
  color:#8f8471; font-size:.72rem; letter-spacing:.14em; }

/* ─── оглавление ─── */
.toc{ max-width:34rem; margin:0 auto; padding:3rem max(1.15rem,env(safe-area-inset-left)) 6rem; }
.toc .lead{ text-align:center; margin:0 0 2.6rem; }
.toc .lead .tt{ font-family:"Cormorant Garamond",serif; font-size:2.4rem; font-weight:600;
  letter-spacing:.16em; text-indent:.16em; margin:0; }
.toc .lead .ss{ color:var(--muted); font-style:italic; margin:.5rem 0 0; }
.toc .part{ font-family:"Cormorant Garamond",serif; color:var(--accent); font-size:1.15rem;
  letter-spacing:.06em; margin:2.4rem 0 .9rem; padding-bottom:.4rem; border-bottom:1px solid var(--rule); }
.toc a.row,.toc span.row{ display:flex; align-items:baseline; gap:.8rem; text-decoration:none;
  padding:.62rem 0; color:var(--fg); border-bottom:1px solid transparent; }
.toc a.row:hover{ color:var(--accent); }
.toc .num{ color:var(--muted); font-size:.85rem; min-width:1.4rem; font-variant-numeric:tabular-nums; }
.toc .nm{ flex:1; }
.toc span.row{ color:var(--muted); }
.toc span.row .nm{ font-style:italic; }
.toc .tag{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); opacity:.7; }
