/* sherlok.bar — тема «вымарывание».
   Визуальный ключ: документ, строка данных и чёрная плашка редакции поверх неё.
   Цвет 6 токенов, семантика состояний отдельно, структуру держат линейки, не тени. */

/* --- Шрифты: Spectral (заголовки) · Inter (текст) · Plex Mono (данные) --------- */
@font-face{font-family:'Spectral';font-weight:500;font-display:swap;src:url(/fonts/spc-500-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Spectral';font-weight:500;font-display:swap;src:url(/fonts/spc-500-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Spectral';font-weight:600;font-display:swap;src:url(/fonts/spc-600-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Spectral';font-weight:600;font-display:swap;src:url(/fonts/spc-600-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(/fonts/inter-400-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(/fonts/inter-400-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(/fonts/inter-500-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(/fonts/inter-500-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(/fonts/inter-600-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Inter';font-weight:600;font-display:swap;src:url(/fonts/inter-600-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Plex Mono';font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Plex Mono';font-weight:400;font-display:swap;src:url(/fonts/plex-mono-400-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'Plex Mono';font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500-cyr.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Plex Mono';font-weight:500;font-display:swap;src:url(/fonts/plex-mono-500-lat.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}

/* --- Токены ------------------------------------------------------------------- */
:root{
  --paper:#F2EFE8;      /* бумага документа */
  --surface:#FFFFFF;    /* плоскости */
  --ink:#15151A;        /* чернила */
  --mut:#6E6A62;        /* второстепенный */
  --rule:#D8D2C6;       /* линейки */
  --bar:#1A1A1E;        /* плашка вымарывания */
  /* семантика состояний — только для статусов */
  --seen:#A8710D;       /* видно */
  --hidden:#2F6B4F;     /* скрыто */
  --f-dis:'Spectral',Georgia,'Times New Roman',serif;
  --f-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --f-data:'Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}
@media (prefers-color-scheme:dark){
  :root{ --paper:#131318; --surface:#1B1B21; --ink:#EDEAE3; --mut:#9A958B;
         --rule:#32323A; --bar:#EDEAE3; --seen:#D69A3A; --hidden:#6DBE95; }
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
     font:400 17px/1.62 var(--f-body);-webkit-font-smoothing:antialiased}
.wrap{max-width:960px;margin:0 auto;padding:0 24px}
a{color:inherit}
a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
code{font:400 .92em/1.5 var(--f-data);background:var(--surface);border:1px solid var(--rule);padding:1px 5px}
img{max-width:100%;height:auto}

/* --- Шапка -------------------------------------------------------------------- */
.top{border-bottom:1px solid var(--rule);background:var(--paper)}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.mark{width:30px;height:30px;flex:0 0 30px;color:var(--ink)}
.wordmark{font:600 20px/1 var(--f-dis);letter-spacing:.2px;display:block}
.brand small{display:block;font:400 11px/1.3 var(--f-data);color:var(--mut);
     letter-spacing:.08em;text-transform:uppercase;margin-top:3px}
.nav{display:flex;gap:22px;font-size:14px}
.nav a{color:var(--mut);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}
.nav a:hover{color:var(--ink);border-color:var(--ink)}
@media(max-width:700px){.nav{gap:14px;font-size:13px}.brand small{display:none}}
/* На узком экране навигация уходит второй строкой, а не прячется: иначе с телефона
   по сайту нельзя перейти никуда, кроме подвала. */
@media(max-width:460px){
  .top__in{flex-wrap:wrap;gap:10px;padding:12px 0}
  .nav{width:100%;gap:0;justify-content:space-between;border-top:1px solid var(--rule);padding-top:8px}
  .nav a{font-size:13px}
}

/* --- Крошки и статья ---------------------------------------------------------- */
.crumbs{font:400 12px/1 var(--f-data);color:var(--mut);padding:22px 0 0;letter-spacing:.03em}
.crumbs a{text-decoration:none;color:var(--mut)}
.crumbs a:hover{color:var(--ink)}
.crumbs i{font-style:normal;padding:0 7px;opacity:.55}
.art{padding:18px 0 0;max-width:760px}
.art h1{font:600 clamp(28px,4.6vw,42px)/1.15 var(--f-dis);margin:8px 0 14px;letter-spacing:-.01em}
.art__meta{display:flex;gap:10px;margin:0 0 20px}
.tag{font:500 10px/1 var(--f-data);letter-spacing:.12em;color:var(--mut);
     border:1px solid var(--rule);padding:6px 8px;display:inline-block}
.art__lead{font-size:18px;margin:0 0 26px}
.art h2{font:600 clamp(21px,3.2vw,28px)/1.25 var(--f-dis);margin:40px 0 12px;scroll-margin-top:20px}
.art h3{font:600 17px/1.4 var(--f-body);margin:26px 0 8px}
.art p{margin:0 0 16px}
.art ul:not([class]),.art ol:not([class]){margin:0 0 18px;padding-left:22px}
.art ul:not([class]) li,.art ol:not([class]) li{margin:0 0 8px}

/* --- Таблица ------------------------------------------------------------------ */
.tbl-wrap{overflow-x:auto;margin:0 0 24px;border:1px solid var(--rule);background:var(--surface)}
.tbl{border-collapse:collapse;width:100%;font-size:15px;min-width:420px}
.tbl th{text-align:left;font:500 11px/1.3 var(--f-data);letter-spacing:.08em;
        text-transform:uppercase;color:var(--mut);padding:12px 14px;border-bottom:1px solid var(--rule)}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}

/* --- Врезка ------------------------------------------------------------------- */
.note{background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--mut);
      padding:16px 18px;margin:0 0 24px}
.note b{display:block;font:600 16px/1.4 var(--f-body);margin:0 0 6px}
.note p{margin:0;font-size:16px}
.note--warn{border-left-color:var(--seen)}
.note--ok{border-left-color:var(--hidden)}

/* --- Шаги --------------------------------------------------------------------- */
.steps{counter-reset:s;border-top:1px solid var(--rule);margin:0 0 24px}
.step{display:grid;grid-template-columns:44px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--rule)}
.step::before{counter-increment:s;content:counter(s,decimal-leading-zero);
      font:500 13px/1.6 var(--f-data);color:var(--mut)}
.step h3{margin:0 0 6px}
.step p{margin:0 0 8px;color:var(--mut);font-size:16px}
.step p:last-child{margin:0}
.path{font:500 13px/1.7 var(--f-data);background:var(--surface);border:1px solid var(--rule);
      padding:12px 16px;margin:0 0 24px;display:inline-block}

/* --- Карточки и строки -------------------------------------------------------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;
       background:var(--rule);border:1px solid var(--rule);margin:0 0 24px}
.card{background:var(--surface);padding:18px}
.card b{display:block;font:500 11px/1 var(--f-data);letter-spacing:.09em;color:var(--mut);
        margin-bottom:9px;text-transform:uppercase}
.card p{margin:0;font-size:15px}
.rows{border-top:1px solid var(--rule)}
.row-link{display:block;text-decoration:none;padding:14px 0;border-bottom:1px solid var(--rule)}
.row-link b{display:block;font:600 16px/1.4 var(--f-body)}
.row-link span{display:block;color:var(--mut);font-size:14px;margin-top:3px}
.row-link:hover b{text-decoration:underline}

/* --- SIGNATURE: реестр записей ------------------------------------------------ */
.ledger{background:var(--surface);border:1px solid var(--rule);margin:0 0 14px}
.ledger__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
     padding:14px 18px;border-bottom:1px solid var(--rule)}
.ledger__head h2{font:600 15px/1.3 var(--f-body);margin:0}
.ledger__head span{font:400 12px/1 var(--f-data);color:var(--mut)}
.row{display:grid;grid-template-columns:26px 58px 1fr 92px 62px;align-items:center;gap:14px;
     padding:13px 18px;border-bottom:1px solid var(--rule);cursor:pointer;transition:background .15s}
.row:hover{background:color-mix(in srgb,var(--paper) 60%,transparent)}
.row:last-of-type{border-bottom:0}
.box{width:17px;height:17px;border:1.5px solid var(--mut);position:relative;flex:0 0 17px}
.row.on .box{border-color:var(--hidden);background:var(--hidden)}
.row.on .box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
     border:solid var(--surface);border-width:0 2px 2px 0;transform:rotate(43deg)}
.row .tag{text-align:center;padding:5px 0;width:100%}
.val{position:relative;font:400 16px/1.4 var(--f-data);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Плашка едет шириной, а не transform: transform поднимает композитный слой
   и ломает захват скриншотов в проверочном браузере. */
.val::after{content:"";position:absolute;left:-4px;top:-2px;bottom:-2px;width:0;
     background:var(--bar);transition:width .26s cubic-bezier(.4,0,.2,1)}
.row.on .val::after{width:calc(100% + 8px)}
.state{font:500 10px/1 var(--f-data);letter-spacing:.1em;color:var(--seen)}
.row.on .state{color:var(--hidden)}
.price{font:500 14px/1 var(--f-data);color:var(--mut);text-align:right}
.row.on .price{color:var(--ink)}
.ledger__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;
     padding:16px 18px;background:var(--paper);border-top:1px solid var(--rule);flex-wrap:wrap}
.sum{font:400 14px/1.4 var(--f-body);color:var(--mut)}
.sum b{font:500 26px/1 var(--f-data);color:var(--ink);display:inline-block;min-width:104px;letter-spacing:-.02em}

/* --- Кнопки и призыв ---------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;gap:9px;background:var(--bar);color:var(--paper);
     text-decoration:none;font:500 15px/1 var(--f-body);padding:14px 22px;border:1px solid var(--bar);
     transition:opacity .15s}
.btn:hover{opacity:.86}
.btn .tg{font:500 13px/1 var(--f-data);opacity:.72}
@media (prefers-color-scheme:dark){.btn{color:#131318}}
.cta{margin:0 0 26px;border:1px solid var(--rule);background:var(--surface);padding:24px;
     display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.cta h3{font:600 20px/1.3 var(--f-dis);margin:0 0 6px}
.cta p{margin:0;color:var(--mut);font-size:15px;max-width:46ch}

/* --- FAQ ---------------------------------------------------------------------- */
.faq{margin:0 0 24px;border-top:1px solid var(--rule)}
.faq dt{font:600 17px/1.5 var(--f-body);padding:18px 0 6px}
.faq dd{margin:0;color:var(--mut);border-bottom:1px solid var(--rule);padding-bottom:18px}

/* --- Кадры -------------------------------------------------------------------- */
.shot{margin:0 0 24px;border:1px solid var(--rule);background:var(--surface);padding:12px}
.shot img{display:block;margin:0 auto;max-height:520px;width:auto}
.shot figcaption{font-size:13px;color:var(--mut);margin-top:10px;text-align:center}
.shot--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;
     min-height:150px;border-style:dashed}
.shot__code{font:500 12px/1 var(--f-data);letter-spacing:.12em;color:var(--mut)}

/* --- Хвост статьи ------------------------------------------------------------- */
.helpful{display:flex;align-items:center;gap:12px;margin:38px 0 0;padding:16px 0;
     border-top:1px solid var(--rule);font-size:14px;color:var(--mut)}
.helpful button{font:500 13px/1 var(--f-body);background:transparent;color:var(--ink);
     border:1px solid var(--rule);padding:9px 16px;cursor:pointer}
.helpful button:hover{border-color:var(--ink)}
.helpful.done button{display:none}
.also{margin:26px 0 0}
.also h2{font:600 18px/1.3 var(--f-body);margin:0 0 4px}

/* --- Подвал ------------------------------------------------------------------- */
.foot{margin-top:56px;border-top:1px solid var(--rule);padding:24px 0 40px;color:var(--mut);font-size:13px}
.foot p{margin:0 0 10px;max-width:72ch}
.foot__nav a{color:var(--mut);text-decoration:none}
.foot__nav a:hover{color:var(--ink)}

/* --- Страница перехода -------------------------------------------------------- */
body.bare{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}
body.bare .wrap{padding:0}
.go{width:100%;max-width:440px;margin:0 auto;text-align:center}
.go .mark{width:34px;height:34px;margin:0 auto 22px;display:block}
.go h1{font:600 24px/1.3 var(--f-dis);margin:0 0 8px}
.go__sub{color:var(--mut);font-size:15px;margin:0 0 26px}
.go__strip{background:var(--surface);border:1px solid var(--rule);text-align:left;padding:16px 18px;margin:0 0 22px}
.line{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;padding:7px 0}
.line .tag{text-align:center;padding:5px 0;width:100%}
.line .val{font-size:15px}
.line.on .val::after{width:calc(100% + 10px)}
.go__status{font:500 11px/1 var(--f-data);letter-spacing:.12em;color:var(--mut);
     border-top:1px solid var(--rule);margin-top:10px;padding-top:14px;display:flex;align-items:center;gap:9px}
.go__status.done{color:var(--hidden)}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1s infinite ease-in-out}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}
.go__status.done .dot{animation:none}
.go__bot{font:500 13px/1.5 var(--f-data);color:var(--mut);margin:16px 0 0}
.go__bot a{color:var(--ink)}

/* --- Мобильные ---------------------------------------------------------------- */
@media(max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .row{grid-template-columns:22px 50px 1fr 56px;gap:10px;padding:12px 14px}
  .price{display:none}
  .val{font-size:14px}
  .ledger__head{flex-direction:column;gap:4px}
  .ledger__foot{flex-direction:column;align-items:stretch;gap:14px}
  .btn{width:100%;justify-content:center;flex-wrap:wrap;text-align:center}
  .btn .tg{width:100%}
  .cta{flex-direction:column;align-items:stretch}
  .step{grid-template-columns:34px 1fr;gap:12px}
}
