/* docs.troya.click — мир Трои на читающей поверхности.
   Токены и правила — DESIGN.md. Внешних CDN и шрифтовых сервисов нет. */

@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/prata-cyrillic.woff2) format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/prata-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#0b0a09;
  --stone:#15120e;
  --edge:rgba(201,149,79,.20);
  --edge-2:rgba(201,149,79,.44);
  --bronze:#c9954f;
  --bronze-lit:#e8c48a;
  --bone:#f2ece3;
  --bone-dim:#a8a097;
  --display:Prata,"Times New Roman",Georgia,serif;
  --ui:system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;
  --rail:18px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --ease:cubic-bezier(.22,.61,.36,1);
  color-scheme:dark;
  accent-color:var(--bronze);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0 auto;max-width:560px;
  padding:0 var(--rail) calc(40px + var(--safe-bottom));
  background:var(--ink);color:var(--bone);
  font:15px/1.7 var(--ui);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--bronze);color:var(--ink)}
:focus-visible{outline:2px solid var(--bronze-lit);outline-offset:3px;border-radius:4px}
*{scrollbar-color:var(--bronze) var(--stone);scrollbar-width:thin}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:var(--stone)}
::-webkit-scrollbar-thumb{background:#5f4523;border-radius:2px}
::-webkit-scrollbar-thumb:hover{background:var(--bronze)}

a{color:var(--bronze-lit);text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:3px;text-decoration-color:var(--edge-2);
  transition:text-decoration-color .18s var(--ease)}
a:hover{text-decoration-color:var(--bronze-lit)}

/* свет из проёма: один источник, центр стоит на пороге ворот */
.aura{position:fixed;left:50%;top:0;width:min(860px,210vw);height:78vh;translate:-50% 0;
  pointer-events:none;z-index:0;
  background:radial-gradient(340px 250px at 50% 196px,rgba(232,196,138,.20),rgba(232,196,138,.055) 46%,transparent 74%)}
body.doc .aura{background:radial-gradient(300px 210px at 50% 40px,rgba(232,196,138,.13),rgba(232,196,138,.035) 48%,transparent 76%)}
.stage{position:relative;z-index:1}

/* ——— титул списка документов ——— */
.gate{padding:calc(20px + var(--safe-top)) 0 4px;text-align:center}
.mark{display:block;width:min(216px,56vw);height:auto;margin:0 auto 14px}
.word{font-family:var(--display);font-weight:400;font-size:clamp(40px,13vw,54px);line-height:1;
  letter-spacing:.12em;text-indent:.12em;margin:0;color:var(--bone)}
.desc{font:400 12px/1 var(--display);letter-spacing:.68em;text-indent:.68em;color:var(--bone-dim);
  margin:11px 0 0;text-transform:uppercase}
.hail{color:var(--bone-dim);margin:16px 0 0}

/* ——— шапка страницы документа ——— */
.masthead{display:flex;align-items:center;justify-content:space-between;gap:13px;
  padding:calc(16px + var(--safe-top)) 0 13px;border-bottom:1px solid var(--edge)}
.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none}
.sigil{width:26px;height:26px;flex:none}
.wordmark{font:400 19px/1 var(--display);letter-spacing:.12em;text-indent:.12em;color:var(--bone)}
.brand:hover .wordmark{color:var(--bronze-lit)}
.back{font:600 12px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;
  color:var(--bone-dim);text-decoration:none}
.back:hover{color:var(--bronze-lit)}

.doc-title{font-family:var(--display);font-weight:400;font-size:clamp(27px,6.6vw,34px);
  line-height:1.14;letter-spacing:.02em;margin:34px 0 0;color:var(--bone)}
.doc-lede{color:var(--bone-dim);margin:11px 0 0}

/* ——— шов свитка: раздел открывает линия, и только она ——— */
.sec{padding-top:34px}
.rule{display:grid;grid-template-columns:22px auto 1fr;align-items:center;gap:11px;margin:0 0 11px}
.rule span{font:400 12px/1 var(--display);letter-spacing:.4em;text-indent:.4em;
  text-transform:uppercase;color:var(--bronze-lit);white-space:nowrap}
.rule::before,.rule::after{content:"";height:1px}
.rule::before{background:var(--bronze)}
.rule::after{min-width:0;background:linear-gradient(90deg,var(--edge-2),transparent)}
.sec-name{font:600 19px/1.25 var(--ui);margin:0 0 11px;color:var(--bone)}

.sec p{margin:0 0 13px}
.sec p:last-child{margin-bottom:0}
.sec b{font-weight:600;color:var(--bronze-lit)}

.sec ul:not(.docs){list-style:none;margin:0 0 13px;padding:0}
.sec ul:not(.docs) li{position:relative;padding-left:22px;margin:0 0 9px}
.sec ul:not(.docs) li:last-child{margin-bottom:0}
.sec ul:not(.docs) li::before{content:"";position:absolute;left:0;top:.82em;width:11px;height:1px;
  background:var(--bronze)}

/* ——— оглавление документа ——— */
.toc{margin:18px 0 0;padding:13px 0 0;border-top:1px solid var(--edge)}
.toc-label{font:600 12px/1 var(--ui);letter-spacing:.09em;text-transform:uppercase;
  color:var(--bone-dim);margin:0 0 11px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.toc a{display:grid;grid-template-columns:22px 1fr;gap:11px;text-decoration:none;color:var(--bone-dim)}
.toc a:hover{color:var(--bronze-lit)}
.toc .n{font:400 12px/1.7 var(--display);letter-spacing:.1em;color:var(--bronze)}

/* ——— список документов ——— */
.docs{list-style:none;margin:0;padding:0;border-top:1px solid var(--edge)}
.docs li{border-bottom:1px solid var(--edge)}
.docs a{display:flex;align-items:center;gap:13px;min-height:66px;padding:13px 0;
  text-decoration:none;color:var(--bone);transition:color .18s var(--ease)}
.docs a:hover{color:var(--bronze-lit)}
.row-text{display:block;flex:1;min-width:0}
.row-title{display:block;font:600 19px/1.25 var(--ui)}
.row-blurb{display:block;font:400 15px/1.5 var(--ui);color:var(--bone-dim);margin-top:2px}
.docs a:hover .row-blurb{color:var(--bone-dim)}
.chev{width:13px;height:13px;flex:none;color:var(--bronze)}

/* ——— другие документы, внизу страницы документа ——— */
.siblings{margin-top:40px;padding-top:18px;border-top:1px solid var(--edge)}
.siblings ul{list-style:none;margin:0;padding:0}
.siblings li+li{border-top:1px solid var(--edge)}
.siblings a{display:flex;align-items:center;justify-content:space-between;gap:13px;
  min-height:46px;padding:9px 0;text-decoration:none;color:var(--bone);
  transition:color .18s var(--ease)}
.siblings a:hover{color:var(--bronze-lit)}
.siblings .chev{width:11px;height:11px}

/* ——— подвал ——— */
.foot{margin-top:40px;padding-top:18px;border-top:1px solid var(--edge);color:var(--bone-dim)}
.foot p{margin:0 0 9px}
.foot .edition{font-size:12px;line-height:1.6;margin:0}

@media print{
  .aura,.chev,.back,.toc{display:none}
  body{max-width:none;background:#fff;color:#111;font-size:11pt;line-height:1.5}
  a{color:#111;text-decoration:underline}
  .word,.wordmark,.doc-title,.sec-name,.row-title{color:#111}
  .rule span,.sec b,.toc .n{color:#6b4a1c}
  .rule::before{background:#6b4a1c}
  .rule::after{background:#ccc}
  .desc,.hail,.doc-lede,.row-blurb,.foot{color:#444}
  .masthead,.foot,.docs,.docs li{border-color:#ccc}
  .sec{break-inside:avoid-page}
}
