/*
 * Статья базы знаний (штурм 30): один файл стилей на кабинет и на витрину сайта. Цвета - свои переменные --kb-*:
 * в кабинете они берутся из токенов темы (все темы, включая тёмную), сайт задаёт их своими токенами.
 * Префикс kb- - чтобы не пересечься с классами сайта (section, .sub, .note).
 */
.kb-article {
  --kb-ink: var(--color-ink, #1d1d1d);
  --kb-muted: var(--color-muted, #6b7280);
  --kb-accent: var(--color-brand-600, #2f6f5e);
  --kb-line: color-mix(in srgb, var(--kb-ink) 14%, transparent);
  --kb-soft: color-mix(in srgb, var(--kb-accent) 7%, transparent);
  --kb-warn: #b45309;
  color: var(--kb-ink);
  font-size: 16px;
  line-height: 1.65;
  overflow-wrap: break-word;
}
.kb-article > p:first-child { font-size: 1.08em; color: var(--kb-ink); }
.kb-article h2 { font-size: 1.35em; font-weight: 700; line-height: 1.3; margin: 1.9em 0 0.6em; scroll-margin-top: 88px; }
.kb-article h3 { font-size: 1.1em; font-weight: 650; line-height: 1.35; margin: 1.4em 0 0.4em; scroll-margin-top: 88px; }
.kb-article h4 { font-size: 0.95em; font-weight: 700; margin: 0 0 0.3em; }
.kb-article p { margin: 0.7em 0; }
.kb-article ul, .kb-article ol { padding-left: 1.4em; margin: 0.6em 0; }
.kb-article ul { list-style: disc; }
.kb-article ol { list-style: decimal; }
.kb-article li { margin: 0.3em 0; }
.kb-article a { color: var(--kb-accent); text-decoration: underline; text-underline-offset: 2px; }
.kb-article strong { font-weight: 650; }
.kb-article blockquote { margin: 1em 0; padding: 0.2em 0 0.2em 1em; border-left: 3px solid var(--kb-line); font-style: italic; }

/* Снимки и вырезы кнопок */
.kb-fig { margin: 1.2em 0; }
.kb-fig img { display: block; max-width: 100%; height: auto; border: 1px solid var(--kb-line); border-radius: 10px; background: #fff; }
.kb-fig figcaption { margin-top: 0.45em; font-size: 0.88em; color: var(--kb-muted); }
.kb-btn { display: inline-block; height: 1.9em; width: auto; vertical-align: middle; margin: 0 0.1em; border-radius: 6px; }
.kb-kbd { font: inherit; font-size: 0.85em; padding: 0.05em 0.45em; border: 1px solid var(--kb-line); border-bottom-width: 2px; border-radius: 5px; background: var(--kb-soft); white-space: nowrap; }

/* «Сегодня / Через месяц»: h4 + список в две колонки */
.kb-gain { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; grid-auto-flow: column; column-gap: 20px; margin: 1.2em 0; padding: 1em 1.2em; border-radius: 12px; background: var(--kb-soft); }
.kb-gain > ul { margin: 0; }
@media (max-width: 640px) { .kb-gain { grid-template-columns: 1fr; grid-auto-flow: row; } .kb-gain > h4:not(:first-child) { margin-top: 0.8em; } }

/* Карточки правил */
.kb-rules > ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.kb-rules li { margin: 0; padding: 0.8em 1em; border: 1px solid var(--kb-line); border-radius: 10px; }
.kb-rules li > strong:first-child { display: block; margin-bottom: 0.25em; }

/* Шаги с номерами */
.kb-steps { counter-reset: kb-step; margin: 1em 0 1em 0.9em; padding-left: 1.8em; border-left: 2px solid var(--kb-line); }
.kb-steps > h3 { counter-increment: kb-step; position: relative; margin-top: 1.3em; }
.kb-steps > h3:first-child { margin-top: 0.2em; }
.kb-steps > h3::before { content: counter(kb-step); position: absolute; left: -2.75em; top: -0.05em; width: 1.7em; height: 1.7em; border-radius: 50%; display: grid; place-items: center; font-size: 0.85em; font-weight: 700; color: #fff; background: var(--kb-accent); }

/* Врезки */
.kb-note { margin: 1.1em 0; padding: 0.7em 1em; border-left: 4px solid var(--kb-accent); border-radius: 0 10px 10px 0; background: var(--kb-soft); }
.kb-note > :first-child { margin-top: 0; }
.kb-note > :last-child { margin-bottom: 0; }
.kb-note__title { font-weight: 700; }
.kb-try { margin: 1.6em 0; padding: 1em 1.2em; border: 1.5px dashed var(--kb-accent); border-radius: 12px; }
.kb-try__title { margin-top: 0 !important; font-size: 0.8em; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--kb-accent); }
.kb-try h3 { margin-top: 0.3em; }

/* Классика: стих, источник, ловушка */
.kb-classic { margin: 1em 0; padding: 0.9em 1.2em; border: 1px solid var(--kb-line); border-radius: 12px; }
.kb-classic > blockquote { border: 0; padding: 0; font-size: 1.05em; }
.kb-classic > p > em:only-child { font-style: normal; font-size: 0.9em; color: var(--kb-muted); }
.kb-classic > p > strong:first-child { color: var(--kb-warn); }

/* Пример документа - «белый лист» в любой теме: черты и рамки рисует CSS продукта (.doc-shape) */
.kb-doc { margin: 0.6em 0; padding: 0.5em 0.9em; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; }
.kb-doc .doc-shape { font-size: 16px; }
.kb-doc .doc-shape p { margin: 0.25em 0; line-height: 2; }
/* В статье пример - как в тетради: рамка задания и значок типа на поле нужны в редакторе, а не здесь. CSS документа
   вставляется в <head> позже этого файла и при равной специфичности перебил бы правило - отсюда !important. */
.kb-doc .doc-shape .doc-slot { outline: 0 !important; background-color: transparent !important; }
.kb-doc .doc-shape--static > p::before { content: none !important; }

/* Пример под предмет */
.kb-example { margin: 1em 0; padding: 0.7em 1em; border: 1px dashed var(--kb-line); border-radius: 10px; }
.kb-example__subject { margin-top: 0 !important; font-size: 0.8em; color: var(--kb-muted); }

/* Таблицы (шпаргалка) */
.kb-table { overflow-x: auto; margin: 1em 0; }
.kb-table table { border-collapse: collapse; width: 100%; }
.kb-table th, .kb-table td { padding: 0.5em 0.7em; border-bottom: 1px solid var(--kb-line); text-align: left; vertical-align: top; }
.kb-table th { font-weight: 650; }

/* Цвета статьи - токены сайта */
.kb-article { --kb-ink: var(--ink); --kb-muted: var(--muted); --kb-accent: var(--brand-600); --kb-line: var(--line); --kb-soft: var(--brand-50); }

/* CSS документа (@grandum/doc-schema): черты и рамки примеров - как в карточке */
.doc-shape{font-family:Arial, "Liberation Sans", Helvetica, sans-serif;font-size:14.67px;line-height:1.5;color:#1d1d1d;word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap;box-sizing:border-box;width:100%}
.doc-shape p{margin:0 0 0.5em}
.doc-shape h1{font-size:1.8em;font-weight:700;line-height:1.2;margin:0.6em 0 0.35em}
.doc-shape h2{font-size:1.45em;font-weight:700;line-height:1.25;margin:0.6em 0 0.3em}
.doc-shape h3{font-size:1.2em;font-weight:600;line-height:1.3;margin:0.5em 0 0.25em}
.doc-shape h1:first-child,.doc-shape h2:first-child,.doc-shape h3:first-child{margin-top:0}
.doc-shape ul,.doc-shape ol{margin:0 0 0.5em;padding-left:1.6em}
.doc-shape ul{list-style:disc}
.doc-shape ol{list-style:decimal}
.doc-shape li>p{margin:0 0 0.15em}
.doc-shape blockquote{margin:0 0 0.5em;padding-left:0.9em;border-left:3px solid #cbd5e1;color:#475569}
.doc-shape a{color:#1d4ed8;text-decoration:underline}
.doc-shape mark{background:#fde68a;color:inherit;padding:0 0.1em}
.doc-shape mark[data-color="orange"]{background:#fdab6b}
.doc-shape mark[data-color="green"]{background:#bbf7d0}
.doc-shape mark[data-color="blue"]{background:#bae6fd}
.doc-shape mark[data-color="purple"]{background:#d8b4fe}
.doc-shape mark[data-color="pink"]{background:#fbcfe8}
.doc-shape s{text-decoration:line-through}
.doc-shape u{text-decoration:underline}
.doc-shape u[data-kind]{text-decoration-thickness:1.5px;text-underline-offset:3px}
.doc-shape .doc-term{position:relative}
.doc-shape .doc-term::before{content:"";display:inline-block;width:0;height:2.25em;vertical-align:-0.55em}
.doc-shape .doc-term::after{content:attr(data-term);position:absolute;left:0;top:-0.95em;font-size:0.68em;line-height:1;font-weight:600;letter-spacing:0.01em;color:#b45309;white-space:nowrap;pointer-events:none;user-select:none;-webkit-user-select:none}
.doc-shape code{font-family:ui-monospace,"Cascadia Code",Menlo,monospace;font-size:0.92em;background:#f1f5f9;padding:0 0.25em;border-radius:3px}
.doc-shape table.doc-table{border-collapse:collapse;width:100%;margin:0.4em 0 0.6em;table-layout:fixed}
.doc-shape table.doc-table th,.doc-shape table.doc-table td{border:1px solid #cbd5e1;padding:4px 8px;vertical-align:top;word-break:break-word}
.doc-shape table.doc-table th{background:#f1f5f9;font-weight:600;text-align:left}
.doc-shape table.doc-table p{margin:0}
.doc-shape table.doc-table .selectedCell{background:rgba(37,99,235,0.08)}
.doc-shape img.doc-image{display:block;max-width:100%;height:auto;margin:0.4em 0 0.6em}
.doc-shape .ProseMirror-selectednode{outline:2px solid #2563eb;outline-offset:2px}
.doc-shape{--doc-gap:1em}
.doc-shape [data-gap="s"]{--doc-gap:0.5em}
.doc-shape [data-gap="l"]{--doc-gap:1.5em}
.doc-shape :is(img.doc-image,.doc-media,.doc-video,.doc-audio)[data-layout="center"]{margin-left:auto;margin-right:auto}
.doc-shape :is(img.doc-image,.doc-media,.doc-video,.doc-audio)[data-layout="right"]{margin-left:auto;margin-right:0}
.doc-shape :is(img.doc-image,.doc-media,.doc-video,.doc-audio)[data-layout="wrap-left"]{float:left;clear:left;margin:0.2em var(--doc-gap) 0.3em 0}
.doc-shape :is(img.doc-image,.doc-media,.doc-video,.doc-audio)[data-layout="wrap-right"]{float:right;clear:right;margin:0.2em 0 0.3em var(--doc-gap)}
.doc-shape .ProseMirror,.doc-shape--static,.doc-shape .doc-answer__body{display:flow-root}
.doc-shape .doc-media{position:relative;display:block;max-width:100%;margin:0.4em 0 0.6em;box-sizing:border-box}
.doc-shape .doc-media:not([data-width]){width:fit-content}
.doc-shape .doc-media>img{display:block;width:100%;height:auto;margin:0}
.doc-shape .doc-media__handle{display:none;position:absolute;width:12px;height:12px;background:#fff;border:2px solid #2563eb;border-radius:2px;box-sizing:border-box;touch-action:none;z-index:2}
.doc-shape .doc-media__handle::after{content:"";position:absolute;inset:-10px}
.doc-shape .ProseMirror-selectednode>.doc-media__handle{display:block}
.doc-shape .doc-media__handle--nw{left:-6px;top:-6px;cursor:nwse-resize}
.doc-shape .doc-media__handle--ne{right:-6px;top:-6px;cursor:nesw-resize}
.doc-shape .doc-media__handle--sw{left:-6px;bottom:-6px;cursor:nesw-resize}
.doc-shape .doc-media__handle--se{right:-6px;bottom:-6px;cursor:nwse-resize}
.doc-shape .doc-video{position:relative;display:block;width:100%;max-width:100%;aspect-ratio:16/9;margin:0.4em 0 0.6em;background:#000;border-radius:6px;overflow:hidden;box-sizing:border-box}
.doc-shape .doc-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.doc-shape .doc-video__missing{position:absolute;inset:0;display:grid;place-items:center;color:#cbd5e1;font-size:0.9em}
.doc-shape .doc-video__overlay{position:absolute;inset:0;cursor:pointer;z-index:1}
.doc-shape .doc-audio{display:flex;flex-direction:column;gap:2px;width:100%;max-width:100%;margin:0.4em 0 0.6em;padding:6px 8px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;box-sizing:border-box}
.doc-shape .doc-audio__name{font-size:0.85em;font-weight:600;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-shape .doc-audio audio{display:block;width:100%;height:40px}
.doc-shape--static .doc-audio,.doc-shape--static .doc-video iframe{pointer-events:auto}
.doc-shape .doc-answer{margin-top:1.2em;border-top:2px solid #cbd5e1;padding-top:0.6em}
.doc-shape .doc-answer__label{font-size:0.8em;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:#64748b;margin:0 0 0.4em}
.doc-shape .doc-answer__body{min-height:3em;display:flow-root}
.doc-shape .doc-answer__hint{border:1.5px dashed #cbd5e1;border-radius:6px;padding:0.8em 1em;color:#94a3b8;min-height:3em;box-sizing:border-box}
.doc-shape .doc-answer--edit .doc-answer__body{outline:1.5px dashed #93c5fd;outline-offset:6px;border-radius:2px}
.doc-shape .ProseMirror{outline:none;min-height:1.5em}
.doc-shape .ProseMirror p.is-editor-empty:first-child::before{content:attr(data-placeholder);float:left;color:#94a3b8;pointer-events:none;height:0}
.doc-shape .ProseMirror ::selection{background:rgba(37,99,235,0.2)}
.doc-shape .doc-slot{box-sizing:border-box;border-radius:3px}
.doc-shape .doc-slot--input{display:inline-block;position:relative;vertical-align:baseline;border-bottom:1.5px solid #64748b;padding:0 0.25em;white-space:nowrap;text-align:center;line-height:inherit;background:#f8fafc}
.doc-shape .doc-slot__val{display:inline-block;min-width:1ch;outline:none;caret-color:#2563eb}
.doc-shape .doc-slot__val:empty::before{content:"\00a0"}
.doc-shape .doc-slot--pick-char{white-space:nowrap;background:#f8fafc;padding:0 0.1em}
.doc-shape .doc-slot__ch{position:relative;display:inline-block}
.doc-shape .doc-slot__ch--on{color:#b91c1c;font-weight:700}
.doc-shape .doc-slot__ch--on::after{content:"\00B4";position:absolute;left:50%;top:-0.55em;transform:translateX(-50%);font-weight:700;line-height:1;pointer-events:none}
.doc-shape .doc-slot__w{position:relative;text-decoration-thickness:1.5px;text-underline-offset:3px}
.doc-shape .doc-slot__w--active{outline:2px solid #2563eb;outline-offset:1px;border-radius:2px}
.doc-shape .doc-slot--ok{border-bottom-color:#16a34a;background:#f0fdf4}
.doc-shape .doc-slot--bad{border-bottom-color:#dc2626;background:#fef2f2}
.doc-shape .doc-slot--pick-char.doc-slot--ok .doc-slot__ch--on{color:#16a34a}
.doc-shape .doc-slot--pick-char.doc-slot--bad .doc-slot__ch--on{color:#dc2626}
.doc-shape .doc-slot__w--ok{background:#dcfce7}
.doc-shape .doc-slot__w--bad{background:#fee2e2}
.doc-shape .doc-slot__ch--key{text-decoration:underline dotted;text-underline-offset:2px}
.doc-shape--static .doc-slot--editable :is(.doc-slot__val,.doc-slot__ch--pick,.doc-slot__w){pointer-events:auto;cursor:pointer}
.doc-shape--static .doc-slot--editable .doc-slot__val{cursor:text}
.doc-shape--static .doc-slot--editable :is(.doc-slot__ch--pick,.doc-slot__w)::before{content:"";position:absolute;inset:-8px -1px}
.doc-shape .doc-slot--keyable :is(.doc-slot__ch--pick,.doc-slot__w){cursor:pointer}
.doc-shape .doc-slot--keyable :is(.doc-slot__ch--pick,.doc-slot__w)::before{content:"";position:absolute;inset:-6px -1px}
.doc-shape [data-width="10"]{width:10%}
.doc-shape [data-width="11"]{width:11%}
.doc-shape [data-width="12"]{width:12%}
.doc-shape [data-width="13"]{width:13%}
.doc-shape [data-width="14"]{width:14%}
.doc-shape [data-width="15"]{width:15%}
.doc-shape [data-width="16"]{width:16%}
.doc-shape [data-width="17"]{width:17%}
.doc-shape [data-width="18"]{width:18%}
.doc-shape [data-width="19"]{width:19%}
.doc-shape [data-width="20"]{width:20%}
.doc-shape [data-width="21"]{width:21%}
.doc-shape [data-width="22"]{width:22%}
.doc-shape [data-width="23"]{width:23%}
.doc-shape [data-width="24"]{width:24%}
.doc-shape [data-width="25"]{width:25%}
.doc-shape [data-width="26"]{width:26%}
.doc-shape [data-width="27"]{width:27%}
.doc-shape [data-width="28"]{width:28%}
.doc-shape [data-width="29"]{width:29%}
.doc-shape [data-width="30"]{width:30%}
.doc-shape [data-width="31"]{width:31%}
.doc-shape [data-width="32"]{width:32%}
.doc-shape [data-width="33"]{width:33%}
.doc-shape [data-width="34"]{width:34%}
.doc-shape [data-width="35"]{width:35%}
.doc-shape [data-width="36"]{width:36%}
.doc-shape [data-width="37"]{width:37%}
.doc-shape [data-width="38"]{width:38%}
.doc-shape [data-width="39"]{width:39%}
.doc-shape [data-width="40"]{width:40%}
.doc-shape [data-width="41"]{width:41%}
.doc-shape [data-width="42"]{width:42%}
.doc-shape [data-width="43"]{width:43%}
.doc-shape [data-width="44"]{width:44%}
.doc-shape [data-width="45"]{width:45%}
.doc-shape [data-width="46"]{width:46%}
.doc-shape [data-width="47"]{width:47%}
.doc-shape [data-width="48"]{width:48%}
.doc-shape [data-width="49"]{width:49%}
.doc-shape [data-width="50"]{width:50%}
.doc-shape [data-width="51"]{width:51%}
.doc-shape [data-width="52"]{width:52%}
.doc-shape [data-width="53"]{width:53%}
.doc-shape [data-width="54"]{width:54%}
.doc-shape [data-width="55"]{width:55%}
.doc-shape [data-width="56"]{width:56%}
.doc-shape [data-width="57"]{width:57%}
.doc-shape [data-width="58"]{width:58%}
.doc-shape [data-width="59"]{width:59%}
.doc-shape [data-width="60"]{width:60%}
.doc-shape [data-width="61"]{width:61%}
.doc-shape [data-width="62"]{width:62%}
.doc-shape [data-width="63"]{width:63%}
.doc-shape [data-width="64"]{width:64%}
.doc-shape [data-width="65"]{width:65%}
.doc-shape [data-width="66"]{width:66%}
.doc-shape [data-width="67"]{width:67%}
.doc-shape [data-width="68"]{width:68%}
.doc-shape [data-width="69"]{width:69%}
.doc-shape [data-width="70"]{width:70%}
.doc-shape [data-width="71"]{width:71%}
.doc-shape [data-width="72"]{width:72%}
.doc-shape [data-width="73"]{width:73%}
.doc-shape [data-width="74"]{width:74%}
.doc-shape [data-width="75"]{width:75%}
.doc-shape [data-width="76"]{width:76%}
.doc-shape [data-width="77"]{width:77%}
.doc-shape [data-width="78"]{width:78%}
.doc-shape [data-width="79"]{width:79%}
.doc-shape [data-width="80"]{width:80%}
.doc-shape [data-width="81"]{width:81%}
.doc-shape [data-width="82"]{width:82%}
.doc-shape [data-width="83"]{width:83%}
.doc-shape [data-width="84"]{width:84%}
.doc-shape [data-width="85"]{width:85%}
.doc-shape [data-width="86"]{width:86%}
.doc-shape [data-width="87"]{width:87%}
.doc-shape [data-width="88"]{width:88%}
.doc-shape [data-width="89"]{width:89%}
.doc-shape [data-width="90"]{width:90%}
.doc-shape [data-width="91"]{width:91%}
.doc-shape [data-width="92"]{width:92%}
.doc-shape [data-width="93"]{width:93%}
.doc-shape [data-width="94"]{width:94%}
.doc-shape [data-width="95"]{width:95%}
.doc-shape [data-width="96"]{width:96%}
.doc-shape [data-width="97"]{width:97%}
.doc-shape [data-width="98"]{width:98%}
.doc-shape [data-width="99"]{width:99%}
.doc-shape [data-width="100"]{width:100%}
.doc-shape .doc-slot--input[data-slot-size="1"]{min-width:calc(1ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="2"]{min-width:calc(2ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="3"]{min-width:calc(3ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="4"]{min-width:calc(4ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="5"]{min-width:calc(5ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="6"]{min-width:calc(6ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="7"]{min-width:calc(7ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="8"]{min-width:calc(8ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="9"]{min-width:calc(9ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="10"]{min-width:calc(10ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="11"]{min-width:calc(11ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="12"]{min-width:calc(12ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="13"]{min-width:calc(13ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="14"]{min-width:calc(14ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="15"]{min-width:calc(15ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="16"]{min-width:calc(16ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="17"]{min-width:calc(17ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="18"]{min-width:calc(18ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="19"]{min-width:calc(19ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="20"]{min-width:calc(20ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="21"]{min-width:calc(21ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="22"]{min-width:calc(22ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="23"]{min-width:calc(23ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="24"]{min-width:calc(24ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="25"]{min-width:calc(25ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="26"]{min-width:calc(26ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="27"]{min-width:calc(27ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="28"]{min-width:calc(28ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="29"]{min-width:calc(29ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="30"]{min-width:calc(30ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="31"]{min-width:calc(31ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="32"]{min-width:calc(32ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="33"]{min-width:calc(33ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="34"]{min-width:calc(34ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="35"]{min-width:calc(35ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="36"]{min-width:calc(36ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="37"]{min-width:calc(37ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="38"]{min-width:calc(38ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="39"]{min-width:calc(39ch + 0.6em)}
.doc-shape .doc-slot--input[data-slot-size="40"]{min-width:calc(40ch + 0.6em)}
.doc-shape u[data-kind="solid"]{text-decoration:underline solid}
.doc-shape u[data-kind="double"]{text-decoration:underline double}
.doc-shape u[data-kind="wavy"]{text-decoration:underline wavy}
.doc-shape u[data-kind="dashed"]{text-decoration:underline dashed}
.doc-shape u[data-kind="dotdash"]{text-decoration:none;background-image:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 9px,currentColor 9px 11px,transparent 11px 14px);background-position:left calc(100% - 1px);background-size:100% 1.5px;background-repeat:no-repeat}
.doc-shape .doc-slot__w[data-role="ru.subject"]{text-decoration:underline solid}
.doc-shape .doc-slot__w[data-role="ru.predicate"]{text-decoration:underline double}
.doc-shape .doc-slot__w[data-role="ru.attribute"]{text-decoration:underline wavy}
.doc-shape .doc-slot__w[data-role="ru.object"]{text-decoration:underline dashed}
.doc-shape .doc-slot__w[data-role="ru.adverbial"]{text-decoration:none;background-image:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 9px,currentColor 9px 11px,transparent 11px 14px);background-position:left calc(100% - 1px);background-size:100% 1.5px;background-repeat:no-repeat}
.doc-shape .doc-slot{position:relative;outline:1.5px dashed #7fa89a;outline-offset:1px;background-color:rgba(47,111,94,0.07)}
.doc-shape .doc-slot--input{outline-offset:-1.5px}
.doc-shape .doc-slot[data-slot-filled]{outline:1px solid #c5d6cf;background-color:transparent}
.doc-shape .doc-slot--key:not([data-slot-filled]){outline:1.5px dashed #e8590c;background-color:rgba(232,89,12,0.08)}
.doc-shape .doc-slot--key.doc-slot--draft{outline:1.5px dashed #d97706;background-color:rgba(245,158,11,0.14)}
.doc-shape .doc-slot--draft .doc-slot__val{font-style:italic}
.doc-shape .doc-slot--key.doc-slot--auto::after{content:"";position:absolute;top:-2px;right:-2px;width:5px;height:5px;border-radius:50%;background-color:#2563eb;pointer-events:none}
.doc-shape .doc-slot.doc-slot--ok{outline:1px solid #86c79c;background-color:#f0fdf4}
.doc-shape .doc-slot.doc-slot--bad{outline:1px solid #f0a3a3;background-color:#fef2f2}
.doc-shape .doc-slot.ProseMirror-selectednode{outline:2px solid #2563eb;outline-offset:1px}
.doc-shape .doc-slot--input.ProseMirror-selectednode{outline-offset:-2px}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot){position:relative}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot)::before{content:"";position:absolute;left:-27px;top:calc(0.75em - 9px);width:18px;height:18px;background-color:#5f9483;-webkit-mask:var(--slot-icon) center/contain no-repeat;mask:var(--slot-icon) center/contain no-repeat;pointer-events:none}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):not(:has(.doc-slot:not([data-slot-filled])))::before{background-color:#b8c7c1}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot--key.doc-slot--draft)::before{background-color:#d97706}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot--key:not([data-slot-filled]))::before{background-color:#e8590c}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot--input:not([data-slot-preset])){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M1.5%2015h3M19.5%2015h3%22%2F%3E%3Cpath%20d%3D%22M7%2017.5h10%22%20stroke-width%3D%222.4%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%229.5%22%20rx%3D%221%22%20fill%3D%22%23000%22%20fill-opacity%3D%220.1%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot--pick-char:not([data-slot-preset])){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M13.2%203.2%2010.4%207.4%22%2F%3E%3Cpath%20d%3D%22M15.5%2020.5v-6.2a3.6%203.6%200%200%200-3.6-3.6c-1.5%200-2.8.8-3.3%202%22%2F%3E%3Cpath%20d%3D%22M15.5%2016.3c-.9-.8-2.4-1.2-3.8-1.2-2.2%200-3.9%201.1-3.9%202.8%200%201.6%201.4%202.7%203.3%202.7%201.9%200%203.4-1%204.4-2.4%22%2F%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot--label-words:not([data-slot-preset])){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%20fill%3D%22%23000%22%20fill-opacity%3D%220.35%22%20stroke%3D%22none%22%3E%3Crect%20x%3D%221%22%20y%3D%226%22%20width%3D%225.5%22%20height%3D%223.4%22%20rx%3D%221.2%22%2F%3E%3Crect%20x%3D%228.2%22%20y%3D%226%22%20width%3D%226.8%22%20height%3D%223.4%22%20rx%3D%221.2%22%2F%3E%3Crect%20x%3D%2216.7%22%20y%3D%226%22%20width%3D%226.3%22%20height%3D%223.4%22%20rx%3D%221.2%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M1%2013h5.5%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M8.2%2012.4H15M8.2%2015.3H15%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M16.7%2013.4c1-1.4%202.1-1.4%203.1%200s2.1%201.4%203.2%200%22%20stroke-width%3D%221.7%22%2F%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot[data-slot-preset="ru.fipi-numbers"]){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%220.9%22%20y%3D%226%22%20width%3D%226.8%22%20height%3D%2211%22%20rx%3D%221.2%22%20stroke-width%3D%221.6%22%2F%3E%3Crect%20x%3D%228.6%22%20y%3D%226%22%20width%3D%226.8%22%20height%3D%2211%22%20rx%3D%221.2%22%20stroke-width%3D%221.6%22%2F%3E%3Crect%20x%3D%2216.3%22%20y%3D%226%22%20width%3D%226.8%22%20height%3D%2211%22%20rx%3D%221.2%22%20stroke-width%3D%221.6%22%2F%3E%3Cg%20fill%3D%22%23000%22%20stroke%3D%22none%22%20font-family%3D%22Arial%2C%20sans-serif%22%20font-weight%3D%22700%22%20font-size%3D%228%22%20text-anchor%3D%22middle%22%3E%3Ctext%20x%3D%224.3%22%20y%3D%2214.4%22%3E2%3C%2Ftext%3E%3Ctext%20x%3D%2212%22%20y%3D%2214.4%22%3E4%3C%2Ftext%3E%3Ctext%20x%3D%2219.7%22%20y%3D%2214.4%22%3E5%3C%2Ftext%3E%3C%2Fg%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot[data-slot-preset="ru.insert-letter"]){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2018h4M18%2018h4%22%2F%3E%3Crect%20x%3D%227.5%22%20y%3D%227%22%20width%3D%229%22%20height%3D%2211%22%20rx%3D%221.5%22%20stroke-dasharray%3D%222.4%202.1%22%2F%3E%3Cpath%20d%3D%22M12%2010v5%22%2F%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot[data-slot-preset="ru.brackets"]){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M6.5%203.5C3.5%207%203.5%2017%206.5%2020.5%22%20stroke-dasharray%3D%222.2%202.4%22%2F%3E%3Cpath%20d%3D%22M17.5%203.5c3%203.5%203%2013.5%200%2017%22%20stroke-dasharray%3D%222.2%202.4%22%2F%3E%3Cpath%20d%3D%22M9%2012h6%22%20stroke-width%3D%223.2%22%2F%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot[data-slot-preset="ru.write-out"]){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%205h4M18%205h4%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%222.5%22%20width%3D%228%22%20height%3D%225%22%20rx%3D%221.2%22%20fill%3D%22%23000%22%20fill-opacity%3D%220.18%22%2F%3E%3Cpath%20d%3D%22M12%2010v6M9.5%2013.8%2012%2016.3l2.5-2.5%22%2F%3E%3Cpath%20d%3D%22M6%2020.5h12%22%2F%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot[data-slot-preset="ru.stress"]){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M13.2%203.2%2010.4%207.4%22%2F%3E%3Cpath%20d%3D%22M15.5%2020.5v-6.2a3.6%203.6%200%200%200-3.6-3.6c-1.5%200-2.8.8-3.3%202%22%2F%3E%3Cpath%20d%3D%22M15.5%2016.3c-.9-.8-2.4-1.2-3.8-1.2-2.2%200-3.9%201.1-3.9%202.8%200%201.6%201.4%202.7%203.3%202.7%201.9%200%203.4-1%204.4-2.4%22%2F%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot[data-slot-preset="ru.sentence-parse"]){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cg%20fill%3D%22%23000%22%20fill-opacity%3D%220.35%22%20stroke%3D%22none%22%3E%3Crect%20x%3D%221%22%20y%3D%226%22%20width%3D%225.5%22%20height%3D%223.4%22%20rx%3D%221.2%22%2F%3E%3Crect%20x%3D%228.2%22%20y%3D%226%22%20width%3D%226.8%22%20height%3D%223.4%22%20rx%3D%221.2%22%2F%3E%3Crect%20x%3D%2216.7%22%20y%3D%226%22%20width%3D%226.3%22%20height%3D%223.4%22%20rx%3D%221.2%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M1%2013h5.5%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M8.2%2012.4H15M8.2%2015.3H15%22%20stroke-width%3D%221.7%22%2F%3E%3Cpath%20d%3D%22M16.7%2013.4c1-1.4%202.1-1.4%203.1%200s2.1%201.4%203.2%200%22%20stroke-width%3D%221.7%22%2F%3E%3C%2Fsvg%3E")}
:is(.doc-shape .ProseMirror,.doc-shape--static)>:is(p,h1,h2,h3):has(.doc-slot):has(.doc-slot[data-slot-preset="common.gap"]){--slot-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M1.5%2015h3M19.5%2015h3%22%2F%3E%3Cpath%20d%3D%22M7%2017.5h10%22%20stroke-width%3D%222.4%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%229.5%22%20rx%3D%221%22%20fill%3D%22%23000%22%20fill-opacity%3D%220.1%22%20stroke%3D%22none%22%2F%3E%3C%2Fsvg%3E")}
