/* Hallmark · genre: editorial · theme: renovatorai.ru by request (Алексей, 12.11) · posture: restrained · surface: paper with drafting grid · nav: sticky top bar · footer: mono colophon · hero: issue cover as a drawing sheet · redesign: restyle */
/* ИИ-газета — тема v3, семейство renovatorai.ru (PRO-ГКЛ): бумага с сеткой чертежа, Unbounded (заголовки),
   Onest (текст), JetBrains Mono (подписи и служебное), оранжевый акцент, радиус 4px, жёсткая тень-смещение.
   Токены сняты с https://renovatorai.ru (.lp) 12.11.2026, см. handoffs/…/renovatorai-tokens.md. Вернуть v2: SITE_THEME=v2. */
@font-face{font-family:"Unbounded";src:url(fonts/Unbounded-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Onest";src:url(fonts/Onest.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/JetBrainsMono.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap}

:root{
  --paper:#f3f4f0; --paper-2:#e8eae4; --card:#fbfbf9; --ink:#16202a; --ink-2:#3e4a56; --ink-3:#5b6772;
  --hair:rgba(22,32,42,.14); --hair-inv:rgba(243,244,240,.2); --line-2:#a3adb6; --field:#7a848d;
  --fill:#ea580c; --fill-h:#f06a22; --ac:#a63a06; --ac-soft:rgba(234,88,12,.12);
  --ok:#12703a; --sheet:#d9e2e6; --no:#b91c1c; --ok-bg:#e6f2ea; --no-bg:#fbe8e4; --store:#d9e2e6;
  --top-bg:rgba(243,244,240,.92); --sheet-sh:8px 8px 0 rgba(22,32,42,.08); --dlg-sh:10px 10px 0 rgba(22,32,42,.18); --scrim:rgba(22,32,42,.45);
  --bg:var(--paper); --soft:var(--paper-2); --muted:var(--ink-3); --line:var(--hair); --on-ac:var(--ink); --pdf:#fff;
  --disp:"Unbounded","Onest",system-ui,sans-serif; --text:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --pad:16px; --h:34px; --r:4px; --cw:34px; --read:680px; --grid:80px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
html{-webkit-text-size-adjust:100%;scroll-padding-top:68px}
body{margin:0;background-color:var(--paper);color:var(--ink);font:400 17px/1.55 var(--text);text-rendering:optimizeLegibility;
  background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);
  background-size:var(--grid) var(--grid);background-position:-1px -1px}
@media (min-width:1024px){:root{--grid:120px}}
img,svg{max-width:100%;display:block}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--fill);outline-offset:3px}
b,strong{font-weight:600}
h1,h2,h3,h4{margin:0;overflow-wrap:break-word;min-width:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:8px;top:8px;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;background:var(--ink);color:var(--paper);padding:8px 12px;z-index:30}
.skip:focus{clip-path:none;width:auto;height:auto}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--pad)}
.wrap--n{max-width:calc(var(--read) + 2 * var(--pad))}
@media (min-width:760px){:root{--pad:32px}}

/* общие: моно-подписи как на renovatorai */
.kick{display:flex;align-items:center;gap:10px;font:500 13px/1.3 var(--mono);color:var(--ink-3);letter-spacing:.02em}
.kick::before{content:"";flex:none;width:28px;height:1.5px;background:var(--fill)}
.meta{font:400 13px/1.5 var(--mono);color:var(--ink-3)}
.rub{display:inline-block;font:500 12px/1 var(--mono);color:var(--ac);border:1px solid currentColor;border-radius:3px;padding:3px 6px}
.geo{font:400 12px/1.2 var(--mono);color:var(--ink-3)}
.mat-k{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.sh{font:600 clamp(22px,2.4vw,30px)/1.15 var(--disp);letter-spacing:-.02em}
.sh-n{font:500 13px var(--mono);color:var(--ink-3);margin-left:6px;letter-spacing:0}
.sh-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.lnk{font:600 14px/1.2 var(--text);color:var(--ac);text-decoration:none;white-space:nowrap}
.lnk:hover{text-decoration:underline}
.sec{padding:36px 0 8px;margin-top:28px;border-top:1.5px solid var(--ink)}
.sec .sh{margin-bottom:20px}
.ph{padding:36px 0 8px}
.ph .meta{font:400 15px/1.55 var(--text);color:var(--ink-2)}
.ph h1{font:600 clamp(30px,4.4vw,52px)/1.08 var(--disp);letter-spacing:-.025em;margin-bottom:10px}

/* кнопки 32–34 px: прямоугольные, рамка 1.5px, как btn / btn-primary на лендинге */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--h);padding:0 14px;border:1.5px solid var(--ink);border-radius:var(--r);
  background:transparent;color:var(--ink);font:600 14px/1 var(--text);text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background-color .18s var(--ease),color .18s var(--ease),transform .12s var(--ease)}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn:active{transform:translateY(1px)}
.btn--ac{background:var(--fill);border-color:var(--fill);color:var(--ink)}
.btn--ac:hover{background:var(--fill-h);border-color:var(--fill-h);color:var(--ink)}
.btn--s{height:32px;padding:0 12px;font-size:13px}
.btn:disabled{color:var(--ink-3);border-style:dashed;cursor:default;background:transparent}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}

/* шапка */
.top{position:sticky;top:0;z-index:20;background:var(--top-bg);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--hair)}
.top-in{max-width:1240px;margin:0 auto;padding:0 var(--pad);height:56px;display:flex;align-items:center;gap:16px}
.logo{display:inline-flex;align-items:center;gap:10px;font:600 17px/1 var(--disp);letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.logo::before{content:"";flex:none;width:28px;height:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='6' fill='%2316202A'/%3E%3Cpath d='M9 8h14v16H9z' fill='none' stroke='%23EA580C' stroke-width='3'/%3E%3Cpath d='M13 14h6M13 19h6' stroke='%23EA580C' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;font:500 15px/1 var(--text);text-decoration:none;white-space:nowrap;color:var(--ink-2)}
.nav a:hover{color:var(--ink)}
.nav a[aria-current]{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--fill)}
.cnt{min-width:18px;height:18px;padding:0 5px;border-radius:3px;background:var(--ink);color:var(--paper);font:500 11px/18px var(--mono);text-align:center}
.pill{font:500 12px/1 var(--mono);color:var(--ac);white-space:nowrap;border:1px solid currentColor;border-radius:var(--r);padding:8px 10px}
@media (max-width:640px){.pill{display:none}.nav a{padding:0 7px;font-size:14px}.logo{font-size:15px;gap:8px}.logo::before{width:26px;height:26px}}

/* обложка номера = лист чертежа: полоса-шапка, поле, штамп */
.cover{position:relative;display:flex;flex-direction:column;aspect-ratio:4/5;overflow:hidden;border:1.5px solid var(--ink);border-radius:var(--r);
  background:var(--card);color:var(--ink);box-shadow:var(--sheet-sh)}
.cover.c-ink{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.cover.c-accent{background:var(--sheet);color:var(--ink);border-color:var(--ink)}
.cv-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--hair);font:500 12px/1.3 var(--mono)}
.c-ink .cv-top{border-color:var(--hair-inv)}
.c-accent .cv-top{border-color:var(--hair)}
.cv-logo{white-space:nowrap;opacity:.8}
.cv-no{white-space:nowrap;font-weight:500}
.cv-mid{margin-top:auto;padding:20px 18px 0}
.cv-kick{display:flex;align-items:center;gap:10px;font:500 12px/1.3 var(--mono);margin-bottom:12px;opacity:.85}
.cv-kick::before{content:"";flex:none;width:24px;height:1.5px;background:var(--fill)}
.cv-h{font:600 clamp(26px,3.2vw,42px)/1.08 var(--disp);letter-spacing:-.025em}
.cv-lines{list-style:none;counter-reset:n;display:grid;margin:18px 18px 0;border-top:1.5px solid currentColor;font:400 14px/1.35 var(--text)}
.cv-lines li{counter-increment:n;position:relative;padding:9px 0 9px 30px;border-bottom:1px solid var(--hair)}
.c-ink .cv-lines li{border-color:var(--hair-inv)}
.cv-lines li::before{content:counter(n) ".";position:absolute;left:0;top:9px;font:500 13px/1.45 var(--mono);color:var(--ac)}
.c-ink .cv-lines li::before{color:var(--fill)}
.cv-lines b{font-weight:600;margin-right:4px}
.cv-bot{display:grid;grid-template-columns:1fr 1fr;margin-top:18px;border-top:1.5px solid currentColor;font:600 14px/1.25 var(--text)}
.cv-bot>*{padding:8px 14px 10px}
.cv-bot>*+*{border-left:1px solid currentColor}
.cv-bot>*::before{display:block;font:400 11px/1.3 var(--mono);opacity:.75;margin-bottom:2px}
.cv-bot time::before{content:"Дата"}
.cv-bot span::before{content:"День"}
.cover--md{max-width:340px}
.cover--md .cv-h{font-size:clamp(22px,2.6vw,28px)}
.cover--sm{box-shadow:none}
.cover--sm .cv-top{padding:7px 9px;font-size:11px}
.cover--sm .cv-mid{padding:10px 10px 0}
.cover--sm .cv-h{overflow-wrap:anywhere;hyphens:auto;font-size:clamp(14px,1.4vw,17px);line-height:1.15;letter-spacing:-.01em}
.cover--sm .cv-kick{font-size:11px;margin-bottom:6px;gap:6px}
.cover--sm .cv-kick::before{width:14px}
.cover--sm .cv-bot{margin-top:10px;font-size:11px}
.cover--sm .cv-bot>*{padding:5px 8px 6px}
.cover--sm .cv-bot>*::before{font-size:11px}

/* главная */
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding:24px 0 8px}
@media (min-width:900px){.hero{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:56px;align-items:center;padding-top:48px}.hero-c{order:2}}
.hero-c{display:block;text-decoration:none;border-radius:var(--r)}
.hero-c .cover{max-height:calc(100svh - 120px);min-height:460px;aspect-ratio:auto}
@media (min-width:900px){.hero-c .cover{aspect-ratio:4/5;min-height:0}}
.hero-t .kick{margin-bottom:22px}
.hero-lead{font:400 clamp(18px,1.5vw,21px)/1.5 var(--text);color:var(--ink-2);max-width:34em;margin-bottom:14px}
.cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.card a{display:block;height:100%;padding:18px;background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);text-decoration:none;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
.card a:hover{border-color:var(--ink);box-shadow:var(--sheet-sh)}
.card h3{font:600 17px/1.3 var(--disp);margin-bottom:10px;letter-spacing:-.01em}
.card p:last-child{font-size:15px;line-height:1.5;color:var(--ink-2)}

/* стопка номеров: листы друг на друге */
.stks{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(44%,190px),1fr));gap:28px 18px}
.stk{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}
.stk-a{display:block;border-radius:var(--r);text-decoration:none;margin:0 12px 12px 0;transition:transform .15s var(--ease);
  box-shadow:6px 6px 0 -1.5px var(--card),6px 6px 0 0 var(--ink),12px 12px 0 -1.5px var(--card),12px 12px 0 0 var(--line-2)}
.stk-a:hover{transform:translate(-2px,-2px)}
.stk-m{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 6px;font:400 12px/1.3 var(--mono);color:var(--ink-3)}
.stk .btn{align-self:flex-start}
.rd{font:500 11px/1 var(--mono);color:var(--ok);white-space:nowrap}
.rd::before{content:"";display:inline-block;width:7px;height:7px;background:currentColor;margin-right:5px;vertical-align:0}
.stks .stk>.rd{position:absolute;top:30px;right:20px;background:var(--card);padding:5px 7px;border:1px solid currentColor;border-radius:3px}

/* страница выпуска */
.ih{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:24px 0 20px}
@media (min-width:760px){.ih{grid-template-columns:280px minmax(0,1fr);gap:44px;align-items:end;padding-top:44px}}
@media (max-width:759px){.ih .cover--md{max-width:none;aspect-ratio:16/11}}
.ih h1{font:600 clamp(28px,4vw,48px)/1.08 var(--disp);letter-spacing:-.025em;margin:16px 0 12px}
.toc{margin-top:16px;border-top:1.5px solid var(--ink);padding-top:4px}
.toc summary,.rev summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;font:600 14px/1.2 var(--text);list-style:none}
.toc summary::-webkit-details-marker,.rev summary::-webkit-details-marker{display:none}
.toc summary::after,.rev summary::after{content:"+";margin-left:8px;color:var(--ac);font-family:var(--mono)}
.toc[open] summary::after,.rev[open] summary::after{content:"−"}
.toc ol{padding-left:24px;display:grid;gap:4px;font-size:15px;margin:6px 0 8px}
.toc li::marker{font:500 13px var(--mono);color:var(--ac)}
.toc a{text-decoration:none}.toc a:hover{text-decoration:underline}

/* читаемая колонка — лист на сетке */
.read{max-width:calc(var(--read) + 2 * var(--pad));margin:8px auto 0;padding:8px var(--pad);background:var(--card);border-block:1.5px solid var(--ink)}
@media (min-width:760px){.read{max-width:var(--read);padding:8px 40px;box-sizing:content-box;border:1.5px solid var(--ink);border-radius:var(--r);box-shadow:var(--sheet-sh)}}
.mat{padding:32px 0 26px;border-bottom:1px solid var(--hair)}
.mat h2{font:600 clamp(22px,2.6vw,28px)/1.18 var(--disp);letter-spacing:-.02em;margin-bottom:16px}
.mat p{font-size:18px;line-height:1.65}
.mat p+p{margin-top:12px}
.mat h3{font:600 17px/1.3 var(--text);margin:22px 0 6px}
.mat ul{padding-left:22px;display:grid;gap:6px;font-size:17px;margin-top:8px}
.mat li::marker{color:var(--fill)}
.dek{font-size:20px!important;line-height:1.5!important;color:var(--ink)}
.aside-note{font:400 14px/1.55 var(--mono)!important;color:var(--ink-3);margin-top:16px;padding-left:12px;border-left:2px solid var(--fill)}
.mat--col{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--r);padding:24px 20px;margin:24px 0}
.mat-f{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}
.srcs{display:inline-flex;gap:14px;flex-wrap:wrap}
.src{font:400 12px/1 var(--mono);color:var(--ink);opacity:.6;text-decoration:underline;text-decoration-thickness:1px;padding:10px 0;transition:opacity .15s}
.src:hover,.src:focus-visible{opacity:1}
.tonote{height:32px;padding:0 12px;border:1.5px solid var(--line-2);border-radius:var(--r);background:transparent;color:var(--ink-2);font:600 13px/1 var(--text);cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s;margin-left:auto}
.tonote:hover{color:var(--ink);border-color:var(--ink)}
.tonote.saved{color:var(--ok);border-color:var(--ok)}
.acts .tonote{height:var(--h);margin-left:0}
.fig{margin:32px calc(50% - min(50vw, 600px));padding:0 var(--pad)}
.fig-h{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;max-width:var(--read);margin:0 auto 14px}
.fig-h strong{flex-basis:100%;font:600 clamp(20px,2.4vw,26px)/1.2 var(--disp);letter-spacing:-.02em}
.fig-w{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--r);box-shadow:var(--sheet-sh);padding:20px;overflow-x:auto;overscroll-behavior-x:contain;max-width:1180px;margin:0 auto}
.fig-w svg{width:100%;height:auto}
@media (max-width:759px){.fig-w svg{width:820px;max-width:none}}
.fig-f,.loops{max-width:var(--read);margin:12px auto 0}
.fig-f{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font:400 12px/1.3 var(--mono);color:var(--ink-3)}
.lg{display:inline-flex;align-items:center;gap:6px}
.lg i{display:inline-block;width:20px;height:11px;border:2px solid var(--ink);border-radius:3px}
.lg-h{border-style:dashed!important;border-radius:6px!important}
.lg-s{background:var(--store);border-width:2px 0 0!important;border-radius:0!important}
.lg-f{height:0!important;border-width:2px 0 0!important;border-style:dashed!important;border-color:var(--ink-3)!important;border-radius:0!important}
.fig-hint{margin-left:auto}
@media (min-width:760px){.fig-hint{display:none}}
.loops{list-style:none;display:grid;gap:8px;font-size:15px}
.loops b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--ac);color:var(--ac);font:500 12px/1 var(--mono);margin-right:8px}
.tools{padding:28px 0}
.tools ul{list-style:none;display:grid;gap:0;border-top:1.5px solid var(--ink)}
.tools li{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:12px 0;border-bottom:1px solid var(--hair);font-size:16px;line-height:1.5}
.tools li b{font-size:17px;font-weight:600}
.tools .geo{margin-left:8px}
.tools .src{padding:6px 0 0}

/* прогресс — как штамп */
.prog{display:none;flex-wrap:wrap;align-items:center;gap:12px 20px;background:var(--card);border:1.5px solid var(--ink);border-radius:var(--r);box-shadow:var(--sheet-sh);padding:14px 16px;margin:24px 0}
.js .prog:not([hidden]){display:flex}
.prog-t{flex:1 1 240px;min-width:0}
.prog-msg{font:600 16px/1.35 var(--text)}
.prog-sub{font:400 12px/1.45 var(--mono);color:var(--ink-3);margin-top:4px}
.miles{list-style:none;display:flex;gap:6px}
.miles li{min-width:34px;height:28px;padding:0 8px;display:inline-grid;place-items:center;border-radius:3px;border:1px solid var(--line-2);font:500 12px/1 var(--mono);color:var(--ink-3)}
.miles li.on{background:var(--fill);border-color:var(--fill);color:var(--ink)}
.prog--home{margin:22px 0 0}

/* квиз — в конце */
.quiz{border-top:1.5px solid var(--ink);padding:28px 0 12px;margin-top:28px}
.quiz-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-bottom:6px}
.quiz-h h2{font:600 22px/1.2 var(--disp);letter-spacing:-.02em}
.score{font:400 13px/1.4 var(--mono);color:var(--ink-3)}
.quiz-b{display:grid;gap:24px;margin-top:16px}
.qs h3{font:500 12px/1.2 var(--mono);color:var(--ink-3);margin-bottom:8px}
.qq{font:600 17px/1.4 var(--text);margin-bottom:10px}
.hint{font-size:13px;color:var(--ink-3);margin:-4px 0 8px}
.chs{display:flex;flex-wrap:wrap;gap:8px}
.ch,.ord{min-height:var(--h);padding:6px 14px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--card);color:var(--ink);font:400 15px/1.25 var(--text);text-align:left;cursor:pointer;transition:border-color .15s,background-color .15s}
.ch:hover,.ord:hover{border-color:var(--ink)}
.ch:disabled{cursor:default}
.ch.ok{border-color:var(--ok);color:var(--ok);font-weight:600;background:var(--ok-bg)}
.ch.no{border-color:var(--no);color:var(--no);text-decoration:line-through;background:var(--no-bg)}
.mk{font:600 14px/1.4 var(--text);margin-top:8px}
.mk:empty{display:none}
.mk.ok{color:var(--ok)}.mk.no{color:var(--no)}
.ords{list-style:none;display:grid;gap:6px}
.ord{display:flex;align-items:center;gap:10px;width:100%}
.ord-n{flex:0 0 22px;height:22px;display:inline-grid;place-items:center;border-radius:50%;border:1px dashed var(--line-2);font:500 12px/1 var(--mono)}
.ord.set .ord-n{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.mt{display:grid;gap:12px}
.mt-d{list-style:none;display:grid;gap:4px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.mt-d b{color:var(--ac);margin-right:4px;font-family:var(--mono);font-weight:500}
.mt-t{list-style:none;display:grid;gap:6px}
.mt-t .it{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:4px 10px;padding-bottom:6px;border-bottom:1px solid var(--hair)}
.mt-t label{font:600 15px/1.3 var(--text)}
.mt-t .mk{grid-column:1/3;margin:0;font-size:13px}
.sel{height:var(--h);width:64px;border:1.5px solid var(--field);border-radius:var(--r);background:var(--card);color:var(--ink);font:500 15px var(--mono);padding:0 8px}
.cw{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.cw-g{display:grid;grid-auto-rows:var(--cw);width:max-content;max-width:100%;overflow-x:auto;padding:0 2px 2px 0}
@media (max-width:420px){:root{--cw:30px}}
.cw-c{position:relative;border:1px solid var(--ink);margin:0 -1px -1px 0;background:var(--card)}
.cw-c i{position:absolute;left:2px;top:1px;font:500 10px/1 var(--mono);font-style:normal;pointer-events:none}
.cw-c input{width:100%;height:100%;border:0;background:transparent;text-align:center;font:600 16px/1 var(--text);text-transform:uppercase;color:var(--ink);padding:6px 0 0}
.cw-c input:focus-visible{outline:2px solid var(--fill);outline-offset:-2px}
.cw-c.ok{background:var(--ok-bg)}.cw-c.no{background:var(--no-bg)}
.cw-l h4{font:500 12px/1.2 var(--mono);color:var(--ink-3);margin:0 0 6px}
.cw-l ul{list-style:none;display:grid;gap:4px;font-size:15px;line-height:1.4;margin-bottom:12px}
.cw-l .mk{display:inline;margin-left:6px;font-size:13px}
.len{color:var(--ink-3);font:400 12px var(--mono)}
.think{padding-left:20px;display:grid;gap:6px;font-size:16px}
.rev p{padding-top:4px;font-size:16px}
.rev--all{margin-top:18px}
.ans{padding-left:18px;display:grid;gap:4px;font-size:14px;line-height:1.45;margin-top:6px}

/* PDF и соседи */
.pages{border-top:1.5px solid var(--ink);padding:28px 0;margin-top:20px}
.pages .sh{font-size:22px;margin-bottom:14px}
.pgs{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;margin-bottom:14px}
.pg{flex:0 0 auto;width:min(44%,200px);text-decoration:none;font:400 12px/1 var(--mono);color:var(--ink-3)}
.pg img{width:100%;height:auto;border:1.5px solid var(--ink);border-radius:var(--r);background:var(--pdf);margin-bottom:6px}
.pn{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;padding:8px 0 32px}
.pn-a{display:grid;gap:6px;padding:14px 16px;background:var(--card);border:1px solid var(--line-2);border-radius:var(--r);text-decoration:none;transition:border-color .15s}
.pn-a:hover{border-color:var(--ink)}
.pn-a[rel=next]{text-align:right}
.pn-l{font:400 12px/1.2 var(--mono);color:var(--ink-3)}
.pn-t{font:600 16px/1.3 var(--text)}

/* блокнот */
.nb-new{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--r);box-shadow:var(--sheet-sh);padding:14px;margin:20px 0 8px}
textarea{width:100%;border:1.5px solid var(--field);border-radius:var(--r);padding:10px 12px;font:400 16px/1.5 var(--text);color:var(--ink);background:var(--card);resize:vertical}
textarea:focus-visible{outline:2px solid var(--fill);outline-offset:1px}
.nb-b{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-top:10px}
.nb-tools{display:flex;gap:8px;flex-wrap:wrap}
.nb-st{font:400 12px/1.4 var(--mono);color:var(--ink-3);margin-top:6px}
.nb-st:empty{display:none}
.nb-day{font:500 12px/1.2 var(--mono);color:var(--ink-3);margin:28px 0 0;padding-bottom:8px;border-bottom:1.5px solid var(--ink)}
.nb-it{background:var(--card);border-bottom:1px solid var(--hair);padding:12px 12px}
.nb-ctx{font:600 13px/1.3 var(--text);color:var(--ac);text-decoration:none}
.nb-ctx:hover{text-decoration:underline}
.nb-tx{white-space:pre-wrap;font-size:17px;line-height:1.55;margin:4px 0 8px}
.nb-ac{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nb-time{font:400 12px/1 var(--mono);color:var(--ink-3);margin-right:auto}
.nb-empty{color:var(--ink-3);padding:20px 0}
.dlg{border:1.5px solid var(--ink);border-radius:var(--r);padding:0;width:calc(100% - 32px);max-width:520px;color:var(--ink);background:var(--card);box-shadow:var(--dlg-sh)}
.dlg::backdrop{background:var(--scrim)}
.dlg-f{padding:18px}
.dlg h2{font:600 20px/1.2 var(--disp);letter-spacing:-.02em}
.dlg-ctx{font:400 13px/1.4 var(--mono);color:var(--ink-3);margin:6px 0 10px}
.dlg-p{font:400 12px/1.4 var(--mono);color:var(--ink-3);margin-top:6px}
.dlg-b{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}

/* подвал — моно, как у лендинга */
.ft{border-top:1.5px solid var(--ink);margin-top:28px;background:var(--top-bg)}
.ft-in{max-width:1240px;margin:0 auto;padding:28px var(--pad) 40px;display:grid;gap:10px;font:400 13px/1.55 var(--mono);color:var(--ink-3)}
.ft-in p{max-width:72ch;font:400 14px/1.55 var(--text)}
.ft-logo{font:600 18px/1 var(--disp)!important;color:var(--ink);letter-spacing:-.01em}
.ft-nav{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--ink)}
.ft-nav a{text-decoration:none}.ft-nav a:hover{text-decoration:underline}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.stk-a:hover{transform:none}}
@media print{body{background:var(--card)}.top,.tonote,.prog,.quiz,.pages,.pn,.ft,.skip{display:none}.read{border:0;box-shadow:none}}
