/* cyrillic-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_zWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_XWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_3WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_LWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_7WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J__WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_HWTEKVt8k.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_zWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_XWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_3WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_LWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_7WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J__WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_HWTEKVt8k.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_zWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_XWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_3WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_LWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_7WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J__WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_HWTEKVt8k.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_zWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_XWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_3WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_LWTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_7WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J__WTEKVt8m1ow.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Literata';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/literata/v40/or3PQ6P12-iJxAIgLa78DkTtAoDhk0oVpaK3YLanFLHpPf2TbLi4J_HWTEKVt8k.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ptsans/v18/jizaRExUiTo99u79D0-ExcOPIDUg-g.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ptsans/v18/jizaRExUiTo99u79D0aExcOPIDUg-g.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ptsans/v18/jizaRExUiTo99u79D0yExcOPIDUg-g.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ptsans/v18/jizaRExUiTo99u79D0KExcOPIDU.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ptsans/v18/jizfRExUiTo99u79B_mh0OOtLR8a8zILig.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ptsans/v18/jizfRExUiTo99u79B_mh0OqtLR8a8zILig.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ptsans/v18/jizfRExUiTo99u79B_mh0OCtLR8a8zILig.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ptsans/v18/jizfRExUiTo99u79B_mh0O6tLR8a8zI.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{
  --canvas:#fdfcf8; --paper:#f6f3ec; --paper2:#efeadf; --ink:#26231c; --ink2:#6b6558;
  --cloth:#2c4a38; --gold:#b08d3e; --gold2:#8f7230;
  --line:#ddd6c6; --read:#2e6e4e;
  --serif:'Literata', Georgia, 'Times New Roman', serif;
  --sans:'PT Sans', 'Segoe UI', system-ui, sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0}
html{scroll-behavior:smooth}
body{background:var(--canvas); color:var(--ink); font-family:var(--serif); font-size:15px; line-height:1.45}

/* ---------- авторизация ---------- */
.auth-gate{display:none; min-height:100vh; padding:28px 18px; place-items:center; background:var(--cloth)}
body.auth-checking{min-height:100vh; overflow:hidden; background:var(--cloth)}
body.auth-checking > .hero,body.auth-checking > .toolbar,body.auth-checking > main,body.auth-checking > footer,body.auth-checking .auth-gate{display:none}
body.auth-locked{overflow:hidden}
body.auth-locked .auth-gate{display:grid}
body.auth-locked > .hero,body.auth-locked > .toolbar,body.auth-locked > main,body.auth-locked > footer{display:none}
.auth-card{width:min(100%,430px); padding:30px; border:1px solid rgba(176,141,62,.55); border-radius:16px;
  background:#fdfcf8; box-shadow:0 22px 60px rgba(0,0,0,.24)}
.auth-kicker{display:block; color:var(--gold2); font-family:var(--sans); font-size:10px; font-weight:700;
  letter-spacing:1.2px; text-transform:uppercase}
.auth-card h1{margin-top:7px; color:var(--ink); font-size:31px; line-height:1.15}
.auth-copy{margin-top:9px; color:var(--ink2); font-family:var(--sans); font-size:14px; line-height:1.45}
.auth-form{display:grid; gap:15px; margin-top:24px}
.auth-form[hidden]{display:none}
.auth-form label{display:grid; gap:6px; color:var(--ink2); font-family:var(--sans); font-size:11px; font-weight:700;
  letter-spacing:.7px; text-transform:uppercase}
.auth-form input{width:100%; height:44px; padding:0 12px; border:1px solid var(--line); border-radius:7px;
  background:#fff; color:var(--ink); font-family:var(--sans); font-size:15px; outline:0}
.auth-form input:focus{border-color:var(--gold); box-shadow:0 0 0 3px rgba(176,141,62,.14)}
.auth-form input[readonly]{background:#f4f1e9; color:var(--ink2)}
.auth-form button{height:44px; border:0; border-radius:7px; background:var(--cloth); color:#fff; cursor:pointer;
  font-family:var(--sans); font-size:14px; font-weight:700}
.auth-form button:hover{background:#365b45}
.auth-form button:disabled{cursor:wait; opacity:.65}
.auth-error{min-height:20px; margin-top:13px; color:#9a342b; font-family:var(--sans); font-size:12.5px}
.auth-logout{flex:0 0 auto; min-height:32px; padding:5px 12px; border:1px solid var(--line); border-radius:16px; background:#fff;
  color:var(--ink2); cursor:pointer; font-family:var(--sans); font-size:11px; font-weight:700; transition:border-color .15s,color .15s,background .15s}
.auth-logout:hover{border-color:var(--gold); background:#fdfbf6; color:var(--gold2)}
@media (max-width:640px){
  .auth-card{padding:24px 20px}
  .auth-card h1{font-size:27px}
}

/* ---------- шапка ---------- */
header.hero{background:var(--cloth); color:#f2eddc; padding:22px 24px 20px; position:relative}
header.hero::after{content:''; position:absolute; left:0; right:0; bottom:0; height:4px;
  background:repeating-linear-gradient(90deg, var(--gold) 0 14px, transparent 14px 20px)}
.hero-in{max-width:1060px; margin:0 auto}
.hero-title-row{display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:nowrap}
.hero h1{font-weight:600; font-size:45px; line-height:1.05; letter-spacing:.5px}
.hero-motto{display:flex; align-items:center; gap:10px; padding:7px 8px 7px 13px; border:1px solid rgba(222,171,70,.72);
  border-radius:10px; background:rgba(196,137,41,.17); box-shadow:inset 0 0 0 1px rgba(255,226,157,.045),0 4px 14px rgba(0,0,0,.08)}
.hero-motto span{color:#fff; font-family:var(--serif); font-size:17px; font-style:normal; font-weight:600; line-height:1; letter-spacing:.2px; white-space:nowrap}
.hero-motto b{display:inline-grid; place-items:center; min-width:48px; height:26px; padding:0 9px; border-radius:13px; background:#d3a03f;
  color:var(--cloth); font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.6px}
.hero .sub{font-family:var(--sans); font-size:13px; color:#cfc8ac; margin-top:6px; letter-spacing:.4px}
.hero-stats{display:flex; gap:16px; margin-top:22px; flex-wrap:wrap; font-family:var(--sans)}
.hgroup{flex:1 1 300px; background:rgba(0,0,0,.16); border:1px solid rgba(176,141,62,.35);
  border-radius:10px; padding:16px 20px; display:flex; align-items:center; gap:18px}
.hg-ring{flex:0 0 auto; width:66px; height:66px; border-radius:50%; display:grid; place-items:center; position:relative;
  background:conic-gradient(var(--gold) 0deg, rgba(0,0,0,.28) 0deg)}
.hg-ring::before{content:''; position:absolute; inset:7px; border-radius:50%; background:var(--cloth)}
.hg-ring .rn{font-family:var(--serif); font-size:18px; font-weight:600; color:#f2eddc; z-index:1}
.hg-main{flex:1 1 auto; min-width:0}
.hg-label{font-size:11px; text-transform:uppercase; letter-spacing:1.4px; color:#cfc8ac; margin-bottom:4px}
.hg-body{display:flex; align-items:baseline; gap:7px; white-space:nowrap}
.hg-big{font-family:var(--serif); font-size:27px; font-weight:600; color:var(--gold); line-height:1}
.hg-of{font-size:14px; color:#d8cfae}
.hg-of b{color:#f2eddc; font-weight:600}
.hg-mini{margin-top:9px; height:5px; background:rgba(0,0,0,.3); border-radius:3px; overflow:hidden}
.hg-mini .f{height:100%; background:linear-gradient(90deg, var(--gold2), var(--gold)); border-radius:3px; width:0; transition:width .5s ease}
.progress-track{display:none}
.progress-fill{display:none}
@media (min-width:561px){
  .hero-title-row{align-items:baseline}
  .hero h1{line-height:1}
  .hero-motto{min-height:45px}
}
@media (max-width:560px){
  .hero-title-row{align-items:flex-start; flex-direction:column; gap:12px}
  .hero h1{font-size:35px}
}

/* ---------- панель ---------- */
.toolbar{position:sticky; top:0; z-index:20; background:var(--canvas); border-bottom:1px solid var(--line);
  padding:9px 24px; box-shadow:0 2px 8px rgba(38,35,28,.06)}
.toolbar-in{max-width:1060px; margin:0 auto; display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.search{flex:1 1 220px; min-width:180px}
/* поиск и фильтр убраны из интерфейса */
.search input{width:100%; padding:8px 12px; border:1px solid var(--line); border-radius:6px;
  background:#fff; font-family:var(--sans); font-size:14px; color:var(--ink)}
.search input:focus{outline:2px solid var(--gold); outline-offset:-1px; border-color:var(--gold)}
.seg{display:flex; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:#fff}
.seg button{border:0; background:transparent; padding:8px 12px; font-size:13px; cursor:pointer; color:var(--ink2); font-family:var(--sans)}
.seg button.on{background:var(--cloth); color:#f2eddc}
.btn{border:1px solid var(--line); background:#fff; border-radius:6px; padding:8px 14px;
  font-family:var(--sans); font-size:13px; cursor:pointer; color:var(--ink)}
.btn:hover{border-color:var(--gold); color:var(--gold2)}
.nav-chips{max-width:1060px; margin:8px auto 0; display:flex; gap:8px; flex-wrap:wrap}
.nav-chips a{font-family:var(--sans); font-size:12.5px; text-decoration:none; color:var(--ink2);
  border:1px solid var(--line); border-radius:20px; padding:4px 12px; background:#fff}
.nav-chips a:hover{color:var(--cloth); border-color:var(--cloth)}

/* ---------- разделы ---------- */
main{max-width:1108px; margin:0 auto; padding:26px 24px 80px}
section.block{margin-bottom:46px}
.spine{display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  background:var(--cloth); color:var(--gold); border-radius:4px; padding:10px 16px;
  box-shadow:inset 0 0 0 1px rgba(176,141,62,.45), inset 0 0 0 3px var(--cloth)}
.spine h2{font-size:18px; font-weight:600; letter-spacing:.8px}
.spine .cnt{font-family:var(--sans); font-size:12px; color:#d8cfae; white-space:nowrap}
.grp{margin-top:22px}
.grp h3{font-size:15.5px; font-weight:700; letter-spacing:.3px; margin-bottom:2px}
.grp .sub-h{font-size:13.5px; font-style:italic; color:var(--ink2); margin:10px 0 2px}

/* ---------- библиотека: карточки ---------- */
.lib-summary{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:22px}
.ls-card{display:flex; align-items:center; gap:18px; border:1px solid var(--line); border-radius:10px;
  background:#fff; padding:16px 20px; box-shadow:0 2px 5px rgba(38,35,28,.06),0 8px 20px rgba(38,35,28,.07)}
.ls-ring{flex:0 0 auto; width:70px; height:70px; border-radius:50%; display:grid; place-items:center; position:relative;
  background:conic-gradient(var(--gold) 0deg, var(--paper2) 0deg)}
.ls-ring::before{content:''; position:absolute; inset:8px; border-radius:50%; background:#fff}
.ls-pct{position:relative; z-index:1; font-family:var(--serif); font-size:18px; font-weight:600; color:var(--gold2)}
.ls-main{flex:1 1 auto; min-width:0}
.ls-label{font-family:var(--sans); font-size:11px; text-transform:uppercase; letter-spacing:1.2px; color:var(--ink2); margin-bottom:4px}
.ls-body{display:flex; align-items:baseline; gap:7px; white-space:nowrap}
.ls-big{font-family:var(--serif); font-size:27px; font-weight:600; color:var(--ink); line-height:1}
.ls-of{font-family:var(--sans); font-size:14px; color:var(--ink2)}
.ls-of b{color:var(--ink); font-weight:600}
.ls-track{margin-top:9px; height:5px; background:var(--paper2); border-radius:3px; overflow:hidden}
.ls-track .f{height:100%; background:linear-gradient(90deg, var(--gold2), var(--gold)); border-radius:3px; width:0; transition:width .5s ease}
@media (max-width:640px){ .lib-summary{grid-template-columns:1fr} }

.lib-nav{margin:0 0 24px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:14px 16px; box-shadow:0 1px 3px rgba(38,35,28,.05)}
.lib-nav-head{font-family:var(--sans); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:var(--gold2); margin-bottom:12px}
.lib-nav-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(190px,1fr)); gap:8px}
.lnav-chip{display:block; text-decoration:none; border:1px solid var(--line); border-radius:7px; padding:8px 11px; background:var(--paper); transition:border-color .15s, background .15s}
.lnav-chip:hover{border-color:var(--gold); background:#fff}
.lnav-chip--special{border-color:rgba(176,141,62,.5); background:rgba(176,141,62,.07)}
.lnav-name{display:block; font-family:var(--serif); font-size:13.5px; font-weight:600; color:var(--ink); line-height:1.25;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.lnav-fig{font-family:var(--sans); font-size:11.5px; color:var(--ink2)}
.lnav-fig b{color:var(--gold2); font-size:13px}
.lnav-track{display:block; margin-top:5px; height:4px; background:var(--paper2); border-radius:2px; overflow:hidden}
.lnav-fill{display:block; height:100%; background:linear-gradient(90deg, var(--gold2), var(--gold)); border-radius:2px}
.lib-h-stat{font-family:var(--sans); font-size:12px; font-weight:600; color:var(--gold2); float:right; margin-top:2px}
.lib-card{scroll-margin-top:120px}

.lib-grid{display:grid; grid-template-columns:1fr; gap:16px; margin-top:4px; align-items:start}
.lib-card{border:1px solid var(--line); border-radius:10px; background:#fff; padding:16px 18px 12px;
  box-shadow:0 1px 3px rgba(38,35,28,.05)}
.lib-card .rows{columns:1}
.lib-card .rows .row{break-inside:avoid}
.lib-card .series-item .rows, .lib-card .vol-rows{columns:1}
.lib-h{font-size:16.5px; font-weight:700; color:var(--ink); letter-spacing:.2px; margin-bottom:8px;
  padding-bottom:8px; border-bottom:2px solid var(--gold)}
.lib-sub{font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--gold2);
  margin:14px 0 4px; padding:3px 9px; background:var(--paper2); border-radius:4px; display:inline-block}
.lib-card .rows{border-top:1px solid var(--line)}
.lib-card .row{padding:7px 4px}
.lib-special-wrap{margin-top:32px; padding-top:8px; border-top:2px dashed var(--gold)}
.lib-special-head{font-family:var(--sans); font-size:12.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:1.2px; color:var(--gold2); margin:6px 0 14px}
.lib-card--special{border:1.5px solid var(--gold); background:rgba(176,141,62,.09); position:relative}
.lib-special-tag{font-family:var(--sans); font-size:9.5px; font-weight:700; text-transform:uppercase;
  letter-spacing:.8px; color:#fff; background:var(--gold); border-radius:0 9px 0 8px; padding:3px 10px;
  position:absolute; top:0; right:0}
.lib-card--special .lib-h{border-bottom-color:var(--cloth)}
.lib-card--special .lib-sub{background:#fff; border:1px solid var(--gold); color:var(--gold2)}
.lib-subblock{margin-top:16px; padding:2px 0 4px 14px; border-left:3px solid rgba(176,141,62,.45)}
.lib-subblock:first-of-type{margin-top:6px}
.lib-subblock .lib-sub{margin-top:0}
.lib-subblock .rows{border-top:none; margin-top:2px}
.lib-subblock--keystone{border-left-color:var(--cloth); background:rgba(44,74,56,.05); border-radius:0 6px 6px 0; padding-top:6px; padding-bottom:8px}
.lib-subblock--keystone .lib-sub{background:var(--cloth); color:#fff; border-color:var(--cloth)}
.lib-subblock--keystone .row .t{font-weight:600}
.rows{border-top:1px solid var(--line)}
.row{display:flex; gap:12px; align-items:flex-start; padding:8px 6px; border-bottom:1px solid var(--line); cursor:pointer}
.row:hover{background:var(--paper2)}
.row .box{flex:0 0 auto; width:18px; height:18px; margin-top:3px; border:1.5px solid var(--ink2);
  border-radius:3px; background:#fff; position:relative}
.row.read .box{background:var(--read); border-color:var(--read)}
.row.read .box::after{content:''; position:absolute; left:5px; top:1px; width:5px; height:10px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(42deg)}
.row.half-read .box{background:linear-gradient(135deg, var(--read) 50%, #fff 50%); border-color:var(--read)}
.row .body{flex:1 1 auto; min-width:0}
.row .t{font-size:15px}
.row .t .a{color:var(--ink2)}
.row.read .t{color:var(--ink2)}
.row.read .t .name{text-decoration:line-through; text-decoration-color:rgba(107,101,88,.6); text-decoration-thickness:1px}
.row .m{font-family:var(--sans); font-size:12px; color:var(--ink2); margin-left:6px}
.row-tags{display:inline-flex; gap:5px; margin-left:8px; vertical-align:1px; flex-wrap:wrap}
.badges{display:inline-flex; gap:5px; margin-left:8px; vertical-align:1px; flex-wrap:wrap}
.badge{font-family:var(--sans); font-size:10px; letter-spacing:.5px; text-transform:uppercase;
  border-radius:3px; padding:1.5px 6px; white-space:nowrap}
.b-top{background:#f0e5c8; color:var(--gold2); border:1px solid #e0d0a4}
.b-eb{background:#e8e4f0; color:#5a4d7a; border:1px solid #d4cde4}
.b-pap{background:#efe0d6; color:#8a5a38; border:1px solid #e0c8b6}
.chip-main{font-family:var(--sans); font-size:9.5px; letter-spacing:.6px; text-transform:uppercase;
  background:var(--gold); color:#fff; border-radius:3px; padding:1px 6px; vertical-align:1px; white-space:nowrap}
.work-tail{color:var(--ink2); font-size:13px}
.xtag{font-family:var(--sans); font-size:9.5px; letter-spacing:.4px; text-transform:uppercase;
  border-radius:3px; padding:1px 6px; vertical-align:1px; white-space:nowrap}
.xtag.t-top{background:#f0e5c8; color:var(--gold2); border:1px solid #e0d0a4}
.xtag.t-ser{background:#e2e9e2; color:var(--cloth); border:1px solid #c8d5c8}
.xtag.t-own{background:#efe0d6; color:#8a5a38; border:1px solid #e0c8b6}
.empty-note{font-family:var(--sans); font-size:13px; color:var(--ink2); padding:14px 6px; display:none}
.site-footer{max-width:1108px; margin:0 auto; padding:0 24px 30px; font-family:var(--sans); color:var(--ink2)}
.site-footer-in{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; min-height:54px; padding:10px 14px;
  border:1px solid var(--line); border-radius:12px; background:#faf8f2; box-shadow:0 3px 12px rgba(38,35,28,.045)}
.site-product{display:flex; align-items:center; gap:7px; min-width:0; white-space:nowrap}
.site-product strong{color:var(--cloth); font-size:12.5px; letter-spacing:.25px}
.site-product span{padding:1px 6px; border-radius:8px; background:#eeeadf; color:var(--ink2); font-size:9.5px; font-weight:700}
.site-signature{display:flex; align-items:center; justify-content:center; gap:9px; min-width:0; font-size:11.5px; white-space:nowrap}
.site-author small{margin-right:4px; color:var(--gold2); font-size:8.5px; font-weight:700; letter-spacing:.55px; text-transform:uppercase}
.site-signature strong{display:inline-flex; align-items:center; min-height:22px; padding:1px 8px; border-radius:11px;
  background:var(--cloth); color:#f2eddc; font-size:10px; letter-spacing:.35px}
.site-footer .auth-logout{justify-self:end}
@media (max-width:520px){
  .site-footer{padding:0 18px 24px}
  .site-footer-in{grid-template-columns:auto 1fr auto; gap:9px; min-height:48px; padding:8px 10px}
  .site-product{gap:5px}
  .site-product strong{font-size:11px}
  .site-product span{padding:1px 4px; font-size:8px}
  .site-signature{justify-content:flex-start; gap:5px; font-size:10px}
  .site-author small{display:none}
  .site-signature strong{padding:1px 5px; font-size:8.5px}
  .auth-logout{min-height:28px; padding:4px 9px; font-size:9.5px}
}

/* ---------- серии ---------- */
.series-item{margin-top:20px}
.lib-card .row.series-head{border:0; border-radius:0; background:transparent; padding:0 0 10px; margin-bottom:2px; border-bottom:2px solid var(--gold)}
.lib-card .row.series-head .t{font-weight:700; font-size:16.5px; font-family:var(--serif)}
.lib-card .vol-rows{border:0; border-radius:0; padding:0; background:transparent}
.lib-card .vol-rows .row{padding:7px 2px 7px 4px}
.row.series-head{border:1px solid var(--line); border-radius:6px 6px 0 0; background:#fff; padding:10px 12px}
.row.series-head .t{font-weight:600; font-size:15.5px}
.vol-rows{border:1px solid var(--line); border-top:0; border-radius:0 0 6px 6px; padding:2px 12px 4px 12px; background:rgba(255,255,255,.45)}
.vol-rows .row{padding:5px 2px 5px 14px; border-bottom:1px dotted var(--line)}
.vol-rows .row:last-child{border-bottom:0}
.vol-rows .row .box{width:15px; height:15px; margin-top:3px}
.vol-rows .row.read .box::after{left:4px; top:0.5px; width:4px; height:9px}
.vol-rows .row .t{font-size:14px}
.vol-rows .row .m{display:inline; margin-left:8px}

/* ---------- карта чтения ---------- */
.map-logic{font-size:14.5px; color:var(--ink2); margin:16px 0 4px; max-width:780px}
.map-flow{display:grid; grid-template-columns:1fr 26px 1fr 26px 1fr; gap:6px; align-items:stretch; margin-top:14px}
.map-arrow{display:flex; align-items:center; justify-content:center; color:var(--gold2); font-size:19px}
.mcard{display:block; text-decoration:none; color:var(--ink); border:1px solid var(--line); border-radius:6px;
  background:#fff; padding:13px 15px; transition:border-color .15s}
.mcard:hover{border-color:var(--gold)}
.mcard .step{font-family:var(--sans); font-size:10.5px; text-transform:uppercase; letter-spacing:1px; color:var(--gold2)}
.mcard .mt{font-size:16.5px; font-weight:600; margin-top:3px}
.mcard .md{font-family:var(--sans); font-size:12px; color:var(--ink2); margin-top:3px}
.mcard .mn{font-family:var(--sans); font-size:12px; color:var(--ink2); margin-top:8px}
.mcard .mn b{color:var(--ink)}
.mini-track{margin-top:7px; height:5px; background:var(--paper2); border-radius:3px; overflow:hidden}
.mini-fill{height:100%; background:linear-gradient(90deg, var(--gold2), var(--gold)); border-radius:3px; transition:width .4s}
.mcard.wide{margin-top:6px}
.map-x{margin-top:18px}
.map-x h3{font-size:14px; font-weight:700}
.map-x .xrows{margin-top:6px; border-top:1px solid var(--line)}
.xrow{display:flex; gap:12px; padding:7px 6px; border-bottom:1px solid var(--line); font-size:13.5px; flex-wrap:wrap}
.xrow .xl{font-family:var(--sans); font-size:11px; text-transform:uppercase; letter-spacing:.7px; color:var(--gold2); flex:0 0 220px; padding-top:2px}
.xrow .xv{flex:1 1 300px; min-width:220px}
.xrow .xv i{color:var(--ink2)}
@media (max-width:760px){
  .map-flow{grid-template-columns:1fr}
  .map-arrow{transform:rotate(90deg); height:20px}
  .xrow .xl{flex-basis:100%}
}

/* ---------- главы авторов ---------- */
#page-authors > .lib-grid,#page-author > .lib-grid{gap:32px}
#page-authors .lib-nav{padding:18px 20px 20px; border-color:#d8cfbd; border-top:4px solid var(--cloth); background:#fff;
  box-shadow:0 6px 18px rgba(38,35,28,.09)}
#page-authors .lib-nav-head{color:var(--cloth)}
#page-authors .lib-nav-grid{gap:12px}
#page-authors .lnav-chip{border-color:#d8cfbd; background:#f7f2e8; box-shadow:0 2px 6px rgba(38,35,28,.06)}
#page-authors .lnav-chip:hover{border-color:var(--gold); background:#fff; box-shadow:0 5px 12px rgba(38,35,28,.1)}
#page-authors .lnav-chip--special{border-color:rgba(176,141,62,.72); background:#fbf3df}
#page-authors .lnav-track{background:#e4ddd0}

.author-directory{margin-top:0}
.author-directory-head{padding:17px 20px 15px; border-bottom:1px solid var(--line); background:#f4f6f3}
.author-directory-head > span{color:var(--gold2); font-family:var(--sans); font-size:9.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase}
.author-directory-head h3{margin-top:2px; font-size:23px; font-weight:700}
.author-directory-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px}
.author-directory-card{position:relative; display:flex; min-width:0; min-height:148px; padding:16px 17px; flex-direction:column;
  border:1px solid #d8cfbd; border-top:4px solid var(--cloth); border-radius:12px; background:#fff; color:var(--ink); text-decoration:none;
  box-shadow:0 4px 13px rgba(38,35,28,.07); transition:background .15s,border-color .15s,box-shadow .15s}
.author-directory-card:hover{border-color:#b9ad95; background:#f7f5ee; box-shadow:0 7px 18px rgba(38,35,28,.11)}
.author-directory-card:focus-visible{z-index:1; outline:2px solid var(--gold); outline-offset:-2px}
.author-directory-card--special{border-top-color:var(--gold); background:#fbf5e6}
.author-directory-country{color:var(--gold2); font-family:var(--sans); font-size:9px; font-weight:700; letter-spacing:.7px; text-transform:uppercase}
.author-directory-card > strong{margin-top:8px; font-size:20px; font-weight:700; line-height:1.18}
.author-directory-life{margin-top:4px; color:var(--ink2); font-family:var(--sans); font-size:11px}
.author-directory-count{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:13px;
  color:var(--cloth); font-family:var(--sans); font-size:11px; font-weight:700}
.author-directory-arrow{display:inline-grid; flex:0 0 auto; place-items:center; width:32px; height:32px; border-radius:50%;
  background:rgba(44,74,56,.10); color:var(--cloth); font-size:18px; font-weight:700; line-height:1;
  transition:background .15s,color .15s,transform .15s}
.author-directory-card:hover .author-directory-arrow{background:var(--cloth); color:#fff; transform:translateX(2px)}
.author-page-nav{margin:0 0 16px}
.author-page-nav a{display:inline-flex; align-items:center; gap:8px; color:var(--cloth); font-family:var(--sans); font-size:12.5px;
  font-weight:700; text-decoration:none}
.author-page-nav a span{display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%;
  background:rgba(44,74,56,.10); font-size:17px; transition:background .15s,color .15s,transform .15s}
.author-page-nav a:hover{color:var(--gold2)}
.author-page-nav a:hover span{background:var(--cloth); color:#fff; transform:translateX(-2px)}
.author-page-nav a:focus-visible{outline:2px solid var(--gold); outline-offset:4px}
@media (max-width:820px){
  .author-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .author-directory{margin-top:14px}
  .author-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
  .author-directory-card,.author-directory-card:nth-child(2n),.author-directory-card:nth-child(4n),.author-directory-card:nth-child(n+7){
    min-height:122px; padding:11px; border-top-width:3px; border-radius:10px}
  .author-directory-country{font-size:8px; letter-spacing:.55px}
  .author-directory-card > strong{margin-top:6px; font-size:16px; line-height:1.16}
  .author-directory-life{margin-top:3px; font-size:10px}
  .author-directory-count{gap:5px; padding-top:9px; font-size:9.5px}
  .author-directory-arrow{width:27px; height:27px; font-size:16px}
}

.chapter{margin:0; padding:0; overflow:visible; scroll-margin-top:96px; border:0; border-radius:0;
  background:transparent; box-shadow:none}

.chap-head{display:block; padding:3px 0 23px; border-bottom:1px solid rgba(176,141,62,.55); background:transparent}
.chap-title-row{display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:0}
.chap-title{display:flex; align-items:center; gap:11px; flex-wrap:wrap; min-width:0}
.chap-head h3{font-size:32px; line-height:1; font-weight:650; letter-spacing:.1px}
.chap-life{display:inline-flex; align-items:center; justify-content:center; height:28px; padding:0 10px; border:1px solid var(--line); border-radius:14px;
  background:#fff; font-family:var(--sans); font-size:11.5px; font-weight:600; line-height:1; color:var(--ink2); letter-spacing:.4px;
  white-space:nowrap; transform:translateY(1px)}
.chap-progress{display:flex; flex:0 0 auto; align-items:center; gap:10px; min-width:0; padding:8px 10px; border:1px solid var(--line); border-radius:8px; background:#fff;
  box-shadow:0 1px 3px rgba(38,35,28,.04)}
.chap-progress > span{display:block; flex:0 0 auto; font-family:var(--sans); font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--gold2)}
.chap-progress-metrics{display:flex; align-items:center; margin:0; font-family:var(--sans); font-variant-numeric:tabular-nums}
.chap-progress-metric{display:flex; align-items:center; gap:6px; min-height:18px; white-space:nowrap}
.chap-progress-metric + .chap-progress-metric{margin-left:10px; padding-left:10px; border-left:1px solid rgba(221,214,198,.8)}
.chap-progress-metric > span{color:var(--ink2); font-size:9px; letter-spacing:.35px; text-transform:uppercase}
.chap-progress-metric strong{color:var(--ink); font-size:11.5px; font-weight:500; line-height:1.2; white-space:nowrap}
.chap-progress-metric strong b{font-weight:700}
.chap-progress-metric em{display:inline-grid; place-items:center; min-width:34px; height:17px; border-radius:9px; background:rgba(44,74,56,.08);
  color:var(--cloth); font-size:9px; font-style:normal; font-weight:700}
.chap-about{max-width:920px; margin-top:16px; color:var(--ink); font-size:14.5px; line-height:1.58}
.chap-themes{display:flex; align-items:flex-start; gap:12px; margin-top:15px; font-family:var(--sans)}
.chap-themes-label{flex:0 0 auto; padding-top:4px; color:var(--gold2); font-size:9.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase}
.chap-theme-list{display:flex; flex-wrap:wrap; gap:6px}
.chap-theme-list > span{display:inline-flex; align-items:center; min-height:24px; padding:3px 9px; border:1px solid rgba(44,74,56,.2);
  border-radius:12px; background:rgba(44,74,56,.07); color:var(--cloth); font-size:11px; font-weight:600}

.chap-cols{display:grid; gap:22px; padding:22px 0 0; background:transparent}
.author-part{overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none}
.author-part-head{display:block; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none}
.author-part-heading{min-width:0}
.author-part-title-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.author-part h4{margin:0; color:var(--ink); font-family:var(--serif); font-size:25px; font-weight:700; line-height:1; letter-spacing:.05px; text-transform:none}
.author-part-head p{margin-top:4px; color:var(--ink2); font-family:var(--sans); font-size:12.5px; line-height:1.4}
.author-part-count{display:inline-flex; align-items:center; justify-content:center; height:25px; padding:0 9px; border:0; border-radius:13px;
  background:rgba(44,74,56,.08); color:var(--cloth); font-family:var(--sans); font-size:10px; font-weight:700; line-height:1;
  white-space:nowrap; transform:translateY(1px)}
.author-part-body{padding:0}
.author-part--bio .author-part-count,.author-part--heritage .author-part-count{background:rgba(176,141,62,.12); color:var(--gold2)}
.author-part--heritage .heritage-h{color:var(--ink) !important}

.author-part--bio .author-part-body > .rows{overflow:hidden; margin-top:14px; border:1px solid var(--line); border-radius:8px;
  background:#fff; box-shadow:0 2px 7px rgba(38,35,28,.055)}

.author-subsection{overflow:hidden; margin-top:14px; border:1px solid var(--line); border-radius:8px; background:#fff;
  box-shadow:0 2px 7px rgba(38,35,28,.055)}
.author-subsection-head{display:flex; align-items:center; justify-content:flex-start; gap:8px; flex-wrap:wrap; padding:9px 11px;
  border-bottom:1px solid var(--line); border-left:3px solid var(--gold); background:var(--paper)}
.chapter .author-subsection-head h5{margin:0; color:var(--ink); font-size:15px; font-weight:700; line-height:1.25}
.author-subsection-head > span{display:inline-flex; align-items:center; justify-content:center; min-width:24px; height:20px; padding:0 6px; border-radius:10px;
  background:var(--paper2); color:var(--gold2); font-family:var(--sans); font-size:10px; font-weight:700; line-height:1; transform:translateY(1px)}
.author-part--heritage .author-subsection-head{background:rgba(176,141,62,.10)}
.author-part--works .author-subsection-head{border-left-color:var(--cloth); background:rgba(44,74,56,.075)}
.author-subgroup + .author-subgroup{border-top:1px solid var(--line)}
.chapter .sub-h{margin:0; padding:7px 10px; border-bottom:1px dotted var(--line); background:rgba(239,234,223,.45);
  color:var(--cloth); font-family:var(--sans); font-size:10px; font-style:normal; font-weight:700; letter-spacing:.7px; text-transform:uppercase}
.chapter .rows{border-top:0}
.chapter .rows .row{padding:9px 9px; gap:11px}
.chapter .rows .row:last-child{border-bottom:0}
.chapter .rows .row .t{font-size:14.5px; line-height:1.4}
.chapter .rows .row:hover{background:rgba(239,234,223,.48)}
.chapter .row-tags{gap:4px}
.chapter .badge,.chapter .xtag,.chapter .chip-main{border-radius:10px; padding:2px 7px; font-size:8.5px; letter-spacing:.45px}

.keystone{overflow:hidden; margin:14px 0 0; padding:0; border:1.5px solid var(--cloth); border-radius:8px;
  background:rgba(44,74,56,.045); box-shadow:0 2px 7px rgba(38,35,28,.055)}
.keystone-label{display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0; padding:8px 10px; background:var(--cloth);
  color:#fff; font-family:var(--sans); font-size:9.5px; font-weight:700; letter-spacing:.9px; text-transform:uppercase}
.keystone-label b{padding:2px 7px; border-radius:9px; background:var(--gold); color:#fff; font-size:8px; letter-spacing:.65px; white-space:nowrap}
.keystone .row .t{font-weight:600}

@media (max-width:700px){
  #page-authors > .lib-grid{gap:24px}
  .chap-head{padding:2px 0 18px}
  .chap-title-row{display:block; margin-top:0}
  .chap-head h3{font-size:27px}
  .chap-life{margin-top:0; font-size:10.5px}
  .chap-progress{display:block; min-width:0; margin-top:13px; padding:8px 10px}
  .chap-progress-metrics{display:grid; gap:3px; margin-top:0}
  .chap-progress-metric{display:grid; grid-template-columns:54px minmax(86px,1fr) 34px; gap:7px; white-space:normal}
  .chap-progress-metric + .chap-progress-metric{margin-left:0; padding:3px 0 0; border-top:1px solid rgba(221,214,198,.65); border-left:0}
  .chap-about{font-size:13.5px; line-height:1.5}
  .chap-themes{display:block}
  .chap-themes-label{display:block; padding:0; margin-bottom:7px}
  .chap-theme-list{gap:5px}
  .chap-theme-list > span{font-size:10.5px; padding:2px 8px}
  .chap-cols{gap:16px; padding-top:17px}
  .author-part{border-radius:0}
  .author-part-head{padding:0; border-radius:0}
  .author-part h4{font-size:21px}
  .author-part-title-row{gap:7px}
  .author-part-head p{margin-top:3px; font-size:11.5px}
  .author-part-count{height:22px; padding:0 7px; font-size:9px}
  .author-part-body{padding:0}
  .author-subsection{margin-top:10px}
  .author-subsection-head{padding:8px 9px}
  .chapter .author-subsection-head h5{font-size:14px}
  .chapter .rows .row{padding:9px 7px}
  .chapter .rows .row .t{font-size:14px}
  .chapter .row .m{display:block; margin:2px 0 0; font-size:11px}
  .chapter .row-tags{margin:5px 0 0}
  .keystone-label{align-items:flex-start; flex-direction:column; gap:5px}
}

/* ---------- страницы ---------- */
.page{display:none}
.page.active{display:block}
/* шапка и панель инструментов теперь сквозные на всех страницах */
.page-tabs{width:min(100%,860px); margin:0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center; gap:14px; padding:0}
.page-tab-group{display:block; min-width:0}
.page-tab-links{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; padding:3px; border:1px solid rgba(44,74,56,.18);
  border-radius:11px; background:#eef2ef}
.page-tab-group--plans .page-tab-links{border-color:rgba(176,141,62,.26); background:#f5f0e4}
.page-tabs a{font-family:var(--sans); font-size:14.5px; font-weight:600; text-decoration:none; color:var(--ink);
  padding:8px 8px; border-radius:7px; background:rgba(255,255,255,.62); border:0; text-align:center; white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
  box-shadow:inset 0 0 0 1px rgba(38,35,28,.07)}
.page-tabs a:hover{color:var(--cloth); background:#fff; transform:none; box-shadow:inset 0 0 0 1px rgba(176,141,62,.38)}
.page-tabs a.on{background:var(--cloth); color:#fff; font-weight:700;
  box-shadow:0 2px 7px rgba(44,74,56,.32)}
.page-tabs a.on:hover{transform:none; color:#fff}
.page-head{margin:2px 0 22px; padding-bottom:12px; border-bottom:2px solid var(--gold)}
.page-head h2{font-size:24px; font-weight:600}
.page-head .pd{font-family:var(--sans); font-size:13px; color:var(--ink2); margin-top:4px}

/* ---------- главная: блоки со своей аналитикой ---------- */
.hb-section{border:1px solid var(--line); border-radius:8px; background:#fff; padding:20px 22px; margin-bottom:18px}
.hb-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap}
.hb-head h3{font-size:18px; font-weight:600; display:flex; align-items:center; gap:10px}
.hb-frac{font-family:var(--sans); font-size:13px; color:var(--ink2); white-space:nowrap}
.hb-frac b{font-family:var(--serif); font-size:16px; color:var(--gold2); font-weight:600}
.hb-track{margin-top:10px; height:6px; background:var(--paper2); border-radius:3px; overflow:hidden}
.hb-track .f{height:100%; background:linear-gradient(90deg, var(--gold2), var(--gold)); border-radius:3px; transition:width .4s}
.hb-pages{font-family:var(--sans); font-size:11.5px; color:var(--ink2); margin-top:6px}
.hb-pages b{color:var(--ink); font-weight:600}

.tile-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(168px,1fr)); gap:10px; margin-top:16px}
.tile-special{margin-top:18px; padding:14px 14px 4px; border:1.5px solid var(--gold); border-radius:8px; background:rgba(176,141,62,.05)}
.tile-special .tile-grid{margin-top:0}
.tile{border:1px solid var(--line); border-radius:6px; background:var(--paper); padding:10px 12px}
.tile .tprio{display:inline-block; font-family:var(--sans); font-size:8px; letter-spacing:.5px;
  text-transform:uppercase; background:var(--gold); color:#fff; border-radius:3px; padding:1.5px 5px; margin-left:6px; vertical-align:2px}
.tile .tl{font-family:var(--serif); font-weight:600; font-size:14px; color:var(--ink); line-height:1.28; min-height:2.5em;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.tile .tsub{font-family:var(--sans); font-size:10.5px; font-style:italic; color:var(--ink2); margin-top:2px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.tile .tf{font-family:var(--serif); font-size:19px; font-weight:600; color:var(--ink); margin-top:8px}
.tile .tf small{font-family:var(--sans); font-size:11px; font-weight:400; color:var(--ink2)}
.tile .ttrack{margin-top:6px; height:5px; background:var(--line); border-radius:3px; overflow:hidden}
.tile .ttrack .f{height:100%; background:linear-gradient(90deg, var(--gold2), var(--gold)); border-radius:3px}
.tile.done{background:#eef4ee; border-color:#cfe0cf}
.tile.done .ttrack .f{background:var(--read)}
.tile.done .tf{color:var(--read)}

.dot-panel{display:flex; gap:24px; align-items:flex-start; margin-top:16px; flex-wrap:wrap}
.dot-big{flex:0 0 auto; text-align:center; padding-right:22px; border-right:1px solid var(--line)}
.dot-big-n{font-family:var(--serif); font-size:38px; font-weight:600; color:var(--gold2); line-height:1}
.dot-big-l{font-family:var(--sans); font-size:11.5px; color:var(--ink2); margin-top:6px; line-height:1.4}
.dot-area{flex:1 1 320px; min-width:280px}
.dot-grid{display:grid; grid-template-columns:repeat(25, 1fr); gap:6px}
.dot{aspect-ratio:1; border-radius:2.5px; background:var(--paper2); border:1px solid var(--line)}
.dot.on{background:var(--gold); border-color:var(--gold2)}
.dot-legend{font-family:var(--sans); font-size:11.5px; color:var(--ink2); margin-top:12px; display:flex; gap:16px; align-items:center}
.dot-legend .lk{display:inline-flex; align-items:center; gap:5px}
.dot-legend .sw{width:9px; height:9px; border-radius:2px; display:inline-block; background:var(--paper2); border:1px solid var(--line)}
.dot-legend .sw.on{background:var(--gold); border-color:var(--gold2)}

.au-priority{font-family:var(--sans); font-size:9.5px; letter-spacing:.7px; text-transform:uppercase;
  background:var(--gold); color:#fff; border-radius:3px; padding:2px 7px; vertical-align:2px; margin-left:9px}
.chap-linked{font-family:var(--sans); font-size:12px; color:var(--ink2); margin-top:8px; max-width:820px}
.chap-linked b{color:var(--gold2); text-transform:uppercase; font-size:10px; letter-spacing:.8px}

/* ---------- прочитано по категориям ---------- */
.read-log{margin-top:6px}
.read-log h4{font-size:14px; font-weight:700; margin:18px 0 6px}
.read-log h4:first-child{margin-top:0}
.read-log ul{list-style:none}
.read-log li{font-size:14px; padding:4px 0; border-bottom:1px dotted var(--line)}
.read-log li:last-child{border-bottom:0}
.read-log li .a{font-family:var(--sans); font-size:11.5px; color:var(--ink2)}
.read-log li .rl-p{font-family:var(--sans); font-size:11px; color:var(--gold2)}
.read-log-empty{font-family:var(--sans); font-size:13px; color:var(--ink2); font-style:italic}

/* ---------- отдельный раздел «Прочитано» ---------- */
.read-overview{overflow:hidden; margin-bottom:16px; border:1px solid #d8cfbd; border-radius:12px; background:#fff;
  box-shadow:0 3px 7px rgba(38,35,28,.06),0 12px 26px rgba(38,35,28,.09)}
.read-overview-head,.read-list-head{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 16px;
  border-bottom:1px solid var(--line); background:#f4f1e9}
.read-overview-head h3,.read-list-head h3{font-size:17px; font-weight:700}
.read-overview-head > span,.read-list-head > span{padding:4px 9px; border:1px solid var(--line); border-radius:12px; background:#fff;
  color:var(--ink2); font-family:var(--sans); font-size:10.5px; font-weight:600; white-space:nowrap}
.read-metrics{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:15px 16px 14px}
.read-metric{min-width:0; padding:0 16px; border-right:1px solid var(--line)}
.read-metric:first-child{padding-left:0}
.read-metric:last-child{padding-right:0; border-right:0}
.read-metric > span{display:block; color:var(--gold2); font-family:var(--sans); font-size:9px; font-weight:700;
  letter-spacing:.85px; text-transform:uppercase}
.read-metric strong{display:flex; align-items:baseline; gap:6px; margin-top:3px; white-space:nowrap}
.read-metric strong b{color:var(--ink); font-size:19px; font-weight:700}
.read-metric strong small{overflow:hidden; color:var(--ink2); font-family:var(--sans); font-size:10.5px; font-weight:400;
  text-overflow:ellipsis}
.read-breakdown{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; margin-bottom:26px}
.read-breakdown-item{min-width:0; padding:9px 10px 10px; border:1px solid #d8cfbd;
  border-radius:8px; background:#fff; box-shadow:0 2px 6px rgba(38,35,28,.055); font-family:var(--sans)}
.read-breakdown-item > span{display:block; overflow:hidden; color:var(--ink2); font-size:9px; font-weight:700; letter-spacing:.65px;
  text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap}
.read-breakdown-item > div{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:3px}
.read-breakdown-item b{color:var(--ink); font-size:14px; white-space:nowrap}
.read-breakdown-item em{display:inline-grid; place-items:center; min-width:32px; height:17px; padding:0 6px; border-radius:9px;
  background:rgba(44,74,56,.08); color:var(--cloth); font-size:9px; font-style:normal; font-weight:700}
.read-breakdown-item > i{display:block; height:4px; margin-top:7px; overflow:hidden; border-radius:2px; background:#e8e3d9}
.read-breakdown-item > i > span{display:block; width:0; height:100%; border-radius:2px; background:var(--gold); transition:width .35s ease}
.read-breakdown-item--series > i > span,.read-breakdown-item--authors > i > span{background:var(--cloth)}
.read-list-card{overflow:visible; border:0; border-radius:0; background:transparent; box-shadow:none}
.read-list-head{margin-bottom:15px; padding:0; border:0; background:transparent}
.read-list-card .read-log{display:grid; gap:16px; margin:0; padding:0}
.read-genre-group{overflow:hidden; border:1px solid #d8cfbd; border-radius:12px; background:#fff;
  box-shadow:0 3px 7px rgba(38,35,28,.055),0 10px 22px rgba(38,35,28,.075)}
.read-genre-group + .read-genre-group{margin-top:0}
.read-genre-head{display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:8px; margin:0; padding:11px 16px;
  border-bottom:1px solid var(--line); background:#f4f1e9}
.read-genre-head h4{color:var(--cloth); font-family:var(--sans); font-size:10.5px; font-weight:700; line-height:1; letter-spacing:.8px; text-transform:uppercase}
.read-genre-head > span{display:inline-flex; align-items:center; justify-content:center; height:22px; padding:0 8px;
  border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink2); font-family:var(--sans);
  font-size:9.5px; font-weight:600; line-height:1; white-space:nowrap; transform:translateY(-2px)}
.read-list-card .read-log ul{padding:0 16px 10px}
.read-list-card .read-log li{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 4px;
  border-bottom:1px solid var(--line); line-height:1.4}
.read-list-card .read-log li:last-child{border-bottom:0}
.read-item-copy{min-width:0}
.read-item-title{font-family:var(--serif); font-size:14.5px; font-weight:600; letter-spacing:.05px}
.read-item-copy .a{font-size:12px}
.read-item-meta{margin-left:5px; color:var(--ink2); font-family:var(--sans); font-size:11px; white-space:nowrap}
.read-item-tags{display:inline-flex; flex:0 0 auto; align-items:center; justify-content:flex-end; gap:4px; flex-wrap:wrap}
.read-list-card .read-log-empty{padding:18px 2px 8px}

@media (max-width:700px){
  .read-metrics{grid-template-columns:1fr 1fr; gap:14px 0}
  .read-metric:nth-child(2){padding-right:0; border-right:0}
  .read-metric:nth-child(3){padding-left:0}
  .read-breakdown{grid-template-columns:1fr 1fr}
}
@media (max-width:440px){
  .read-overview-head,.read-list-head{align-items:flex-start; flex-direction:column; gap:7px}
  .read-overview-head{padding:11px 12px}
  .read-metrics{grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:12px}
  .read-metric{padding:0 9px 10px; border-right:1px solid var(--line); border-bottom:1px solid var(--line)}
  .read-metric:nth-child(2n){padding-right:0; border-right:0}
  .read-metric:nth-child(2n+1){padding-left:0}
  .read-metric:nth-child(n+3){padding-top:10px; padding-bottom:0; border-bottom:0}
  .read-metric > span{font-size:8px; letter-spacing:.65px}
  .read-metric strong{gap:4px; margin-top:2px}
  .read-metric strong b{font-size:17px}
  .read-metric strong small{font-size:9px}
  .read-breakdown{grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:22px}
  .read-breakdown-item{padding:8px 9px 9px}
  .read-breakdown-item b{font-size:13px}
  .read-breakdown-item em{min-width:29px; padding:0 5px; font-size:8.5px}
  .read-list-card .read-log li{align-items:flex-start; flex-direction:column; gap:6px}
  .read-item-tags{justify-content:flex-start}
}

/* ---------- единая визуальная система разделов ---------- */
.ls-card{border-color:#d8cfbd; border-radius:12px; border-top:3px solid var(--cloth);
  box-shadow:0 3px 7px rgba(38,35,28,.06),0 12px 26px rgba(38,35,28,.08)}
.ls-track .f,.lnav-fill,.hb-track .f,.tile .ttrack .f,.mini-fill,.hg-mini .f{background:var(--gold)}

.lib-nav{padding:18px 20px 20px; border-color:#d8cfbd; border-top:4px solid var(--cloth); border-radius:12px;
  box-shadow:0 6px 18px rgba(38,35,28,.09)}
.lib-nav-head{color:var(--cloth)}
.lib-nav-grid{gap:12px}
.lnav-chip{border-color:#d8cfbd; background:#f7f2e8; box-shadow:0 2px 6px rgba(38,35,28,.06)}
.lnav-chip:hover{border-color:var(--gold); background:#fff; box-shadow:0 5px 12px rgba(38,35,28,.1)}
.lnav-chip--special{border-color:rgba(176,141,62,.72); background:#fbf3df}
.lnav-track{background:#e4ddd0}
.lib-nav--owned,.lib-nav--series,.lib-nav--top100{margin-bottom:24px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none}
.lib-nav-label{margin:0 0 11px; color:var(--cloth); font-size:18px; font-weight:700; line-height:1.2}
.lib-nav--owned .lib-nav-grid,.lib-nav--series .lib-nav-grid,.lib-nav--top100 .lib-nav-grid{grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px}
.lib-nav--owned .lnav-chip,.lib-nav--series .lnav-chip,.lib-nav--top100 .lnav-chip{border-color:#ddd5c6; background:#fff;
  box-shadow:0 3px 8px rgba(38,35,28,.07),0 8px 18px rgba(38,35,28,.055)}
.lib-nav--owned .lnav-chip:hover,.lib-nav--series .lnav-chip:hover,.lib-nav--top100 .lnav-chip:hover{border-color:#c7ad70; background:#fff;
  box-shadow:0 5px 11px rgba(38,35,28,.09),0 11px 22px rgba(38,35,28,.075)}
.lib-nav--owned .lnav-chip--special{border-color:rgba(176,141,62,.72); background:#fff}

@media (max-width:900px){
  .lib-nav--owned .lib-nav-grid,.lib-nav--series .lib-nav-grid,.lib-nav--top100 .lib-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:440px){
  .lib-nav--owned .lib-nav-grid,.lib-nav--series .lib-nav-grid,.lib-nav--top100 .lib-nav-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
  .lib-nav--owned .lnav-chip,.lib-nav--series .lnav-chip,.lib-nav--top100 .lnav-chip{padding:8px 9px}
  .lib-nav--owned .lnav-name,.lib-nav--series .lnav-name,.lib-nav--top100 .lnav-name{font-size:12.5px}
  .lib-nav-label{margin-bottom:9px; font-size:16px}
}

#page-owned > .lib-grid,#page-series > .lib-grid,#page-top100 > .lib-grid{gap:26px}
#page-owned .lib-card:not(.chapter),#page-series .lib-card:not(.chapter),#page-top100 .lib-card:not(.chapter){
  overflow:hidden; padding:0; border-color:#d8cfbd; border-radius:12px; background:#fff;
  box-shadow:0 3px 7px rgba(38,35,28,.06),0 12px 26px rgba(38,35,28,.09)}
.lib-card > .lib-h{display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0; padding:13px 16px;
  border-top:3px solid var(--gold2); border-bottom:1px solid var(--line); background:#f4f1e9; line-height:1.05}
#page-top100 .lib-card > .lib-h{border-top-color:var(--cloth); background:#eef3ef}
.lib-h-stat{display:inline-flex; align-items:center; justify-content:center; float:none; flex:0 0 auto; height:25px;
  margin:0; padding:0 9px; border:1px solid var(--line); border-radius:13px; background:#fff; color:var(--ink2);
  font-size:10.5px; line-height:1; transform:translateY(1px)}
.lib-card > .rows{padding:0 16px 10px; border-top:0}
.lib-card > .lib-sub{display:block; margin:0; padding:8px 16px; border-radius:0; border-bottom:1px solid var(--line);
  border-left:3px solid var(--gold); background:#f6f3ec; color:var(--ink); font-size:10px}
.lib-card > .lib-sub + .rows{padding-top:0}
.lib-card--special{border-color:rgba(176,141,62,.72) !important; background:#fff}
.lib-card--special > .lib-h{padding-right:170px; border-top-color:var(--gold); background:#faf4e5}
.lib-special-wrap{margin-top:26px; padding-top:0; border-top:0}
.lib-special-head{margin:0 0 14px; padding:10px 14px; border-top:3px solid var(--gold); border-bottom:1px solid var(--line);
  border-radius:10px 10px 0 0; background:#faf4e5; color:var(--gold2)}
.lib-subblock{margin:0; padding:0 16px 10px; border-left:0; background:#fff}
.lib-subblock:first-of-type{margin-top:0}
.lib-subblock .lib-sub{display:block; margin:0 -16px 2px; padding:8px 16px; border:0; border-bottom:1px solid var(--line);
  border-left:3px solid var(--gold); border-radius:0; background:#f6f3ec; color:var(--ink)}
.lib-subblock--keystone{padding:0 16px 10px; border-radius:0; background:#fff}
.lib-subblock--keystone .lib-sub{border-left-color:var(--cloth); background:var(--cloth); color:#fff}

.series-item{margin-top:0}
.lib-card .row.series-head{margin:0; padding:13px 16px; border:0; border-top:3px solid var(--cloth); border-bottom:1px solid var(--line);
  border-radius:0; background:#eef3ef}
.lib-card .row.series-head .t{font-size:17px}
.lib-card .vol-rows{padding:0 16px 10px; border:0; border-radius:0; background:#fff}
.lib-card--special .row.series-head{border-top:0}

.hb-section{overflow:hidden; padding:20px 22px; border-color:#d8cfbd; border-radius:12px; background:#fff;
  box-shadow:0 3px 7px rgba(38,35,28,.06),0 12px 26px rgba(38,35,28,.09)}
.hb-head{margin:-20px -22px 0; padding:13px 18px; border-top:3px solid var(--cloth); border-bottom:1px solid var(--line); background:#eef3ef}
#hb-owned .hb-head{border-top-color:var(--gold2); background:#f4f1e9}
#hb-top100 .hb-head{border-top-color:var(--gold); background:#faf4e5}
.hb-track{margin-top:14px}
.tile{border-color:#d8cfbd; border-radius:7px; background:#f7f2e8; box-shadow:0 2px 6px rgba(38,35,28,.055)}
.tile-special{margin-top:20px; padding:16px 0 0; border:0; border-top:2px solid var(--gold); border-radius:0; background:transparent}
.tile .tprio,.au-priority,.badge,.xtag,.chip-main{border-radius:10px}
.badge,.xtag,.chip-main{padding:2px 7px}
.row:hover{background:rgba(239,234,223,.48)}

/* ---------- главная: компактный обзор ---------- */
.home-dashboard{display:grid; gap:26px}
.home-overview-card,.home-section-card{overflow:hidden; border:1px solid #d8cfbd; border-radius:12px; background:#fff;
  box-shadow:0 3px 7px rgba(38,35,28,.055),0 12px 26px rgba(38,35,28,.085)}
.home-overview-head{display:flex; align-items:center; justify-content:space-between; gap:22px; padding:15px 18px;
  border-top:3px solid var(--cloth); border-bottom:1px solid var(--line); background:#eef3ef}
.home-eyebrow{display:block; margin-bottom:4px; color:var(--gold2); font-family:var(--sans); font-size:9px;
  font-weight:700; letter-spacing:1.05px; line-height:1; text-transform:uppercase}
.home-overview-head h2,.home-sections-heading h2{color:var(--ink); font-size:29px; font-weight:700; line-height:1.12}
.home-overview-head p{margin-top:4px; color:var(--ink2); font-family:var(--sans); font-size:11.5px; line-height:1.4}
.home-read-link,.home-section-open{display:inline-flex; align-items:center; gap:7px; flex:0 0 auto; color:var(--cloth);
  font-family:var(--sans); font-size:11px; font-weight:700; text-decoration:none; white-space:nowrap}
.home-read-link{padding:7px 10px; border:1px solid rgba(44,74,56,.2); border-radius:8px; background:#fff}
.home-section-open{gap:9px; padding:4px 2px; font-size:13px}
.home-read-link:hover,.home-section-open:hover{color:var(--gold2)}
.home-read-link:focus-visible,.home-section-open:focus-visible{outline:2px solid var(--gold); outline-offset:3px}
.home-read-link span,.home-section-open span{font-size:15px; line-height:1}
.home-section-open span{font-size:20px; transform:translateY(-1px)}
.home-section-primary > span,.home-section-metrics > div > span{display:block; color:var(--gold2);
  font-family:var(--sans); font-size:9px; font-weight:700; letter-spacing:.8px; text-transform:uppercase}
.home-progress-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); background:#fff}
.home-progress-unit{min-width:0; padding:16px 18px 15px}
.home-progress-unit + .home-progress-unit{border-left:1px solid var(--line)}
.home-progress-unit-head{display:flex; align-items:center; justify-content:space-between; gap:12px}
.home-progress-unit-head > span{color:var(--gold2); font-family:var(--sans); font-size:10px; font-weight:700;
  letter-spacing:.9px; text-transform:uppercase}
.home-progress-unit-head > b{display:inline-grid; place-items:center; min-width:42px; height:24px; padding:0 8px; border-radius:12px;
  background:rgba(44,74,56,.09); color:var(--cloth); font-family:var(--sans); font-size:10.5px; font-weight:700}
.home-progress-value{display:flex; align-items:baseline; gap:8px; margin-top:7px; white-space:nowrap}
.home-progress-value > b{color:var(--ink); font-size:28px; font-weight:700; line-height:1}
.home-progress-value > small{color:var(--ink2); font-family:var(--sans); font-size:11px; font-weight:400}
.home-progress-meta{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:9px; color:var(--ink2);
  font-family:var(--sans); font-size:10.5px}
.home-progress-meta b{color:var(--ink); font-weight:700}
.home-progress-unit > i,.home-section-track{display:block; overflow:hidden; height:5px; margin-top:8px; border-radius:3px; background:#e7e2d8}
.home-progress-unit > i > span,.home-section-track > span{display:block; width:0; height:100%; border-radius:3px;
  background:var(--gold); transition:width .35s ease}
.home-progress-unit--pages > i > span{background:var(--cloth)}
.home-sections-heading{display:flex; align-items:end; justify-content:space-between; gap:18px; margin:0 1px -10px;
  padding-bottom:10px; border-bottom:2px solid var(--gold)}
.home-sections-heading--primary{margin-top:2px}
.home-sections-heading p{color:var(--ink2); font-family:var(--sans); font-size:11px; text-align:right}
.home-section-grid{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px}
.home-section-card{display:flex; flex-direction:column; min-width:0}
.home-section-card--detailed{grid-column:1/-1}
.home-section-card--top100{grid-column:1/-1}
.home-section-head{display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:61px; padding:12px 15px;
  border-top:3px solid var(--gold2); border-bottom:1px solid var(--line); background:#f4f1e9}
.home-section-card--series .home-section-head,.home-section-card--authors .home-section-head{border-top-color:var(--cloth); background:#eef3ef}
.home-section-card--top100 .home-section-head{border-top-color:var(--gold); background:#faf4e5}
.home-section-title{display:flex; align-items:baseline; gap:9px; min-width:0}
.home-section-title h3{overflow:hidden; color:var(--ink); font-size:23px; font-weight:700; line-height:1.12; text-overflow:ellipsis; white-space:nowrap}
.home-section-state{flex:0 0 auto; padding:3px 7px; border-radius:10px; font-family:var(--sans); font-size:8px;
  font-weight:700; letter-spacing:.65px; line-height:1; text-transform:uppercase; transform:translateY(-1px)}
.home-section-state--current{background:var(--cloth); color:#fff}
.home-section-state--plan{border:1px solid rgba(176,141,62,.32); background:#fff; color:var(--gold2)}
.home-section-main{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 16px 0}
.home-section-primary strong{display:flex; align-items:baseline; gap:7px; margin-top:4px; white-space:nowrap}
.home-section-primary strong b{color:var(--ink); font-size:25px; font-weight:700; line-height:1}
.home-section-primary strong small{color:var(--ink2); font-family:var(--sans); font-size:11px; font-weight:400}
.home-section-percent{display:inline-grid; place-items:center; min-width:44px; height:27px; padding:0 9px; border-radius:14px;
  background:rgba(44,74,56,.09); color:var(--cloth); font-family:var(--sans); font-size:11px; font-weight:700}
.home-section-track{margin:10px 16px 0}
.home-section-card--series .home-section-track > span,.home-section-card--authors .home-section-track > span{background:var(--cloth)}
.home-section-metrics{display:grid; grid-template-columns:1.2fr .8fr; gap:0; margin:14px 16px 0; padding:12px 0;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.home-section-metrics > div{min-width:0; padding:0 13px; border-right:1px solid var(--line)}
.home-section-metrics > div:first-child{padding-left:0}
.home-section-metrics > div:last-child{padding-right:0; border-right:0}
.home-section-metrics strong{display:flex; align-items:baseline; gap:5px; min-width:0; margin-top:4px; color:var(--ink);
  font-size:14px; font-weight:700; white-space:nowrap}
.home-section-metrics strong b{font-size:15px}
.home-section-metrics strong small{overflow:hidden; color:var(--ink2); font-family:var(--sans); font-size:9.5px; font-weight:400;
  text-overflow:ellipsis}
.home-section-breakdown{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 16px; padding:12px 0;
  border-bottom:1px solid var(--line)}
.home-section-breakdown > div{min-width:0; padding:0 11px; border-right:1px solid var(--line)}
.home-section-breakdown > div:first-child{padding-left:0}
.home-section-breakdown > div:last-child{padding-right:0; border-right:0}
.home-section-breakdown span{display:block; overflow:hidden; color:var(--ink2); font-family:var(--sans); font-size:8.5px;
  font-weight:700; letter-spacing:.55px; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap}
.home-section-breakdown strong{display:block; margin-top:4px; color:var(--ink); font-size:17px; font-weight:700; line-height:1}
.home-section-card--detailed .home-section-overview{display:grid; grid-template-columns:minmax(210px,.8fr) minmax(360px,1.4fr);
  grid-template-rows:auto auto; column-gap:24px; padding:14px 16px}
.home-section-card--detailed .home-section-main{padding:0}
.home-section-card--detailed .home-section-track{margin:9px 0 0}
.home-section-card--detailed .home-section-metrics{grid-column:2; grid-row:1/3; align-self:stretch; margin:0; padding:4px 0 4px 24px;
  border-top:0; border-bottom:0; border-left:1px solid var(--line)}
.home-detail-table{overflow:auto; border-top:1px solid var(--line); background:#fff}
.home-detail-head,.home-detail-row{display:grid; grid-template-columns:minmax(240px,1.7fr) minmax(210px,1.35fr) 150px 145px;
  min-width:760px; column-gap:16px; align-items:center}
.home-detail-head--four,.home-detail-row--four{grid-template-columns:minmax(340px,2fr) 160px 155px; min-width:640px}
.home-detail-head{position:sticky; top:0; z-index:2; padding:8px 16px; border-bottom:1px solid var(--line);
  background:#fbfaf6; box-shadow:0 2px 4px rgba(38,35,28,.045); color:var(--ink2);
  font-family:var(--sans); font-size:10px; font-weight:700; letter-spacing:.65px; text-transform:uppercase}
.home-detail-row{min-height:50px; padding:8px 16px; border-bottom:1px solid rgba(221,214,198,.72)}
.home-detail-row:last-child{border-bottom:0}
.home-detail-name,.home-detail-authors,.home-detail-number,.home-detail-progress{min-width:0}
.home-detail-name strong{display:-webkit-box; overflow:hidden; color:var(--ink); font-family:var(--serif); font-size:16px;
  font-weight:700; line-height:1.2; -webkit-box-orient:vertical; -webkit-line-clamp:2}
.home-detail-name small{display:block; margin-top:3px; overflow:hidden; color:var(--ink2); font-family:var(--sans); font-size:10.5px;
  line-height:1.25; text-overflow:ellipsis; white-space:nowrap}
.home-detail-authors{font-family:var(--sans); line-height:1.2}
.home-detail-author-names{display:-webkit-box; overflow:hidden; color:var(--ink); font-size:12.5px; font-weight:400;
  line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2}
.home-section-card--owned .home-detail-author-names{display:flex; align-items:center; min-width:0; overflow:hidden;
  text-overflow:clip; white-space:nowrap; -webkit-line-clamp:unset}
.home-section-card--owned .home-detail-author-item,.home-section-card--owned .home-detail-author-more{flex:0 0 auto; white-space:nowrap}
.home-detail-author-item:not(.is-last)::after{content:',\00a0'}
.home-detail-author-item[hidden],.home-detail-author-more[hidden]{display:none!important}
.home-detail-authors small{display:block; margin-top:2px; color:var(--ink2); font-size:10px}
.home-detail-muted{color:var(--ink2)}
.home-detail-number strong{display:inline; color:var(--ink); font-size:15.5px; font-weight:400}
.home-detail-number small{margin-left:4px; color:var(--ink2); font-family:var(--sans); font-size:10px}
.home-detail-progress > div{display:flex; align-items:center; justify-content:space-between; gap:8px}
.home-detail-progress strong{color:var(--ink); font-size:13.5px; font-weight:400}
.home-detail-progress span{color:var(--cloth); font-family:var(--sans); font-size:10.5px; font-weight:500}
.home-detail-progress i{display:block; overflow:hidden; height:4px; margin-top:4px; border-radius:2px; background:#e7e2d8}
.home-detail-progress i span{display:block; height:100%; border-radius:2px; background:var(--gold)}
.home-section-card--series .home-detail-progress i span{background:var(--cloth)}
.home-section-card--top100 .home-detail-row{min-height:50px}
.home-section-context{margin-top:auto; padding:11px 16px 12px; color:var(--ink2); font-family:var(--sans); font-size:10.5px;
  line-height:1.4}
.home-section-context::before{content:''; display:inline-block; width:5px; height:5px; margin-right:7px; border-radius:50%;
  background:var(--gold); vertical-align:1px}
.home-section-card--series .home-section-context::before,.home-section-card--authors .home-section-context::before{background:var(--cloth)}

@media (max-width:760px){
  .home-section-grid{grid-template-columns:1fr}
  .home-section-card--detailed,.home-section-card--top100,.home-section-card--authors{grid-column:auto}
  .home-section-card--detailed .home-section-overview{grid-template-columns:1fr; grid-template-rows:auto; gap:0; padding:14px}
  .home-section-card--detailed .home-section-metrics{grid-column:auto; grid-row:auto; margin-top:13px; padding:12px 0 0;
    border-top:1px solid var(--line); border-left:0}
  .home-section-card--detailed .home-section-overview{border-bottom:3px solid rgba(176,141,62,.78); background:#faf8f2}
  .home-section-card--series .home-section-overview,.home-section-card--authors .home-section-overview{
    border-bottom-color:rgba(44,74,56,.78); background:#f5f8f5}
  .home-section-card--top100 .home-section-overview{background:#fcf8ed}
  .home-detail-table{overflow:visible; border-top:0}
  .home-detail-head{display:none}
  .home-detail-row,.home-detail-row--four{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0;
    min-height:0; column-gap:0; row-gap:9px; align-items:stretch; padding:14px 16px 15px; border-bottom:1px solid #cec6b7;
    background:#fff; box-shadow:none}
  .home-section-card--series .home-detail-row,.home-section-card--authors .home-detail-row{box-shadow:none}
  .home-detail-row:last-child{border-bottom:0}
  .home-detail-name,.home-detail-authors{grid-column:1/-1}
  .home-detail-name strong{display:block; overflow:visible; font-size:16.5px; line-height:1.22; -webkit-line-clamp:unset}
  .home-detail-name small{overflow:visible; margin-top:2px; font-size:10px; text-overflow:clip; white-space:normal}
  .home-detail-authors{display:flex; align-items:baseline; gap:7px; min-width:0; padding:0; border:0}
  .home-detail-authors::before,.home-detail-number::before,.home-detail-progress::before{display:block; margin-bottom:4px;
    color:var(--ink2); font-family:var(--sans); font-size:8.5px; font-weight:700; letter-spacing:.55px; text-transform:uppercase}
  .home-detail-authors::before,.home-detail-number::before,.home-detail-progress::before{content:attr(data-label)}
  .home-detail-authors::before{flex:0 0 auto; margin-bottom:0}
  .home-detail-number,.home-detail-progress{min-width:0; padding:9px 0 2px; border-top:1px solid #d9d1c2}
  .home-detail-number,.home-detail-progress{border-radius:0; background:transparent; box-shadow:none}
  .home-detail-number,.home-detail-progress:not(:last-child){border-right:0}
  .home-detail-row:not(.home-detail-row--four) > .home-detail-progress:nth-child(3),
  .home-detail-row--four > .home-detail-progress:nth-child(2){padding-right:14px}
  .home-detail-progress{grid-column:auto}
  .home-detail-progress:last-child{padding-left:14px}
  .home-detail-number strong{font-size:15.5px}
  .home-detail-number small{display:block; margin:2px 0 0; font-size:8.5px}
  .home-detail-progress strong{font-size:13.5px}
  .home-detail-progress span{font-size:9.5px}
  .home-detail-progress i{height:4px; margin-top:5px}
  .home-detail-author-names,.home-section-card--owned .home-detail-author-names{display:flex; flex:1 1 auto; flex-wrap:nowrap;
    min-width:0; overflow:hidden; white-space:nowrap; -webkit-line-clamp:unset}
  .home-section-card--owned .home-detail-author-item{max-width:none; overflow-wrap:normal; white-space:nowrap}
  .home-section-card--owned .home-detail-author-more{white-space:nowrap}
}
@media (max-width:520px){
  .home-dashboard{gap:22px}
  .home-overview-head{align-items:flex-start; flex-direction:column; gap:10px; padding:13px 14px}
  .home-read-link{align-self:stretch; justify-content:space-between}
  .home-progress-grid{grid-template-columns:1fr}
  .home-progress-unit{padding:14px}
  .home-progress-unit + .home-progress-unit{border-top:1px solid var(--line); border-left:0}
  .home-sections-heading{align-items:flex-start; flex-direction:column; gap:4px}
  .home-sections-heading p{text-align:left}
  .home-section-head{padding:11px 12px}
  .home-section-title{gap:7px}
  .home-section-title h3{font-size:21px}
  .home-section-open{font-size:12.5px}
  .home-section-main{padding-right:13px; padding-left:13px}
  .home-section-track,.home-section-metrics{margin-right:13px; margin-left:13px}
  .home-section-breakdown{margin-right:13px; margin-left:13px}
  .home-section-metrics{grid-template-columns:1fr 1fr}
  .home-section-context{padding-right:13px; padding-left:13px}
}

@media (max-width:700px){
  .lib-nav{padding:15px 14px 16px}
  .lib-nav.lib-nav--owned,.lib-nav.lib-nav--series,.lib-nav.lib-nav--top100{
    width:100%; margin-right:0; margin-left:0; padding:0}
  .lib-nav--owned .lib-nav-grid,.lib-nav--series .lib-nav-grid,.lib-nav--top100 .lib-nav-grid{width:100%}
  .lib-nav--owned .lnav-chip,.lib-nav--series .lnav-chip,.lib-nav--top100 .lnav-chip{width:100%; min-width:0; box-sizing:border-box}
  #page-owned > .lib-grid,#page-series > .lib-grid,#page-top100 > .lib-grid{gap:20px}
  .lib-card > .lib-h{padding:12px}
  .lib-card--special > .lib-h{padding-right:112px}
  .lib-card > .rows,.lib-card .vol-rows{padding-left:10px; padding-right:10px}
  .lib-card .row.series-head{padding:12px 10px}
  .hb-section{padding:16px 14px}
  .hb-head{margin:-16px -14px 0; padding:12px 13px}
}

/* ---------- главная: упрощённые четыре блока ---------- */
.home-overall-card{overflow:hidden; margin-bottom:20px; border:1px solid #d8cfbd; border-top:4px solid var(--gold);
  border-radius:13px; background:#fff; box-shadow:0 5px 16px rgba(38,35,28,.07)}
.home-overall-head{padding:12px 17px; border-bottom:1px solid var(--line); background:#faf4e5}
.home-overall-head h2{font-size:22px; font-weight:700; line-height:1.15}
.home-overall-metrics{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px 17px 17px}
.home-overall-metric{display:flex; align-items:center; gap:16px; min-width:0; padding-right:20px}
.home-overall-metric + .home-overall-metric{padding-right:0; padding-left:20px; border-left:1px solid var(--line)}
.home-overall-ring{position:relative; display:grid; flex:0 0 auto; place-items:center; width:64px; height:64px; border-radius:50%;
  background:conic-gradient(var(--gold) 0deg,var(--paper2) 0deg)}
.home-overall-ring::before{content:''; position:absolute; inset:7px; border-radius:50%; background:#fff}
.home-overall-ring b{position:relative; z-index:1; color:var(--gold2); font-family:var(--serif); font-size:16px; font-weight:700}
.home-overall-ring--pages b{color:var(--cloth)}
.home-overall-body{flex:1 1 auto; min-width:0}
.home-overall-label{display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--gold2);
  font-family:var(--sans); font-size:9.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase}
.home-overall-value{display:flex; align-items:baseline; gap:7px; margin-top:6px}
.home-overall-value strong{color:var(--ink); font-size:27px; line-height:1; font-weight:700}
.home-overall-value span{color:var(--ink2); font-family:var(--sans); font-size:11px}
.home-overall-value span b{color:var(--ink); font-weight:700}
.home-overall-body > i{display:block; overflow:hidden; height:5px; margin-top:9px; border-radius:3px; background:#e7e2d8}
.home-overall-body > i > span{display:block; width:0; height:100%; border-radius:inherit; background:var(--gold); transition:width .35s ease}
.home-overall-metric + .home-overall-metric .home-overall-body > i > span{background:var(--cloth)}
.home-simple-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:14px}
.home-simple-card{overflow:hidden; min-width:0; border:1px solid #d8cfbd; border-top:4px solid var(--cloth); border-radius:13px;
  background:#fff; color:var(--ink); text-decoration:none; box-shadow:0 5px 16px rgba(38,35,28,.07);
  transition:border-color .15s,box-shadow .15s,transform .15s}
.home-simple-card:hover{border-color:#b9ad95; box-shadow:0 8px 20px rgba(38,35,28,.11); transform:translateY(-1px)}
.home-simple-card:focus-visible{outline:2px solid var(--gold); outline-offset:3px}
.home-simple-head{display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:58px; padding:11px 13px;
  border-bottom:1px solid var(--line); background:#f4f6f3}
.home-simple-head h2{font-size:19px; font-weight:700; line-height:1.1}
.home-simple-open{display:inline-grid; flex:0 0 auto; place-items:center; width:28px; height:28px; border-radius:50%;
  background:rgba(44,74,56,.09); color:var(--cloth); font-family:var(--sans); font-size:18px; font-weight:700; line-height:1;
  transition:background .15s,color .15s,transform .15s}
.home-simple-card:hover .home-simple-open{background:var(--cloth); color:#fff; transform:translateX(2px)}
.home-simple-count{display:flex; align-items:center; min-height:62px; padding:12px 13px 14px}
.home-simple-count strong{display:flex; align-items:baseline; gap:7px; color:var(--ink); font-family:var(--serif); font-weight:500; white-space:nowrap}
.home-simple-count strong > b{font-size:29px; font-weight:700; line-height:1}
.home-simple-count strong > span{color:var(--ink2); font-family:var(--sans); font-size:11px; font-weight:500}
.home-simple-count strong > span em{color:var(--ink); font-style:normal; font-weight:700}
@media (max-width:900px){
  .home-simple-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
}
@media (max-width:520px){
  .home-overall-head{padding:11px 13px}
  .home-overall-head h2{font-size:20px}
  .home-overall-metrics{grid-template-columns:1fr; padding:13px}
  .home-overall-metric{gap:13px; padding:0}
  .home-overall-metric + .home-overall-metric{margin-top:12px; padding:12px 0 0; border-top:1px solid var(--line); border-left:0}
  .home-overall-ring{width:58px; height:58px}
  .home-overall-ring b{font-size:15px}
  .home-simple-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
  .home-simple-card{border-top-width:3px; border-radius:10px}
  .home-simple-head{box-sizing:border-box; height:64px; min-height:64px; gap:6px; padding:8px 9px}
  .home-simple-head h2{font-size:16px}
  .home-simple-open{width:24px; height:24px; font-size:16px}
  .home-simple-count{box-sizing:border-box; height:64px; min-height:64px; padding:9px}
  .home-simple-count strong{gap:5px}
  .home-simple-count strong > b{font-size:24px}
  .home-simple-count strong > span{font-size:10px}
}

@media (max-width:640px){ .dot-grid{grid-template-columns:repeat(14,1fr)} .tile-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))} .dot-big{border-right:0; padding-right:0} }
@media print{
  .page{display:block !important}
  .page-tabs{display:none !important}
  .page-head{border-bottom:1.5pt solid #000; margin:0 0 6pt; padding-bottom:2pt}
  .page-head h2{font-size:12pt}
  .page-head .pd{font-size:7pt; color:#333}
  .hb-section{padding:5pt 7pt; margin-bottom:6pt; border-color:#999; break-inside:avoid}
  .hb-head h3{font-size:9pt}
  .hb-frac{font-size:7pt}
  .hb-frac b{font-size:8pt; color:#000}
  .hb-track{height:3pt; margin-top:3pt}
  .hb-pages{font-size:6.5pt; margin-top:2pt; color:#333}
  .hb-pages b{color:#000}
  .hb-track .f{background:#000}
  .tile-grid{grid-template-columns:repeat(5,1fr); gap:4pt; margin-top:5pt}
  .tile-special{margin-top:6pt; padding:4pt 4pt 1pt; border:1pt solid #b08d3e; border-radius:4pt}
  .tile-special .tile-grid{margin-top:0}
  .tile{padding:3pt 4pt; border-color:#999}
  .tile .tprio{font-size:5pt; padding:0 2.5pt; background:#fff; color:#000; border:.5pt solid #000; margin-left:3pt}
  .tile .tl{font-size:7pt; font-weight:700; min-height:1.8em; -webkit-line-clamp:2}
  .tile .tsub{font-size:5.5pt}
  .tile .tf{font-size:8pt; margin-top:2pt}
  .tile .tf small{font-size:5.5pt}
  .tile .ttrack{height:2.5pt; margin-top:2pt}
  .tile.done{background:#eee}
  .tile.done .ttrack .f, .tile.done .tf{color:#000; background:#000}
  .dot-panel{margin-top:5pt; gap:8pt}
  .dot-big{padding-right:8pt}
  .dot-big-n{font-size:14pt}
  .dot-big-l{font-size:6pt}
  .dot-grid{grid-template-columns:repeat(25,1fr); gap:2pt}
  .dot{border-color:#999}
  .dot.on{background:#000; border-color:#000}
  .dot-legend{font-size:6.5pt; margin-top:4pt}
  .au-priority{background:#fff; color:#000; border:.5pt solid #000}
  .chap-linked{font-size:6.5pt}
  .read-log h4{font-size:8pt; margin:6pt 0 2pt}
  .read-log li{font-size:6.5pt; padding:1pt 0}
  .read-log li .a{font-size:5.5pt}
}

/* ---------- печать ---------- */
@media print{
  @page{margin:10mm}
  body{background:#fff; font-size:8pt; line-height:1.25}
  .toolbar,.nav-chips,.hero .progress-track,footer{display:none !important}
  header.hero{background:#fff; color:#000; padding:0 0 6pt; border-bottom:2.5pt solid #000}
  header.hero::after{display:none}
  .hero h1{font-size:17pt; color:#000}
  .hero .sub{color:#333; font-size:8pt}
  .hero-stats{gap:10pt; margin-top:6pt}
  .hgroup{border:.5pt solid #999; background:#fff; padding:4pt 7pt; gap:7pt; border-radius:5pt}
  .hg-ring{width:34pt; height:34pt; background:#fff !important; border:.8pt solid #000}
  .hg-ring::before{inset:4pt; background:#fff}
  .hg-ring .rn{color:#000; font-size:9pt}
  .hg-label{color:#333; font-size:6.5pt; margin-bottom:1pt}
  .hg-big{color:#000; font-size:13pt}
  .hg-of{color:#333; font-size:8pt}
  .hg-of b{color:#000}
  .hg-mini{display:none}
  main{padding:8pt 0 0; max-width:none}
  section.block{margin-bottom:12pt; break-inside:auto}
  .spine{background:#fff; color:#000; box-shadow:none; border:none; border-bottom:1.5pt solid #000; border-radius:0; padding:2pt 0}
  .spine h2{font-size:11pt}
  .spine .cnt{color:#333}
  .block-cols{column-count:3; column-gap:14pt; margin-top:4pt}
  .grp{margin-top:6pt; break-inside:avoid-column}
  .lib-nav{display:none}
  .lib-summary{grid-template-columns:1fr 1fr; gap:8pt; margin-bottom:6pt}
  .ls-card{border:.5pt solid #999; padding:4pt 7pt; gap:7pt; box-shadow:none; border-radius:4pt}
  .ls-ring{width:32pt; height:32pt; background:#fff !important; border:.8pt solid #000}
  .ls-ring::before{inset:4pt; background:#fff}
  .ls-pct{color:#000; font-size:8pt}
  .ls-label{font-size:6pt; color:#333}
  .ls-big{font-size:12pt; color:#000}
  .ls-of{font-size:7pt; color:#333}
  .ls-of b{color:#000}
  .ls-track{display:none}
  .lib-h-stat{font-size:6.5pt; color:#333}
  .lib-grid{display:block; margin-top:2pt}
  .lib-card{border:.5pt solid #999; border-radius:3pt; padding:3pt 6pt; margin-bottom:5pt; box-shadow:none; break-inside:avoid}
  .lib-h{font-size:8.5pt; padding-bottom:1.5pt; border-bottom:1pt solid #000; margin-bottom:2pt}
  .lib-sub{font-size:6.5pt; color:#000; background:#eee; padding:0 3pt; margin:3pt 0 1pt}
  .lib-subblock{margin-top:3pt; padding:1pt 0 1pt 4pt; border-left:1pt solid #b08d3e}
  .lib-subblock .lib-sub{background:none; border:none; padding:0}
  .lib-subblock--keystone{border-left-color:#000; background:#f3f3f3}
  .lib-subblock--keystone .lib-sub{background:#000 !important; color:#fff !important}
  .lib-special-wrap{margin-top:6pt; border-top:1pt dashed #000; padding-top:2pt}
  .lib-special-head{font-size:7pt; color:#000; margin:2pt 0 3pt}
  .lib-card--special{border:1pt solid #b08d3e; background:#faf6ee}
  .lib-special-tag{font-size:5pt; background:#fff; color:#000; border:.5pt solid #000; padding:0 2pt}
  .grp h3{font-size:8.5pt}
  .grp .sub-h{font-size:7.5pt; margin:3pt 0 1pt}
  .rows{border-top:none}
  .row{padding:1.2pt 0; border-bottom:none; gap:4pt; break-inside:avoid}
  .row .box{width:7pt; height:7pt; margin-top:1.4pt; border-width:.8pt; border-color:#000; border-radius:1pt; background:#fff}
  .row.read .box{background:#000; border-color:#000}
  .row.half-read .box{background:linear-gradient(135deg,#000 50%,#fff 50%); border-color:#000}
  .row.read .box::after{display:none}
  .row .t{font-size:8pt}
  .row .m{display:inline; font-size:7pt; color:#444; margin-left:3pt}
  .badges{margin-left:3pt}
  .badge{font-size:5.5pt; padding:0 2pt; border:.5pt solid #999 !important; background:#fff !important; color:#333 !important}
  .xtag{font-size:5pt; padding:0 2pt; background:#fff !important; color:#333 !important; border:.5pt solid #999 !important}
  .row-tags{gap:2pt; margin-left:3pt}
  .chip-main{background:#fff; color:#000; border:.5pt solid #000; font-size:5.5pt; padding:0 2pt}
  .series-item{margin-top:5pt; break-inside:avoid-column}
  .row.series-head{border:none; border-bottom:.8pt solid #000; border-radius:0; padding:1.5pt 0}
  .row.series-head .t{font-size:8.5pt}
  .vol-rows{border:none; padding:1pt 0 0 8pt; background:#fff}
  .vol-rows .row{padding:.8pt 0; border-bottom:none}
  .vol-rows .row .box{width:6pt; height:6pt}
  .vol-rows .row .t{font-size:7.5pt}
  .map-logic{font-size:7.5pt; margin:3pt 0}
  .map-flow{grid-template-columns:1fr 12pt 1fr 12pt 1fr; gap:3pt; margin-top:3pt}
  .map-arrow{font-size:9pt; color:#000}
  .mcard{padding:3pt 5pt; border-color:#999}
  .mcard .step{font-size:5.5pt; color:#333}
  .mcard .mt{font-size:8.5pt}
  .mcard .md,.mcard .mn{font-size:6.5pt; color:#333; margin-top:1pt}
  .mini-track{display:none}
  .map-x h3{font-size:8pt}
  .xrow{padding:1.5pt 0; font-size:6.8pt; border-color:#ccc}
  .xrow .xl{font-size:6pt; flex-basis:130pt; color:#333}
  .chapter{border:none; padding:0; margin-top:10pt; background:#fff; box-shadow:none; overflow:visible}
  .chapter .lib-special-tag{font-size:5pt; border-radius:0; padding:0 2pt}
  .chap-head{border-bottom:1.2pt solid #000; padding:0 0 1.5pt; background:#fff !important}
  .chap-kicker{padding:0; font-size:5.5pt; color:#333}
  .chap-kicker b{min-width:auto; height:auto; padding:0 2pt; border-radius:0; background:#fff; color:#000; border:.5pt solid #000}
  .chap-title-row{margin-top:2pt; gap:6pt}
  .chap-head h3{font-size:10.5pt}
  .chap-life{min-height:0; padding:0; border:0; background:#fff; font-size:6.5pt; color:#333}
  .chap-progress{min-width:90pt; padding:1pt 3pt; border:.5pt solid #999; box-shadow:none}
  .chap-progress > span{font-size:5pt; color:#333}
  .chap-progress strong{font-size:6pt; margin-top:0}
  .chap-about{font-size:7pt; margin-top:2pt}
  .chap-themes{display:block; margin-top:1pt}
  .chap-themes-label{display:block; padding:0; font-size:5pt}
  .chap-theme-list{gap:2pt; margin-top:1pt}
  .chap-theme-list > span{min-height:0; padding:0 2pt; border:.5pt solid #999; border-radius:0; background:#fff; color:#333; font-size:5.5pt}
  .chap-cols{display:block; column-count:3; column-gap:14pt; margin-top:2pt; padding:0; background:#fff}
  .author-part{border:.5pt solid #999; border-radius:2pt; box-shadow:none; margin:0 0 4pt; break-inside:avoid-column}
  .author-part-head{display:block; padding:2pt 3pt; border-bottom:.5pt solid #999; background:#eee !important}
  .author-part-num{display:inline; width:auto; height:auto; padding:0; border-radius:0; background:none !important; color:#000; box-shadow:none; font-size:5.5pt}
  .author-part h4{display:inline; font-size:7pt; margin-left:3pt; color:#000}
  .author-part-head p{font-size:5.5pt; margin-top:1pt}
  .author-part-count{display:none}
  .author-part-body{padding:0 3pt 2pt}
  .author-subsection{margin-top:2pt; border:.5pt solid #bbb; border-radius:1pt}
  .author-subsection-head{padding:1pt 2pt; border-left:1pt solid #000; background:#eee}
  .chapter .author-subsection-head h5{font-size:6.5pt; margin:0}
  .author-subsection-head > span{min-width:auto; height:auto; padding:0; background:none; font-size:5pt}
  .keystone{border:.8pt solid #000; border-radius:3pt; padding:2pt 5pt; margin:3pt 0}
  .keystone-label{display:block; padding:1pt 2pt; background:#eee; font-size:5.5pt; color:#000; margin:0}
  .keystone-label b{float:right; padding:0; background:none; color:#000; font-size:5pt}
  .chapter .sub-h{font-size:5.5pt; margin:0; padding:1pt 2pt; background:#eee}
  .chapter .part{break-inside:avoid-column}
}
@media (max-width:640px){
  .hero h1{font-size:35px}
  .hero-stats{gap:20px}
  .page-tabs{display:grid; grid-template-columns:1fr; gap:9px; width:100%}
  .page-tab-group{display:block}
  .page-tab-links{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px}
  .page-tabs a{padding:9px 7px; font-size:12.5px; text-align:center; white-space:normal}
}
