@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Inter-400-normal-cyrillic.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Inter-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Inter-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/Inter-500-normal-cyrillic.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/Inter-500-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/Inter-500-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Inter-600-normal-cyrillic.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Inter-600-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Inter-600-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF;}
@font-face{font-family:'Literata';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/Literata-400-italic-cyrillic.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Literata';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/Literata-400-italic-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA;}
@font-face{font-family:'Literata';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/Literata-400-italic-latin.woff2') format('woff2');unicode-range:U+0000-00FF;}
@font-face{font-family:'Literata';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Literata-400-normal-cyrillic.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Literata';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Literata-400-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA;}
@font-face{font-family:'Literata';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Literata-400-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF;}
@font-face{font-family:'Literata';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Literata-600-normal-cyrillic.woff2') format('woff2');unicode-range:U+0400-045F;}
@font-face{font-family:'Literata';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Literata-600-normal-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA;}
@font-face{font-family:'Literata';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Literata-600-normal-latin.woff2') format('woff2');unicode-range:U+0000-00FF;}

:root{
  --serif:'Literata',Georgia,serif;
  --sans:'Inter',system-ui,sans-serif;
  --fs:20px;
  --gap:2.6rem;
  --r:4px;
  --r-img:12px;
  --kene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%2264%22%20fill%3D%22none%22%20stroke%3D%22%23c03514%22%20stroke-linecap%3D%22square%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20240%2064%22%3E%3Cpath%20stroke-width%3D%221.6%22%20d%3D%22M0%2032h16V16h8v8h24v16h16v-8h16v8h24V24h16v16-8%208-16h16v16h24v-8h16v8h16V24h24v-8h8v16h16%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20d%3D%22M0%2035h16V19h8v8h24v16h16v-8h16v8h24V27h16v16-8%208-16h16v16h24v-8h16v8h16V27h24v-8h8v16h16M0%2032v8m16-24v8m8%200v-8m24%2024v8m16-16v16m16-8v-8m24-8v-8m16%2024v8m0-8V24m16%200v-8m24%2024v-8m16%200v16m16-8v-8m24-8v8m8-16V8m16%2024v-8%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E");
  --kene-tile:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22none%22%20stroke%3D%22%23c03514%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cpath%20stroke-width%3D%221.6%22%20stroke-opacity%3D%22.08%22%20d%3D%22M0%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M60%20120h15v-15h15v-15h15v-15h15v-15M0%2060h15v-15h15v-15h15v-15h15v-15M0%200h15M0%2015v-15M60%200h15M0%2075v-15%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20stroke-opacity%3D%22.05%22%20d%3D%22M30%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M0%2030h15v-15h15v-15M90%20120h15v-15h15v-15M0%2090h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M30%200h15M0%2045v-15M90%200h15M0%20105v-15%22%2F%3E%3C%2Fsvg%3E");
}

html[data-theme=cinnabar]{
  --bg:#fffcf7; --bg-soft:#f7ebdd; --bg-card:#ffffff; --bg-sink:#f0dfc9;
  --ink:#1c0f07; --ink-soft:#4d382a; --ink-faint:#6f5847;
  --line:#dcc2a4; --line-soft:#eddcc8;
  --accent:#c03514; --accent-ink:#fff; --accent-bg:#fcded0; --accent-line:#efa17c;
  --accent-soft:rgba(192,53,20,.4);
  --note:#155a80;  --note-bg:#ddeefa; --note-line:#8fc2e2;
  --herb:#1f6b33;  --herb-bg:#ddf0d8; --herb-line:#96cf96;
  --warn:#a52810;  --warn-bg:#fadbd0; --warn-line:#eba48c;
  --shadow:0 1px 2px rgba(45,25,10,.07);
  --img-shadow:0 8px 30px rgba(45,25,10,.13),0 1px 3px rgba(45,25,10,.07);
  --glow:none;
  --kene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%2264%22%20fill%3D%22none%22%20stroke%3D%22%23c03514%22%20stroke-linecap%3D%22square%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20240%2064%22%3E%3Cpath%20stroke-width%3D%221.6%22%20d%3D%22M0%2032h16V16h8v8h24v16h16v-8h16v8h24V24h16v16-8%208-16h16v16h24v-8h16v8h16V24h24v-8h8v16h16%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20d%3D%22M0%2035h16V19h8v8h24v16h16v-8h16v8h24V27h16v16-8%208-16h16v16h24v-8h16v8h16V27h24v-8h8v16h16M0%2032v8m16-24v8m8%200v-8m24%2024v8m16-16v16m16-8v-8m24-8v-8m16%2024v8m0-8V24m16%200v-8m24%2024v-8m16%200v16m16-8v-8m24-8v8m8-16V8m16%2024v-8%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E"); --kene-tile:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22none%22%20stroke%3D%22%23c03514%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cpath%20stroke-width%3D%221.6%22%20stroke-opacity%3D%22.08%22%20d%3D%22M0%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M60%20120h15v-15h15v-15h15v-15h15v-15M0%2060h15v-15h15v-15h15v-15h15v-15M0%200h15M0%2015v-15M60%200h15M0%2075v-15%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20stroke-opacity%3D%22.05%22%20d%3D%22M30%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M0%2030h15v-15h15v-15M90%20120h15v-15h15v-15M0%2090h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M30%200h15M0%2045v-15M90%200h15M0%20105v-15%22%2F%3E%3C%2Fsvg%3E");
}

html[data-theme=malachite]{
  --bg:#fbfdfb; --bg-soft:#e7f1e9; --bg-card:#ffffff; --bg-sink:#d7e8dc;
  --ink:#0b1710; --ink-soft:#34473a; --ink-faint:#576b5d;
  --line:#bcd4c4; --line-soft:#dae8de;
  --accent:#0c7248; --accent-ink:#fff; --accent-bg:#d2efde; --accent-line:#82cba3;
  --accent-soft:rgba(12,114,72,.4);
  --note:#15577e;  --note-bg:#dfeef8; --note-line:#96c4e0;
  --herb:#0c7248;  --herb-bg:#d2efde; --herb-line:#82cba3;
  --warn:#a33417;  --warn-bg:#f9ddd2; --warn-line:#e8a88c;
  --shadow:0 1px 2px rgba(11,23,16,.07);
  --img-shadow:0 8px 30px rgba(11,23,16,.13),0 1px 3px rgba(11,23,16,.07);
  --glow:none;
  --kene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%2264%22%20fill%3D%22none%22%20stroke%3D%22%230c7248%22%20stroke-linecap%3D%22square%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20240%2064%22%3E%3Cpath%20stroke-width%3D%221.6%22%20d%3D%22M0%2032h16V16h8v8h24v16h16v-8h16v8h24V24h16v16-8%208-16h16v16h24v-8h16v8h16V24h24v-8h8v16h16%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20d%3D%22M0%2035h16V19h8v8h24v16h16v-8h16v8h24V27h16v16-8%208-16h16v16h24v-8h16v8h16V27h24v-8h8v16h16M0%2032v8m16-24v8m8%200v-8m24%2024v8m16-16v16m16-8v-8m24-8v-8m16%2024v8m0-8V24m16%200v-8m24%2024v-8m16%200v16m16-8v-8m24-8v8m8-16V8m16%2024v-8%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E"); --kene-tile:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22none%22%20stroke%3D%22%230c7248%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cpath%20stroke-width%3D%221.6%22%20stroke-opacity%3D%22.08%22%20d%3D%22M0%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M60%20120h15v-15h15v-15h15v-15h15v-15M0%2060h15v-15h15v-15h15v-15h15v-15M0%200h15M0%2015v-15M60%200h15M0%2075v-15%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20stroke-opacity%3D%22.05%22%20d%3D%22M30%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M0%2030h15v-15h15v-15M90%20120h15v-15h15v-15M0%2090h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M30%200h15M0%2045v-15M90%200h15M0%20105v-15%22%2F%3E%3C%2Fsvg%3E");
}

html[data-theme=azure]{
  --bg:#fbfdff; --bg-soft:#e6eef7; --bg-card:#ffffff; --bg-sink:#d5e2f1;
  --ink:#0c1524; --ink-soft:#364459; --ink-faint:#59687f;
  --line:#bed0e6; --line-soft:#dbe5f2;
  --accent:#155bb5; --accent-ink:#fff; --accent-bg:#d8e7f9; --accent-line:#8db7e8;
  --accent-soft:rgba(21,91,181,.4);
  --note:#14507e;  --note-bg:#dcedf9; --note-line:#93c2e4;
  --herb:#22684a;  --herb-bg:#dbefe4; --herb-line:#96cbb2;
  --warn:#ab3520;  --warn-bg:#f9ddd5; --warn-line:#e8a795;
  --shadow:0 1px 2px rgba(12,21,36,.07);
  --img-shadow:0 8px 30px rgba(12,21,36,.13),0 1px 3px rgba(12,21,36,.07);
  --glow:none;
  --kene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%2264%22%20fill%3D%22none%22%20stroke%3D%22%23155bb5%22%20stroke-linecap%3D%22square%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20240%2064%22%3E%3Cpath%20stroke-width%3D%221.6%22%20d%3D%22M0%2032h16V16h8v8h24v16h16v-8h16v8h24V24h16v16-8%208-16h16v16h24v-8h16v8h16V24h24v-8h8v16h16%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20d%3D%22M0%2035h16V19h8v8h24v16h16v-8h16v8h24V27h16v16-8%208-16h16v16h24v-8h16v8h16V27h24v-8h8v16h16M0%2032v8m16-24v8m8%200v-8m24%2024v8m16-16v16m16-8v-8m24-8v-8m16%2024v8m0-8V24m16%200v-8m24%2024v-8m16%200v16m16-8v-8m24-8v8m8-16V8m16%2024v-8%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E"); --kene-tile:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22none%22%20stroke%3D%22%23155bb5%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cpath%20stroke-width%3D%221.6%22%20stroke-opacity%3D%22.08%22%20d%3D%22M0%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M60%20120h15v-15h15v-15h15v-15h15v-15M0%2060h15v-15h15v-15h15v-15h15v-15M0%200h15M0%2015v-15M60%200h15M0%2075v-15%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20stroke-opacity%3D%22.05%22%20d%3D%22M30%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M0%2030h15v-15h15v-15M90%20120h15v-15h15v-15M0%2090h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M30%200h15M0%2045v-15M90%200h15M0%20105v-15%22%2F%3E%3C%2Fsvg%3E");
}

html[data-theme=charcoal]{
  --bg:#191817; --bg-soft:#232120; --bg-card:#201e1d; --bg-sink:#100f0e;
  --ink:#e9e5df; --ink-soft:#a6a09a; --ink-faint:#8a847d;
  --line:#34302d; --line-soft:#26221f;
  --accent:#e0653f; --accent-ink:#191817; --accent-bg:#241612; --accent-line:#48281e;
  --accent-soft:rgba(224,101,63,.35);
  --note:#8fb0c8; --note-bg:#1a2124; --note-line:#324249;
  --herb:#98c496; --herb-bg:#182019; --herb-line:#2c4030;
  --warn:#e5795f; --warn-bg:#241513; --warn-line:#472822;
  --shadow:0 2px 14px rgba(0,0,0,.38); --img-shadow:0 10px 40px rgba(0,0,0,.52);
  --glow:0 0 22px rgba(224,101,63,.30); --kene:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22240%22%20height%3D%2264%22%20fill%3D%22none%22%20stroke%3D%22%23e0653f%22%20stroke-linecap%3D%22square%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20240%2064%22%3E%3Cpath%20stroke-width%3D%221.6%22%20d%3D%22M0%2032h16V16h8v8h24v16h16v-8h16v8h24V24h16v16-8%208-16h16v16h24v-8h16v8h16V24h24v-8h8v16h16%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20d%3D%22M0%2035h16V19h8v8h24v16h16v-8h16v8h24V27h16v16-8%208-16h16v16h24v-8h16v8h16V27h24v-8h8v16h16M0%2032v8m16-24v8m8%200v-8m24%2024v8m16-16v16m16-8v-8m24-8v-8m16%2024v8m0-8V24m16%200v-8m24%2024v-8m16%200v16m16-8v-8m24-8v8m8-16V8m16%2024v-8%22%20opacity%3D%22.55%22%2F%3E%3C%2Fsvg%3E"); --kene-tile:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22120%22%20height%3D%22120%22%20fill%3D%22none%22%20stroke%3D%22%23e0653f%22%20aria-hidden%3D%22true%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cpath%20stroke-width%3D%221.6%22%20stroke-opacity%3D%22.08%22%20d%3D%22M0%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M60%20120h15v-15h15v-15h15v-15h15v-15M0%2060h15v-15h15v-15h15v-15h15v-15M0%200h15M0%2015v-15M60%200h15M0%2075v-15%22%2F%3E%3Cpath%20stroke-width%3D%22.7%22%20stroke-opacity%3D%22.05%22%20d%3D%22M30%20120h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M0%2030h15v-15h15v-15M90%20120h15v-15h15v-15M0%2090h15v-15h15v-15h15v-15h15v-15h15v-15h15v-15M30%200h15M0%2045v-15M90%200h15M0%20105v-15%22%2F%3E%3C%2Fsvg%3E");
}

html[data-mode=light]{color-scheme:light}
html[data-mode=dark]{color-scheme:dark}

*{box-sizing:border-box}

html{font-size:16px}

.doc{font-size:var(--fs)}
.doc__head h1{font-size:clamp(1.9rem,3.2vw,2.7rem)}
.doc .toc{font-size:.78em}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--serif);
  line-height:1.72;-webkit-font-smoothing:antialiased;
  transition:background .2s ease,color .2s ease}
a{color:var(--accent)}

.wrap{max-width:80rem;margin:0 auto;padding:0 2rem}
@media(max-width:900px){.wrap{padding:0 1.1rem}}

.kene{height:2.6rem;background-image:var(--kene);background-repeat:repeat-x;
  background-position:center;background-size:auto 100%;opacity:.5}

.kene--faint{opacity:.14;height:2rem;margin:3rem 0}

.kene--sect{opacity:.3;height:1.3em;max-width:16em;margin:3.2em auto 2.6em}

.top{position:relative;position:sticky;top:0;z-index:40;background-color:var(--bg);
  background-image:var(--kene-tile);border-bottom:2px solid var(--accent-line)}

@media(max-width:900px){
  .top.is-hidden{transform:translateY(-100%)}
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference){
  .top{transition:transform .25s ease}
}

.top__in .btn,.top__in .langbar{height:2.25rem}
.top__in .langbar__l{height:100%;min-height:0}
.top__in{display:flex;align-items:center;gap:.9rem;max-width:80rem;margin:0 auto;padding:.65rem 2rem}
.top__logo{width:38px;height:38px;flex:none}

html[data-mode=dark] .top__logo,
html[data-mode=dark] .foot__brand img{background:#f2ead9;border-radius:50%;
  padding:3px;box-sizing:border-box}
.brand{font-family:var(--sans);font-weight:600;font-size:.95rem;line-height:1.2}
.brand small{display:block;font-weight:400;font-size:.62rem;color:var(--ink-soft);
  letter-spacing:.11em;text-transform:uppercase;margin-top:.15rem}
.top__sp{margin-left:auto}

.prog{height:3px;background:transparent}

.prog i{display:block;height:100%;width:0;max-width:100%;background:var(--accent);box-shadow:var(--glow)}

.btn{font-family:var(--sans);font-size:.78rem;font-weight:500;text-decoration:none;
  border:1px solid var(--line);
  background:var(--bg-card);color:var(--ink);padding:.42rem .78rem;border-radius:var(--r);
  cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;line-height:1}
.btn:hover{border-color:var(--ink-faint)}
.btn--pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);
  box-shadow:var(--glow)}

.btn--login{font-size:.9rem;font-weight:600;padding:.42rem 1.2rem}
.btn--login .svgi{width:1.15em;height:1.15em}

.svgi{flex:none}
.btn .svgi{width:1.1em;height:1.1em}

.cbadge{flex:none;border-radius:50%}
.cbadge__bg{fill:var(--accent)}
.cbadge__fg{stroke:var(--accent-ink)}
.btn .cbadge{width:1.35em;height:1.35em}

.lang{position:relative}
.lang summary{list-style:none}
.lang summary::-webkit-details-marker{display:none}
.lang__menu{position:absolute;right:0;top:calc(100% + .4rem);background:var(--bg-card);
  border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  min-width:11.5rem;padding:.3rem;display:none;font-family:var(--sans);font-size:.82rem}
.lang[open] .lang__menu{display:block}
.lang__menu a{display:flex;justify-content:space-between;gap:1rem;padding:.42rem .6rem;
  border-radius:2px;color:var(--ink);text-decoration:none}
.lang__menu a:hover{background:var(--bg-soft)}
.lang__menu a[aria-current=true]{color:var(--accent);font-weight:600}
.lang__menu span{color:var(--ink-faint);font-size:.74rem}

.ico{width:1em;height:1em;flex:none}
.ico--c{width:1.6em;height:1.6em;object-fit:contain;display:block}
picture{display:inline-flex;flex:none}
.fact__i{width:50px;height:50px;object-fit:contain;flex:none}
.btn--icon{padding:.34rem .55rem}
.btn--icon .ico--c{width:1.7em;height:1.7em}
.only-light,.only-dark{display:inline-flex}
html[data-mode=dark] .only-light{display:none}
html[data-mode=light] .only-dark{display:none}

html[data-mode=dark] img[src*="/ic/ui-"]{filter:invert(.92)}
html[data-mode=dark] img[src*="ui-lock-strong"],
html[data-mode=dark] .btn img[src*="/ic/ui-"]{filter:none}
.aa{font-family:var(--serif);font-weight:600;font-size:.95rem;line-height:1}
.prefs-drop .lang__menu{min-width:21rem;padding:1rem 1.15rem}
.prefs__menu h3{margin:0 0 .85rem;font-size:.62rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-faint)}
.prefs__menu .prefs__row{margin:.5rem 0}
.prefs__menu .prefs__row>span:first-child{width:5.2rem;font-size:.78rem}

@media(max-width:640px){
  .lang{position:static}
  .prefs-drop .lang__menu{left:.75rem;right:.75rem;min-width:0}
}

.login{max-width:26rem;margin:3rem auto}
.login__box{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-card);
  padding:1.8rem 1.9rem;display:flex;flex-direction:column;gap:.9rem}
.login__box h2{margin:0 0 .3rem;font-size:1.35rem}
.login__box label{font-family:var(--sans);font-size:.78rem;color:var(--ink-soft);
  display:flex;flex-direction:column;gap:.35rem}
.login__box input{font:inherit;font-size:.95rem;padding:.6rem .75rem;border-radius:var(--r);
  border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.login__box input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.login__submit{justify-content:center;padding:.65rem;font-size:.9rem;
  font-weight:600;margin-top:.3rem}
.login__forgot{font-family:var(--sans);font-size:.78rem;color:var(--ink-faint);
  text-align:center;margin:.6rem 0 0}

.login__c{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;min-width:0}
.login__c .btn{max-width:100%;overflow-wrap:anywhere}

.pwd{position:relative;display:block}
.pwd input{width:100%;box-sizing:border-box;padding-right:3rem}
.pwd__t{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);
  width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;
  border:0;background:none;color:var(--ink-faint);cursor:pointer;border-radius:var(--r)}
.pwd__t:hover{color:var(--ink)}
.pwd__show,.pwd__hide{display:inline-flex}
.pwd__t[aria-pressed=true] .pwd__show{display:none}
.pwd__t[aria-pressed=false] .pwd__hide{display:none}
.login__no{border:1px solid var(--herb-line);border-left:4px solid var(--herb);
  border-radius:var(--r);background:var(--herb-bg);padding:1.8rem 1.9rem}
.login__no .ico--c{width:38px;height:38px;margin-bottom:.6rem}
.login__no h3{margin:0 0 .6rem;font-size:1.15rem;color:var(--herb)}
.login__no p{color:var(--ink-soft);margin:0 0 1.2rem;font-size:.95rem}
.login__no .gate__c{justify-content:flex-start}
@media(max-width:760px){.login{grid-template-columns:1fr;gap:1.2rem}}

.hero,.doc__head{padding:3rem 0 0}
.hero{padding-bottom:3rem}
.hero h1,.doc__head h1{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;margin:0 0 1.1rem;
  font-weight:600;letter-spacing:-.015em;max-width:24ch}
.hero h1 .sub,.doc__head h1 .sub{display:block;font-size:.52em;font-weight:400;line-height:1.34;
  color:var(--ink-soft);letter-spacing:0;margin-top:.7rem;max-width:36ch}

.plate{background:var(--bg-sink);border:1px solid var(--line-soft);border-radius:var(--r);
  padding:5px;margin:2rem 0}
.plate img{display:block;width:100%;height:auto;border-radius:calc(var(--r) - 1px);
  box-shadow:var(--shadow)}

.plate figcaption{font-family:var(--serif);font-size:.88em;
  color:var(--ink-faint);padding:.7rem .5rem .2rem;margin:0}

.facts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;margin:2rem 0}
.fact{background:var(--bg-card);padding:1rem 1rem;display:flex;gap:.75rem;align-items:center;min-width:0}
.fact__v,.fact__k{overflow-wrap:anywhere}

.fact__v{font-family:var(--sans);font-weight:600;font-size:.94rem;line-height:1.3;display:block}
.fact__k{font-family:var(--sans);font-size:.64rem;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-faint);display:block;margin-top:.2rem}

.lead{font-size:1.08rem;max-width:none}
.notin{border:1px solid var(--line);border-radius:var(--r);margin:2.4rem 0;overflow:hidden}
.notin__h{display:flex;align-items:center;gap:.6rem;background:var(--bg-soft);
  padding:.85rem 1.5rem;border-bottom:1px solid var(--line);
  font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;color:var(--ink-soft)}
.notin__h .ico{width:24px;height:24px;color:var(--ink-faint)}
.notin ul{margin:0;padding:.4rem 1.5rem;list-style:none;background:var(--bg-card)}
.notin li{margin:0;padding:.75rem 0 .75rem 1.7rem;position:relative;
  border-bottom:1px solid var(--line-soft)}
.notin li:last-child{border-bottom:0}

.notin li::before{content:'';position:absolute;left:0;
  top:calc(.75rem + .86em);width:.7rem;height:1px;
  background:var(--ink-faint)}
.notin__yes{display:flex;gap:.8rem;align-items:flex-start;background:var(--herb-bg);
  border-top:1px solid var(--herb-line);padding:1.1rem 1.5rem;color:var(--ink)}
.notin__mail{flex:none;color:var(--herb);margin-top:.15rem}
.notin__yes b{color:var(--herb)}
.notin__yes p{margin:0 0 .7rem}
.notin__yes p:last-child{margin-bottom:0}
.notin__why{color:var(--ink-soft);font-size:.94em}

.recs{border:1px solid var(--herb-line);border-left:4px solid var(--herb);
  border-radius:var(--r);overflow:hidden;margin:2.4rem 0}
.recs .notin__yes{border-top:0}

.transnote{border:1px solid var(--note-line);border-left:4px solid var(--note);
  border-radius:var(--r);overflow:hidden;margin:2.4rem 0}
.transnote__in{display:flex;gap:.8rem;align-items:flex-start;
  background:var(--note-bg);padding:1.1rem 1.5rem;color:var(--ink)}
.transnote__in p{margin:0}
.transnote__g{flex:none;color:var(--note);margin-top:.15rem}

.reader{display:grid;grid-template-columns:16.5rem minmax(0,1fr);gap:var(--gap);
  padding:2rem 0 0;align-items:start}
.toc{position:sticky;top:4.4rem;font-family:var(--sans);font-size:.8rem;
  max-height:calc(100vh - 6rem);overflow-y:auto}
.toc h3{font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-faint);
  margin:0 0 .75rem}
.toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line)}
.toc__i{margin-left:-1px;border-left:2px solid transparent}
.toc__i a{display:flex;gap:.45rem;align-items:baseline;padding:.3rem .6rem .3rem .85rem;
  color:var(--ink-soft);text-decoration:none;line-height:1.35}
.toc__i a:hover{color:var(--ink)}
.toc__i--sub a{padding-left:1.7rem;font-size:.77rem}
.toc__i.is-current{border-left-color:var(--accent)}
.toc__i.is-current a{color:var(--ink);font-weight:600;text-shadow:var(--glow)}
.toc__i.is-done a{color:var(--ink-faint)}

html[data-mode=dark] .toc__i a{color:var(--ink)}
html[data-mode=dark] .toc__i.is-done a{color:var(--ink-faint)}
.lock{flex:none;opacity:.5}

.toc__left{display:block;margin:-.45rem 0 .75rem;font-size:.72rem;color:var(--ink-faint)}

.toc__x{display:none;position:absolute;top:.55rem;right:.6rem;z-index:1;
  width:2.75rem;height:2.75rem;align-items:center;justify-content:center;
  border:1px solid var(--accent-line);border-radius:50%;
  background:var(--accent);color:var(--accent-ink);font-size:1.4rem;line-height:1;
  cursor:pointer}
.toc__x:hover{opacity:.92}
body.toc-open .toc__x{display:flex}

.tocfab{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom,0px));
  z-index:55;display:none;align-items:center;justify-content:center;
  width:3.1rem;height:3.1rem;border-radius:50%;border:1px solid var(--accent-line);
  background:var(--accent);color:var(--accent-ink);cursor:pointer;
  box-shadow:0 6px 22px rgba(0,0,0,.3)}
.tocfab .svgi{width:1.35rem;height:1.35rem}
.tocbd{position:fixed;inset:0;z-index:56;border:0;padding:0;margin:0;
  background:rgba(0,0,0,.45);cursor:default}
body.toc-open{overflow:hidden}
.toc:focus{outline:none}
@media(max-width:900px){
  .tocfab{display:inline-flex}
  body.toc-open .toc{display:block;position:fixed;left:0;right:0;bottom:0;top:auto;
    z-index:57;margin:0;max-height:72vh;overflow-y:auto;background:var(--bg-card);
    border-top:2px solid var(--accent-line);border-radius:14px 14px 0 0;
    padding:1rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom,0px));
    box-shadow:0 -12px 40px rgba(0,0,0,.35)}
}

.art{position:relative;overflow-wrap:anywhere}
.art h2{font-size:1.55em;margin:2.6rem 0 .9rem;line-height:1.25;letter-spacing:-.01em;
  font-weight:600}
.art p{margin:0 0 1.2rem}

.art i, .art em, .cmts i, .cmts em, .term__alt{font-style:normal}

.term{color:var(--herb);text-decoration:none;background:var(--herb-bg);
  border-bottom:1px solid var(--herb);border-radius:2px;padding:0 .12em;
  cursor:help;transition:background .15s,box-shadow .2s}
.term:hover{background:var(--herb);color:var(--bg);box-shadow:0 0 14px var(--herb-line)}
.term sup{font-size:.62em;font-weight:600;margin-left:.12em;vertical-align:.5em}

.termpop{position:fixed;z-index:58;max-width:24rem;box-sizing:border-box;
  padding:.95rem 2.6rem .95rem 1.15rem;background:var(--bg-card);
  border:1px solid var(--herb-line);border-left:4px solid var(--herb);
  border-radius:var(--r);box-shadow:0 10px 34px rgba(0,0,0,.3);
  font-family:var(--sans);font-size:.88rem;line-height:1.55;color:var(--ink)}
.termpop:focus{outline:none}
.termpop__t{font-family:var(--serif);font-size:1rem;font-weight:600;
  color:var(--herb);margin:0 0 .4rem}
.termpop__t sup{font-size:.62em;margin-left:.12em;vertical-align:.5em}
.termpop__b{color:var(--ink-soft)}
.termpop__x{position:absolute;top:.4rem;right:.4rem;width:2.2rem;height:2.2rem;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:50%;
  background:var(--bg-soft);color:var(--ink-soft);font-size:1.15rem;line-height:1;
  cursor:pointer}
.termpop__x:hover{color:var(--ink);border-color:var(--ink-faint)}
body.term-open{overflow:hidden}
@media(max-width:900px){
  .termpop{left:0;right:0;bottom:0;top:auto;max-width:none;max-height:60vh;
    overflow-y:auto;border:0;border-top:2px solid var(--herb);
    border-radius:14px 14px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.35);
    padding:1.1rem 3rem calc(1.3rem + env(safe-area-inset-bottom,0px)) 1.2rem;
    font-size:.95rem}
  .termpop__x{top:.55rem;right:.55rem;width:2.75rem;height:2.75rem;font-size:1.5rem}
}

.box{border-radius:var(--r);padding:1.2rem 1.4rem;margin:2rem 0;border:1px solid;
  border-left-width:4px;position:relative}
.box p:last-child{margin-bottom:0}
.box__t{font-family:var(--sans);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;
  font-weight:600;display:block;margin-bottom:.5rem}

.box--key{background:var(--herb-bg);border-color:var(--herb-line);
  border-left-color:var(--herb)}
.box--key .box__t{color:var(--herb)}
.box--note{background:var(--note-bg);border-color:var(--note-line);
  border-left-color:var(--note)}
.box--note .box__t{color:var(--note)}
.box--warn{background:var(--warn-bg);border-color:var(--warn-line);
  border-left-color:var(--warn)}
.box--warn .box__t{color:var(--warn)}

.terms{border:1px solid var(--herb-line);border-left:4px solid var(--herb);
  border-radius:var(--r);margin:2rem 0;background:var(--herb-bg)}
.terms>summary{list-style:none;cursor:pointer;padding:1rem 1.3rem;display:flex;align-items:center;
  gap:.6rem;font-family:var(--sans);font-size:.9em;font-weight:600}
.terms>summary::-webkit-details-marker{display:none}
.terms>summary{color:var(--herb)}
.terms>summary .ico{width:26px;height:26px;flex:none}
.terms>summary::after{content:'';margin-left:auto;width:8px;height:8px;border-right:2px solid var(--herb);
  border-bottom:2px solid var(--herb);transform:rotate(45deg);transition:transform .2s}
.terms[open]>summary::after{transform:rotate(-135deg)}
.terms>summary small{font-weight:400;color:var(--ink-faint);font-size:.78em}
.terms__body{padding:0 1.3rem 1.2rem;border-top:1px solid var(--herb-line)}
.term__row{padding:.9rem 0;border-bottom:1px solid var(--herb-line);scroll-margin-top:5rem}
.term__row:last-child{border-bottom:0;padding-bottom:0}
.term__row dt{display:inline;font-size:1.02em}
.term__row dt sup{color:var(--herb);font-size:.62em;margin-left:.1em;font-weight:600}
.term__row:target{background:var(--herb-bg);box-shadow:0 0 0 .6rem var(--herb-bg)}
.term__alt{color:var(--ink-faint);font-size:.88em}
.term__row dd{display:inline;margin:0;color:var(--ink-soft);font-size:.96em}

.wm{position:absolute;inset:0;pointer-events:none;user-select:none;overflow:hidden;opacity:.05}
.wm span{position:absolute;white-space:nowrap;font-family:var(--sans);font-size:.9rem;
  transform:rotate(-24deg);color:var(--ink)}

.prefs{font-family:var(--sans);font-size:.8rem;border:1px solid var(--line);border-radius:var(--r);
  padding:1.15rem 1.35rem;margin:2.5rem 0;background:var(--bg-soft)}
.prefs h3{margin:0 0 .9rem;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-faint)}
.prefs__row{display:flex;align-items:center;gap:.7rem;margin:.55rem 0;flex-wrap:wrap}
.prefs__row>span:first-child{width:9rem;color:var(--ink-soft)}
.sw{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sw button{border:0;border-right:1px solid var(--line);background:var(--bg-card);color:var(--ink-soft);
  font:inherit;padding:.3rem .75rem;cursor:pointer;line-height:1.5}
.sw button:last-child{border-right:0}
.sw button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:500}

.prefs__row--wrap{flex-direction:column;align-items:stretch;gap:.4rem}
.prefs__row--wrap>span:first-child{width:auto}
.sw--scheme{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;border:0;overflow:visible}
.sw--scheme button{border:1px solid var(--line);border-radius:var(--r);padding:.4rem .5rem;text-align:center}

.sw--scheme button:last-child{border-right:1px solid var(--line)}
.sw--scheme button[aria-pressed=true]{border-color:var(--accent)}

.langbar{display:inline-flex;border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;font-family:var(--sans)}
.langbar__l{display:inline-flex;align-items:center;justify-content:center;
  min-width:2.4rem;min-height:28px;padding:.2rem .5rem;border-right:1px solid var(--line);
  font-size:.75rem;font-weight:600;letter-spacing:.04em;color:var(--ink-soft);
  text-decoration:none;line-height:1}
.langbar__l:last-child{border-right:0}
.langbar__l:hover{background:var(--bg-soft);color:var(--ink)}
.langbar__l.is-on{background:var(--accent);color:var(--accent-ink)}

.foot__langbar{display:flex;justify-content:center;margin-top:.1rem}

.cmts{margin:3rem 0 0;max-width:none;min-width:0}
.cmts h2{font-size:1.4em}
.cmts ul{list-style:none;margin:0;padding:0}
.c{display:flex;gap:.85rem;padding:1.15rem 0 1.25rem;border-top:1px solid var(--line-soft);
  margin-left:calc(var(--d) * 2.2rem)}
.c .ava{width:42px;height:42px;border-radius:50%;flex:none}
.c__head{font-family:var(--sans);font-size:.84em;display:flex;align-items:center;gap:.5rem;
  flex-wrap:wrap;margin-bottom:.35rem}
.c__head time{color:var(--ink-faint);font-size:.75rem}
.c__body p{margin:0 0 .55rem;font-size:.96rem}
.badge{font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;background:var(--accent);
  color:var(--accent-ink);border-radius:999px;padding:.14rem .55rem;font-weight:600}
.pin{font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);
  border:1px solid var(--accent);border-radius:999px;padding:.12rem .55rem;font-weight:600}

.featmark{font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);
  background:var(--accent-bg);border:1px solid var(--accent);border-radius:999px;
  padding:.11rem .55rem;font-weight:600;white-space:nowrap}

.hidemark{font-size:.62rem;letter-spacing:.07em;text-transform:uppercase;color:var(--warn);
  background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:999px;
  padding:.11rem .55rem;font-weight:600;white-space:nowrap}
.replyto{font-family:var(--sans);font-size:.76rem;color:var(--ink-faint);margin-bottom:.35rem}

.c--author{background:var(--accent-bg);border:1px solid var(--accent-line);
  border-radius:var(--r);padding:1rem .95rem;
  margin-top:.8rem;margin-bottom:.8rem}
.c--pinned{border-top:2px solid var(--accent)}

.reviews{min-width:0;margin:1.8rem 0 0;padding:1.7rem 1.8rem;
  background:var(--bg-soft);border:1px solid var(--line);
  border-radius:var(--r)}
.reviews__head{display:flex;align-items:center;gap:.8rem;margin:0 0 .3rem;min-width:0}
.reviews__ico{color:var(--accent);flex:none;width:38px;height:38px}
.reviews h2{margin:0;font-size:1.3em;min-width:0}

body>footer{
  background-color:var(--bg-soft);
  background-image:var(--kene-tile);
  border-top:2px solid var(--accent-line);
  font-family:var(--sans);
  font-size:16px;
  color:var(--ink-soft);
}

.foot{padding:2.1rem 2rem 1.6rem;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:.8rem}

.foot__brand{display:flex;flex-direction:column;align-items:center;gap:.4rem;
  text-decoration:none;color:inherit}
.foot__brand img{width:44px;height:44px}
.foot__brand b{font-size:1.15rem;color:var(--ink);line-height:1;letter-spacing:.01em}
.foot__brand span{font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--ink-faint)}

.foot__about{margin:0;max-width:44rem;font-size:.88rem;line-height:1.6;
  color:var(--ink-soft)}

.foot__links{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;
  margin-top:.1rem;min-width:0}
.foot__links .btn{font-size:.88rem;gap:.55rem;max-width:100%;overflow-wrap:anywhere;
  padding:.5rem .9rem}
.foot__links .btn .svgi{width:1.5em;height:1.5em}

.foot__nav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:.3rem 1.7rem;margin-top:.2rem}
.foot__nav a{color:var(--ink-soft);text-decoration:none;font-size:.86rem;
  padding:.3rem 0;min-height:24px;display:inline-flex;align-items:center}
.foot__nav a:hover{color:var(--accent)}
.foot__langs{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1rem}
.foot__langs a[aria-current]{color:var(--accent);font-weight:600}

.foot__legal{padding:1.1rem 2rem 1.5rem;border-top:1px solid var(--line-soft);
  font-size:.8rem;line-height:1.65;color:var(--ink-faint);text-align:center}
.foot__legal p{margin:0 auto .5rem;max-width:52rem}
.foot__cc{margin-top:.4rem !important;opacity:.85}

@media(max-width:720px){
  .foot{padding:1.7rem 1.2rem 1.3rem;gap:.7rem}
  .foot__legal{padding:1rem 1.2rem 1.3rem}
}

.doc{padding-bottom:3rem}
.doc__head{margin:0 0 1.6rem}

.doc__lead{max-width:none;margin:0 0 1.4rem}
.doc__lead>section>h2:first-child{margin-top:0}
.doc__col{min-width:0}

.doc__col .art>section:first-of-type>h2:first-child{margin-top:0}

.sect{scroll-margin-top:5rem}
@media(max-width:820px){
  .sect,.term__row{scroll-margin-top:8.5rem}
}

.toc{align-self:start}
.toc__i.is-locked{opacity:1}

.toc__t{display:flex;gap:.45rem;align-items:baseline;
  padding:.3rem .6rem .3rem .85rem;line-height:1.35;color:var(--ink-soft)}
.toc__i--sub .toc__t{padding-left:1.7rem;font-size:.77rem}

.toc__i.is-locked .lock{flex:none;align-self:center;margin-left:auto;
  width:1.05em;height:1.05em;opacity:.6}
.toc__i.is-done a::after{content:'✓';margin-left:auto;color:var(--herb);font-size:.85em}
.toc__note{display:flex;gap:.45rem;align-items:center;margin:.9rem 0 0;
  padding:.6rem .7rem;background:var(--accent-bg);border-radius:var(--r);
  font-size:.72em;line-height:1.4;color:var(--accent)}
.toc__note .lock{flex:none;width:1.15em;height:1.15em;opacity:.8}

.cform{display:block;margin:0 0 1.6rem;padding:1.1rem 1.2rem;
  background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r)}
.cform textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;
  min-height:5.2em;padding:.7rem .85rem;font-family:var(--serif);
  font-size:.95em;line-height:1.55;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r)}
.cform textarea:focus{outline:2px solid var(--accent-soft);outline-offset:1px;
  border-color:var(--accent)}
.cform textarea::placeholder{color:var(--ink-faint)}

.cform__name{display:block;width:100%;box-sizing:border-box;margin:0 0 .6rem;
  padding:.55rem .85rem;font-family:var(--serif);font-size:.95em;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r)}
.cform__name:focus{outline:2px solid var(--accent-soft);outline-offset:1px;
  border-color:var(--accent)}
.cform__name::placeholder{color:var(--ink-faint)}
.cform__b{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;margin-top:.8rem;flex-wrap:wrap}
.cform__n{font-family:var(--sans);font-size:.74em;color:var(--ink-faint)}
[hidden]{display:none !important}
.cmts__list{list-style:none;margin:0;padding:0}

@media(max-width:900px){
  .doc__lead{margin-bottom:1rem}
}

.wm{overflow:hidden;contain:paint}

@media(max-width:1100px){
  .facts{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:900px){
  .reader{grid-template-columns:minmax(0,1fr);padding-top:1.4rem}
  .toc{display:none}
}
@media(max-width:560px){
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fact{padding:.7rem .75rem;gap:.55rem}
  .fact__i{width:36px;height:36px}
  .fact__v{font-size:.86rem;white-space:nowrap}
  .fact__k{font-size:.6rem}
}
@media(max-width:380px){
  .facts{grid-template-columns:1fr}
  .fact__v{font-size:.92rem}
}

.doc .terms>summary{font-size:.92em}
.doc .terms>summary small{font-size:.8em}
.doc .term__row dt{font-size:1em}
.doc .term__row dd{font-size:.96em}
.doc .term__alt{font-size:.88em}
.doc .notin li{font-size:1em}
.doc .notin__why{font-size:.94em}

.doc .cmts h2{font-size:1.3em}
.doc .c__head{font-size:.82em}
.doc .cform textarea{font-size:.95em}

.foot__nav a,.foot__langs a,.login__forgot,.replyto a{
  display:inline-block;min-height:24px;padding-block:.2rem}
.term__row dt sup,.term a sup{padding:.1em .15em}

.foot__contact a{overflow-wrap:anywhere}

.terms>summary{flex-wrap:wrap}

.gate{
  min-width:0;
  margin:1.8rem 0 0;
  padding:1.7rem 1.8rem;
  background:var(--accent-bg);
  border:1px solid var(--accent-line);
  border-radius:var(--r);
}

.gate__head{display:flex;align-items:center;gap:.8rem;margin:0 0 .7rem;min-width:0}
.gate__lock{color:var(--accent);flex:none;width:38px;height:38px}
.gate h3{margin:0;font-size:1.3em;min-width:0}
.gate p{margin:0 0 1.2rem;min-width:0;color:var(--ink-soft)}
.gate__c{display:flex;flex-wrap:wrap;gap:.7rem;min-width:0}
.gate__c .btn{max-width:100%;min-width:0;font-size:.86em;padding:.55rem .95rem;
  gap:.5rem;overflow-wrap:anywhere;text-align:left}
.gate__c .btn .svgi{width:1.3em;height:1.3em}

@media(max-width:560px){
  .gate__c{flex-direction:column;align-items:stretch}
  .gate__c .btn{justify-content:center}
}

.tbl .btn,.admin__form .btn{min-height:24px}
.admin__form select,.admin__form input,.admin__form textarea{max-width:100%;min-width:0}
.admin__form{min-width:0}
.admin,.admin__tabs{min-width:0}
.admin__tabs{overflow-x:auto}

@media(max-width:520px){
  .admin__form{flex-direction:column;align-items:stretch}
  .admin__form input,.admin__form select{width:100%}
  .tbl td{overflow-wrap:anywhere}
}

@media(max-width:880px){
  .top__in{gap:.55rem}
}
@media(max-width:820px){
  .top__in--auth{flex-wrap:wrap;justify-content:center;row-gap:.55rem;
    padding-block:.7rem .6rem}
  .top__in--auth .top__sp{display:none}
  .top__in--auth>.u-brandlink{flex:1 1 100%;justify-content:center}
}
@media(max-width:560px){
  .top__in{flex-wrap:wrap;justify-content:center;row-gap:.55rem;
    padding-block:.7rem .6rem}
  .top__sp{display:none}
  .top__in>.u-brandlink{flex:1 1 100%;justify-content:center}
}

@media(max-width:400px){
  .login{grid-template-columns:minmax(0,1fr);gap:1rem}
  .login__box,.login__no{min-width:0;padding:1.1rem 1rem}
  .login__box input{max-width:100%;box-sizing:border-box}
  .login__no .gate__c .btn{max-width:100%;overflow-wrap:anywhere}
}

.full{
  margin:1.8rem 0 2.2rem;
  border:1px solid var(--accent-line);
  border-left:4px solid var(--accent);
  border-radius:var(--r);
  background:var(--bg-card);
  overflow:hidden;
  min-width:0;
}
.full>summary{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.95rem 1.2rem;
  font-family:var(--sans);
  font-weight:600;
  font-size:.95em;
  color:var(--accent);
  cursor:pointer;
  list-style:none;
}
.full>summary::-webkit-details-marker{display:none}
.full>summary:hover{background:var(--accent-bg)}
.full>summary small{
  font-weight:400;
  font-size:.78em;
  color:var(--ink-soft);
  letter-spacing:.02em;
}
.full>summary::after{
  content:'';
  margin-left:auto;
  flex:none;
  width:8px;height:8px;
  border-right:2px solid var(--accent);
  border-bottom:2px solid var(--accent);
  transform:rotate(45deg);
  transition:transform .2s;
}
.full[open]>summary::after{transform:rotate(-135deg)}

.full__list{
  list-style:none;
  margin:0;
  padding:.4rem 0 .7rem;
  border-top:1px solid var(--line);
}
.full__i{
  display:grid;
  grid-template-columns:2.1rem minmax(0,1fr) auto;
  align-items:baseline;
  gap:0 .7rem;
  padding:.42rem 1.2rem;
  font-family:var(--sans);
  font-size:.88em;
  line-height:1.45;
}
.full__n{
  text-align:right;
  font-size:.78em;
  color:var(--ink-faint);
  font-variant-numeric:tabular-nums;
}
.full__i a{
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid transparent;
  min-height:24px;
  padding-block:.1rem;
}
.full__i a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.full__i--sub{padding-left:2.5rem}
.full__i--sub .full__n{opacity:.65}
.full__i--sub a,.full__i--sub .full__t{font-size:.95em}

.full__tag{
  align-self:center;
  font-size:.62em;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--herb);
  background:var(--herb-bg);
  border:1px solid var(--herb-line);
  border-radius:var(--r);
  padding:.1rem .4rem;
  white-space:nowrap;
}
.full__i.is-locked .full__t{color:var(--ink-soft);min-width:0}
.full__lock{
  align-self:center;
  width:1.05em;height:1.05em;
  flex:none;
  opacity:.55;
}
.full__i.is-done .full__n::after{content:'✓';margin-left:.15rem;color:var(--herb)}
.full__i.is-done a{color:var(--ink-faint)}

.full__list--plain{border-top:0;padding-top:1rem}
.full__list--plain .full__i{display:flex;flex-wrap:wrap;align-items:baseline;
  gap:.5rem;padding:.5rem 0}
.full__list--plain .full__i a{border-bottom:0}
.full__list--plain .full__i small{color:var(--ink-faint)}

@media(max-width:560px){
  .full>summary{padding:.8rem 1rem;flex-wrap:wrap}
  .full__i{grid-template-columns:1.7rem minmax(0,1fr);padding:.42rem 1rem}
  .full__tag,.full__lock{grid-column:2;justify-self:start;margin-top:.15rem}
  .full__i--sub{padding-left:2rem}
}

.admin{max-width:76rem;margin:3rem auto;min-width:0;font-family:var(--sans)}
.admin h1{font-family:var(--serif);font-size:1.8rem;margin:0 0 1.2rem}
.admin h2{font-family:var(--serif);font-size:1.2rem;margin:1.8rem 0 .6rem}

.admin__tabs{display:flex;flex-wrap:wrap;gap:.3rem;margin:0 0 1.6rem;min-width:0;
  padding-bottom:.6rem;border-bottom:1px solid var(--line);overflow-x:auto}
.admin__tabs a{font-size:.9rem;padding:.5rem .9rem;border-radius:var(--r);
  text-decoration:none;color:var(--ink-soft);white-space:nowrap;min-height:24px}
.admin__tabs a:hover{background:var(--bg-card);color:var(--ink)}
.admin__tabs a.is-on{background:var(--accent);color:var(--accent-ink)}

.admin__msg{background:var(--accent-bg);border:1px solid var(--accent-line);
  border-radius:var(--r);padding:.8rem 1rem;font-size:.95rem;margin:0 0 1.4rem}

.admin__form{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;min-width:0;
  margin:0 0 .55rem;padding:.75rem .9rem;background:var(--bg-card);
  border:1px solid var(--line);border-radius:var(--r)}

.admin__form--col{flex-direction:column;align-items:stretch;max-width:30rem;
  gap:1rem;background:none;border:0;padding:0}
.admin__form--col .btn{align-self:flex-start}

.admin .admin__form--col input[type=text],
.admin .admin__form--col input[type=email],
.admin .admin__form--col input[type=url],
.admin .admin__form--col select,
.admin .admin__form--col textarea{flex:0 0 auto;width:100%}
.admin__form input,.admin__form select,.admin__form textarea{
  font-family:var(--sans);font-size:.95rem;padding:.55rem .7rem;max-width:100%;
  min-width:0;color:var(--ink);background:var(--bg);
  border:1px solid var(--line);border-radius:var(--r)}
.admin__form input:focus,.admin__form select:focus,.admin__form textarea:focus{
  outline:2px solid var(--accent-soft);outline-offset:1px;border-color:var(--accent)}
.admin__form input[type=text],.admin__form input[type=email],
.admin__form input[type=url]{flex:1 1 11rem}

.umsg{margin:0 0 .5rem;padding:.5rem .7rem;background:var(--accent-bg);
  border:1px solid var(--accent-line);border-radius:var(--r);
  font-size:.88rem;overflow-wrap:anywhere}
.umsg__copy{margin-left:.5rem;vertical-align:baseline}

.tbl tr.is-off>td{background:rgba(128,128,128,.07)}
.tbl tr.is-off b,.tbl tr.is-off>td>small{opacity:.55}

.tbl .btn{white-space:nowrap}
.tbl--users td:nth-child(3){white-space:nowrap}
.tbl--users td:first-child{min-width:11rem}
.tbl--users td:last-child{min-width:20rem}
.tbl--users .grantrow .btn{flex:none}

.cfilter{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;
  margin:0 0 .9rem;font-family:var(--sans)}
.cfilter a{display:inline-flex;align-items:center;gap:.3rem;
  padding:.35rem .7rem;border:1px solid var(--line);border-radius:var(--r);
  text-decoration:none;color:var(--ink-soft);font-size:.88rem;min-height:24px}
.cfilter a:hover{background:var(--bg-card);color:var(--ink)}
.cfilter a.is-on{background:var(--accent);color:var(--accent-ink);
  border-color:var(--accent)}
.cfilter__n{display:inline-flex;min-width:1.15rem;height:1.15rem;
  align-items:center;justify-content:center;padding:0 .25rem;
  border-radius:.6rem;background:var(--warn, #c0392b);color:#fff;
  font-size:.72rem;font-weight:700}
.cfilter__total{margin-left:auto;color:var(--ink-faint);font-size:.82rem}
.cpager{display:flex;gap:.7rem;align-items:center;justify-content:center;
  margin:1rem 0 0;font-family:var(--sans)}
.cpager__i{color:var(--ink-soft);font-size:.9rem}

.uedit__q{font-size:.85rem;color:var(--ink-soft)}

.uedit{display:inline-block;vertical-align:middle;position:relative}
.uedit__s{display:inline-flex;align-items:center;list-style:none;cursor:pointer}
.uedit__s::-webkit-details-marker{display:none}
.uedit[open] .uedit__s{background:var(--accent);color:var(--accent-ink)}
.uedit__form{position:absolute;top:calc(100% + .35rem);right:0;z-index:30;
  display:flex;gap:.35rem;align-items:center;
  padding:.55rem;background:var(--bg-card);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:0 8px 26px rgba(0,0,0,.22)}
.uedit__form--col{flex-direction:column;align-items:stretch;width:20rem;
  max-width:74vw}
.uedit__form--col textarea{font-family:var(--serif);font-size:.92rem;
  min-height:5em;resize:vertical;padding:.5rem .6rem;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r)}
.uedit__form--col textarea:focus{outline:2px solid var(--accent-soft);
  outline-offset:1px;border-color:var(--accent)}
.uedit__form input{font-family:var(--sans);font-size:.92rem;width:13rem;
  max-width:100%;min-width:0;padding:.35rem .55rem;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r)}
.uedit__form input:focus{outline:2px solid var(--accent-soft);outline-offset:1px;
  border-color:var(--accent)}
.uedit__form .btn{flex:none;white-space:nowrap}

.btn--on{background:#2f7d43;border-color:#2f7d43;color:#fff}
.btn--on:hover{background:#276a39;border-color:#276a39;color:#fff}
.admin__form--col label{display:flex;flex-direction:column;gap:.35rem;
  font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.admin__form .btn{min-height:24px}
.admin__full{flex:1 1 16rem;min-width:0;font-family:var(--serif);
  font-size:.95rem;line-height:1.4;color:var(--ink-soft)}

.admin__reply{color:var(--accent)}
.admin__reply b{font-weight:600}

.cedit{margin-top:.7rem}
.cedit__open{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;
  list-style:none;font-family:var(--sans);font-size:.8rem;color:var(--accent);
  padding:.2rem 0}
.cedit__open::-webkit-details-marker{display:none}
.cedit__open::before{content:'✎';font-size:.95em}
.cedit__open:hover{text-decoration:underline}

.cedit__mark{color:var(--accent);font-weight:600}
.cedit__form{display:block;margin-top:.6rem}
.cedit__form textarea{display:block;width:100%;box-sizing:border-box;
  font-family:var(--serif);font-size:1rem;line-height:1.55;min-height:10em;
  padding:.75rem .85rem;color:var(--ink);background:var(--bg);
  border:1px solid var(--line);border-radius:var(--r);resize:vertical}
.cedit__form textarea:focus{outline:2px solid var(--accent-soft);outline-offset:1px;
  border-color:var(--accent)}

.cedit__date{display:inline-flex;align-items:center;gap:.5rem;margin-top:.55rem;
  font-family:var(--sans);font-size:.82rem;color:var(--ink-soft)}
.cedit__date input{font:inherit;color:var(--ink);background:var(--bg);
  border:1px solid var(--line);border-radius:var(--r);padding:.35rem .5rem}
.cedit__date input:focus{outline:2px solid var(--accent-soft);outline-offset:1px;
  border-color:var(--accent)}
.cedit__foot{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;margin-top:.6rem;flex-wrap:wrap}

.admin__grants{min-width:0}
.grantrow{display:flex;align-items:center;gap:.5rem;margin:0 0 .35rem}
.grantrow:last-child{margin-bottom:0}
.grantrow__t{font-size:.8rem;color:var(--ink-soft);min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.tbl{width:100%;border-collapse:collapse;margin:.6rem 0 1.8rem;min-width:0}
.tbl th{text-align:left;padding:.55rem .7rem;font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line)}
.tbl td{padding:.8rem .7rem;font-size:.95rem;vertical-align:top;
  border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.tbl td small{font-size:.82rem}
.tbl td p{margin:0 0 .5rem;font-family:var(--serif);font-size:1rem;line-height:1.55}
.tbl td p:last-child{margin:0}
.tbl tr:hover>td{background:var(--bg-card)}

.tbl tr.is-author>td{background:color-mix(in srgb,var(--accent) 6%,transparent)}

.tbl tr.is-pending>td{background:rgba(226,171,14,.10)}
.tbl tr.is-pending>td:first-child{box-shadow:inset 3px 0 0 #d9a40a}

.tbl tr.is-hidden>td{background:rgba(128,128,128,.10);opacity:.75}
.tbl tr.is-hidden>td:first-child{box-shadow:inset 3px 0 0 #8a8a8a}

.tbl tr.is-d1>td:first-child{padding-left:1.9rem}
.tbl tr.is-d2>td:first-child{padding-left:3.1rem}
.tbl tr.is-d3>td:first-child{padding-left:4.3rem}
.tbl .btn{padding:.35rem .65rem;font-size:.82rem;min-height:24px;margin:0 .15rem .3rem 0}
.tbl--wide td:nth-child(2){max-width:44rem}

@media(max-width:760px){
  .tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}
  .tbl th{display:none}
  .tbl tr{padding:.6rem 0;border-bottom:1px solid var(--line)}
  .tbl td{border:0;padding:.25rem .1rem}
}
@media(max-width:520px){
  .admin__form{flex-direction:column;align-items:stretch}
  .admin__form input,.admin__form select{width:100%}
}

.ico--15{width:15px;height:15px} .ico--16{width:16px;height:16px}
.ico--17{width:17px;height:17px} .ico--18{width:18px;height:18px}
.ico--19{width:19px;height:19px} .ico--20{width:20px;height:20px}
.ico--22{width:22px;height:22px} .ico--24{width:24px;height:24px}
.ico--26{width:26px;height:26px} .ico--32{width:32px;height:32px}
.ico--34{width:34px;height:34px} .ico--38{width:38px;height:38px}
.ico--40{width:40px;height:40px} .ico--44{width:44px;height:44px}
.ico--48{width:48px;height:48px} .ico--50{width:50px;height:50px}
.ico--52{width:52px;height:52px} .ico--56{width:56px;height:56px}
[class*="ico--"]{flex:none;object-fit:contain}

.fact__i.ico--48,.fact__i.ico--50{width:50px;height:50px}

.wm .w1{top:4%;left:-3%}   .wm .w2{top:22%;left:34%}
.wm .w3{top:41%;left:-6%}  .wm .w4{top:60%;left:38%}
.wm .w5{top:79%;left:-4%}  .wm .w6{top:94%;left:30%}

.c--d0{--d:0} .c--d1{--d:1} .c--d2{--d:2}

.u-brandlink{display:flex;align-items:center;gap:.7rem;
  text-decoration:none;color:inherit}
.u-brandlink:hover .brand{color:var(--accent)}
.u-page{max-width:52rem;margin:3rem auto}
.u-narrow{max-width:40rem;margin:3rem auto}
.u-form{max-width:34rem}
.u-mid{max-width:52rem}
.u-pt{padding-top:3rem}
.u-h2{font-size:1.9rem}
.u-h2--sm{font-size:1.8rem}
.u-h2--xs{font-size:2rem}
.u-inline{display:inline}
.u-mt{margin-top:2rem}
.u-mt-s{margin-top:1.4rem}
.u-m0{margin:0}
.u-faint{color:var(--ink-faint)}
.u-soft{color:var(--ink-soft);font-size:.95rem}

@media(max-width:720px){
  .hero,.doc__head{padding-top:2rem}
  .hero{padding-bottom:2rem}
  .doc{padding-bottom:2rem}
  .u-pt{padding-top:2rem}
  .u-page,.u-narrow,.login,.admin{margin-block:2rem}
}

[hidden]{display:none !important}
img{max-width:100%}

.art img,.plate img,.doc__head figure img{height:auto}

.form__err{margin:0 0 .9rem;padding:.65rem .8rem;border-radius:var(--r);
  background:var(--warn-bg);border:1px solid var(--warn-line);
  color:var(--warn);font-family:var(--sans);font-size:.86rem;line-height:1.45}

.art--doc{max-width:52rem}
.art--doc h1{font-size:1.9em;line-height:1.2;margin:0 0 1rem}
.art--doc h2{margin-top:2rem}

.notin__yes p:first-of-type{font-size:1em;color:var(--ink)}
.notin__yes p+p{margin-top:.75rem;font-size:.92em;color:var(--ink-soft)}

.cab{max-width:56rem;margin:0 auto;font-family:var(--sans)}
.cab__head{margin:0 0 1.6rem}
.cab h1{font-family:var(--serif);font-size:2.1rem;margin:0;letter-spacing:-.01em}

.cab__id{display:flex;align-items:center;gap:.75rem;margin:.9rem 0 0}
.cab__ava{width:44px;height:44px;border-radius:50%;flex:none;display:inline-flex;
  align-items:center;justify-content:center;background:var(--accent-bg);
  border:1px solid var(--accent-line);color:var(--accent);
  font-family:var(--serif);font-size:1.25rem;font-weight:600}
.cab__who{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.cab__who b{color:var(--ink);font-weight:600;font-size:1.05rem}
.cab__who small{color:var(--ink-soft);font-size:.9rem;overflow-wrap:anywhere}

.cabname{margin:.35rem 0 0}
.cabname__s{display:inline-flex;list-style:none;cursor:pointer;font-size:.85rem}
.cabname__s::-webkit-details-marker{display:none}
.cabname[open] .cabname__s{background:var(--accent);color:var(--accent-ink)}
.cab__exit{margin-left:auto;align-self:flex-start}
.cabname__form{display:flex;gap:.4rem;align-items:center;margin:.45rem 0 .15rem;
  flex-wrap:wrap}
.cabname__form input{font-family:var(--sans);font-size:.95rem;width:14rem;
  max-width:100%;min-width:0;padding:.45rem .6rem;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r)}
.cabname__form input:focus{outline:2px solid var(--accent-soft);outline-offset:1px;
  border-color:var(--accent)}
.cabname__note{color:var(--ink-faint);font-size:.8rem}

.cabcard{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r);
  padding:1.5rem 1.7rem 1.6rem;margin:0 0 1.4rem;min-width:0}
.cabcard__t{font-family:var(--serif);font-size:1.3rem;margin:0 0 1.1rem}
.cabcard__note{color:var(--ink-soft);font-size:.94rem;line-height:1.55;margin:-.6rem 0 1.1rem}

.cabm{display:flex;gap:1.3rem;align-items:center;flex-wrap:wrap;
  padding:1.1rem 0;border-top:1px solid var(--line-soft);min-width:0}
.cabm:first-of-type{border-top:0;padding-top:0}
.cabm:last-of-type{padding-bottom:0}
.cabm__cover{width:112px;height:76px;object-fit:cover;border-radius:6px;flex:none;
  box-shadow:var(--shadow)}

.cabm__cover--stub{display:inline-flex;align-items:center;justify-content:center;
  background:var(--bg-sink);color:var(--ink-faint);box-shadow:none;
  border:1px dashed var(--line)}
.cabm--off .cabm__cover{opacity:.75}
.cabm--off .cabm__title{color:var(--ink-soft)}
.cabm__info{flex:1 1 11rem;min-width:0}
.cabm__title{font-family:var(--serif);font-size:1.18rem;line-height:1.35;margin:0 0 .6rem}
.cabm__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .6rem;
  font-size:.92rem;color:var(--ink-soft);margin:0 0 .55rem}
.cabm__act{flex:none}
.cabm__act .btn{font-size:.88rem;padding:.55rem 1.1rem}

.tag{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .55rem;
  border-radius:99px;font-size:.74rem;font-weight:600;letter-spacing:.02em}
.tag--on{background:var(--herb-bg);color:var(--herb);border:1px solid var(--herb-line)}
.tag--off{background:var(--bg-sink);color:var(--ink-soft);border:1px solid var(--line)}

.bar{height:8px;background:var(--bg-sink);border-radius:99px;overflow:hidden;max-width:26rem}
.bar i{display:block;height:100%;width:0;background:var(--accent);border-radius:99px;
  transition:width .4s ease}

.cab__unlock{margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid var(--line-soft)}
.cab__unlock p{margin:0 0 .8rem;color:var(--ink-soft);font-size:.94rem;line-height:1.55}
.cab__unlock-c{display:flex;flex-wrap:wrap;gap:.6rem}
.cab__unlock-c .btn{font-size:.85rem;max-width:100%;overflow-wrap:anywhere}

.cab__cols{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:start}
.devs{list-style:none;margin:0;padding:0}
.dev{display:flex;align-items:center;gap:.85rem;padding:.9rem 0;
  border-top:1px solid var(--line-soft);min-width:0}
.dev:first-child{border-top:0;padding-top:0}
.dev:last-child{padding-bottom:0}
.dev__dot{width:9px;height:9px;border-radius:50%;background:var(--line);flex:none}
.dev--on .dev__dot{background:var(--herb)}
.dev__i{flex:1;min-width:0}
.dev__i b{font-size:.98rem;font-weight:600}
.dev__i small{display:block;color:var(--ink-faint);font-size:.84rem;margin-top:.25rem}
.dev__i .dev__this{display:inline-block;color:var(--herb);font-weight:600;margin:0 0 0 .5rem}

.cabpass{display:flex;flex-direction:column;gap:.85rem;max-width:22rem;margin:0 0 1.2rem}
.cabpass label{font-size:.85rem;color:var(--ink-soft);display:flex;
  flex-direction:column;gap:.35rem}
.cabpass input{font:inherit;font-size:.95rem;padding:.55rem .7rem;border-radius:var(--r);
  border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.cabpass input:focus{outline:2px solid var(--accent);outline-offset:1px;
  border-color:var(--accent)}
.cabpass .btn{align-self:flex-start;font-size:.88rem;padding:.55rem 1rem}

@media(max-width:760px){
  .cab__cols{grid-template-columns:1fr}
  .cabcard{padding:1.2rem 1.1rem 1.3rem}
  .cabm__cover{width:92px;height:64px}
}
@media(max-width:480px){
  .cabm__act{flex:1 1 100%}
  .cabm__act .btn{width:100%;justify-content:center}
}

.err{min-height:100svh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:1.5rem;padding:2rem;font-family:var(--sans)}
.err__brand{display:flex;flex-direction:column;align-items:center;gap:.55rem;
  text-decoration:none;color:var(--ink);font-family:var(--serif);
  font-size:1.25rem;font-weight:600;letter-spacing:.01em}
.err__box{margin:0;max-width:26rem;text-align:center}
.err__box p{margin-bottom:1.1rem}
.err__box .btn{display:inline-flex}

.form__note{margin:0 0 .9rem;padding:.65rem .8rem;border-radius:var(--r);
  background:var(--note-bg);border:1px solid var(--note-line);
  color:var(--note);font-family:var(--sans);font-size:.86rem;line-height:1.5}

.resume{position:fixed;left:50%;bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));
  transform:translateX(-50%);z-index:54;
  display:flex;align-items:center;gap:.8rem;max-width:calc(100vw - 2rem);
  padding:.7rem .8rem .7rem 1.1rem;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:0 8px 30px rgba(0,0,0,.28);
  font-family:var(--sans);font-size:.85rem;color:var(--ink)}

@media(max-width:900px){
  .resume{bottom:calc(5rem + env(safe-area-inset-bottom,0px))}
}
.resume .btn{white-space:nowrap}
.resume__x{border:0;background:none;cursor:pointer;color:var(--ink-soft);
  font-size:1.3rem;line-height:1;min-width:28px;min-height:28px;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0;margin:-.2rem -.3rem -.2rem 0}
.resume__x:hover{color:var(--ink)}

@media(max-width:520px){
  .resume{display:block;width:calc(100vw - 1.5rem);max-width:none;
    box-sizing:border-box;font-size:.8rem;padding:.75rem 2.4rem .75rem .9rem}
  .resume span{display:block;margin-bottom:.55rem}
  .resume .btn{width:100%;justify-content:center;box-sizing:border-box}
  .resume__x{position:absolute;top:.35rem;right:.35rem}
}
