/* Инструменты гидов (21.10.2026, разбор разделов): лист со скотчем, как текст статьи; калькулятор, отрывки, два текста, файл */
/* 22.10 (вечер, design 7): отступы и скругления — токены шкалы из site.css (--tw-s1…s9, --tw-r-s/l/pill), верх липких
   блоков — --tw-stick (inner.css); значения вне таблицы, 1–3 px, отрицательные и места, где сдвиг вышел бы больше 4 px, — числами */
.tw-tsheet{position:relative;max-width:820px;margin-top:var(--tw-s5);padding:clamp(24px,3vw,40px);border-radius:var(--tw-r-l);background:var(--tw-box-bg)}
.tw-tsheet::before{content:none}
.tw-tsheet h2{margin:0;font-size:var(--tw-fs-title);font-weight:780;line-height:1.1;text-wrap:balance}
/* 22.10 (design 9): внутри листа — вклеенная бумажка со скотчем, а не серая рамка «ящик в листе» */
.tw-readsheet .tw-tsheet{max-width:none;margin-top:var(--tw-s6)}
/* своя кнопка «Listen» у двух текстов вместо плеера браузера (design 4) */
.tw-pair-b{min-height:44px;padding:0 var(--tw-s4);font-size:var(--tw-fs-ui)}
.tw-pair-b svg{width:18px;height:18px}
.tw-pair-b.is-on{background:var(--tw-ink);color:var(--tw-sheet)}
.tw-tool .tw-cards{margin-top:var(--tw-s5)}
.tw-tool .tw-deck{margin-top:var(--tw-s4);max-width:560px}
.tw-tfrom{margin-top:var(--tw-s4);font-size:var(--tw-fs-ui);color:var(--tw-ink-2)}
.tw-tfrom a{font-weight:650;color:var(--tw-link)}
/* калькулятор */
.tw-calc[hidden],[data-calc-off][hidden]{display:none}
.tw-calc-r{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr) 44px;align-items:center;gap:var(--tw-s2) var(--tw-s4);margin-top:var(--tw-s4)}
.tw-calc-r label{font-weight:650}
.tw-calc-r select,.tw-calc-r input[type=number]{grid-column:2/4;min-height:48px;padding:0 var(--tw-s4);border:1.5px solid rgba(23,20,15,.3);border-radius:var(--tw-r-s);background:#fff;font:inherit;font-size:var(--tw-fs-ui);color:var(--tw-ink)}
.tw-calc-r select{-webkit-appearance:none;appearance:none;padding-right:var(--tw-s7);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 6l4.5 4.5L12.5 6' stroke='%231B2638' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center/16px 16px;cursor:pointer}
.tw-calc-r select:focus-visible,.tw-calc-r input:focus-visible{outline:2.5px solid var(--tw-ink);outline-offset:2px}
.tw-calc-r input[type=range]{width:100%;min-height:44px;accent-color:var(--tw-ink)}
.tw-calc-r output{font-weight:750;font-variant-numeric:tabular-nums;text-align:right}
.tw-calc-r[hidden]{display:none}
/* 22.10 (вечер): подсказка под полем «Your hours» — «From 10 to 5,000 hours» (tools.js проверяет границы) */
.tw-calc-n{grid-column:2/4;margin-top:-2px;font-size:var(--tw-fs-small);line-height:1.4;color:var(--tw-ink-2)}
.tw-calc-res{margin-top:var(--tw-s5);padding:var(--tw-s4) 0 var(--tw-s2);border-top:1.5px dashed rgba(23,20,15,.3);font-size:var(--tw-fs-h3);font-weight:780;line-height:1.2;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
/* отрывки из выпусков */
.tw-clips{list-style:none;display:grid;gap:0}
.tw-clips>li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 14px;align-items:start;padding:var(--tw-s4) 0;border-bottom:1px solid rgba(23,20,15,.14)}
.tw-clips>li:last-child{border-bottom:0}
.tw-clips>li>div{grid-column:2}
/* 22.10 (вечер, design 10): круглая кнопка звука — 44, как голосовые и тренажёр (была 48) */
.tw-clip-b{grid-column:1;grid-row:1;display:grid;place-items:center;width:var(--tw-btn-h-s);height:var(--tw-btn-h-s);border:0;border-radius:50%;background:var(--tw-ink);color:#FBF8F2;cursor:pointer}
.tw-clip-b[hidden]{display:none}
.tw-clip-b svg{width:20px;height:20px}
/* 22.10 (A8): играет — значок паузы и кольцо, не только цвет (жёлтый на экране — только главная кнопка) */
.tw-clip-b .i-pause,.tw-clip-b.is-on .i-play{display:none}
.tw-clip-b.is-on .i-pause{display:block}
.tw-clip-b.is-on{box-shadow:0 0 0 3px var(--tw-paper),0 0 0 5px var(--tw-ink)}
.tw-clip-m{font-size:var(--tw-fs-label);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--tw-ink-3)}
.tw-clip-m b{color:var(--tw-ink)}
.tw-clip-es{margin-top:var(--tw-s1);font-size:var(--tw-fs-read);font-weight:650;line-height:1.35;color:var(--tw-ink)}
.tw-clip-en{margin-top:2px;font-size:var(--tw-fs-ui);color:var(--tw-ink-2)}
.tw-clip-go{display:inline-flex;align-items:center;min-height:44px;font-size:var(--tw-fs-small);font-weight:650;color:var(--tw-link)}
/* два текста рядом */
.tw-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,40px)}
.tw-pair-col p{margin-top:var(--tw-s3);font-size:var(--tw-fs-body);line-height:1.55;color:var(--tw-ink)}
.tw-pair-col .tw-pair-h{margin-top:0;font-size:var(--tw-fs-label);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--tw-ink-3)}
.tw-pair mark{padding:0 2px;color:inherit;background:linear-gradient(transparent 55%,rgba(245,192,12,.6) 0)}
.tw-pair audio{width:100%;margin-top:var(--tw-s4)}
.tw-pair-go a{font-weight:650;color:var(--tw-link)}
.tw-pair-n{grid-column:1/-1}
/* файл слов */
.tw-csv-h{font-weight:700}
.tw-csv .tw-table{margin-top:var(--tw-s3)}
.tw-csv p:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tw-s3) var(--tw-s4);margin-top:var(--tw-s4)}
.tw-csv-ep{display:inline-flex;align-items:center;min-height:44px;font-weight:650;color:var(--tw-link)}
@media (max-width:760px){
  .tw-pair{grid-template-columns:minmax(0,1fr)}
  .tw-calc-r{grid-template-columns:minmax(0,1fr) 44px}
  .tw-calc-r label{grid-column:1/-1}
  .tw-calc-r select,.tw-calc-r input[type=number],.tw-calc-n{grid-column:1/-1}
}
/* 22.10, вечер: проверка произношения (pronTool, pron.js). Одна фраза крупно, слова — отдельными кусками: слово с
   замечанием подчёркнуто карандашом; «Say it» — жёлтая кнопка, во время записи — красная точка; под ней одна подсказка. */
.tw-pron{max-width:760px}
.tw-pron-top{display:flex;align-items:center;justify-content:space-between;gap:var(--tw-s3);margin:0;font-size:var(--tw-fs-small);font-weight:650;color:var(--tw-ink-3)}
.tw-pron-nav{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--tw-r-pill);background:var(--tw-sheet);box-shadow:inset 0 0 0 1.5px rgba(23,20,15,.18);font-size:var(--tw-fs-body);font-weight:700;color:var(--tw-ink);cursor:pointer}
.tw-pron-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--tw-s5)}
.tw-pron-top:not([hidden])+.tw-pron-list{margin-top:var(--tw-s4)}
.tw-pron-card[hidden]{display:none}
.tw-pron-es{margin:0;font-size:clamp(28px,3.2vw,40px);font-weight:720;line-height:1.2;letter-spacing:-.02em;color:var(--tw-ink);text-wrap:balance}
.tw-pron-w{border-radius:var(--tw-r-s);transition:background-color .3s}
.tw-pron-w.is-fix{padding-bottom:6px;background:var(--tw-pu) 0 100%/100% 9px no-repeat;color:var(--tw-pen-ink)}
.tw-pron-en{margin:var(--tw-s2) 0 0;font-size:var(--tw-fs-body);color:var(--tw-ink-3)}
.tw-pron-hear{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tw-s2);margin:var(--tw-s4) 0 0;font-size:var(--tw-fs-small);font-weight:650;color:var(--tw-ink-3)}
.tw-pron-hear[hidden]{display:none}
.tw-pron-play{min-height:44px;padding:0 var(--tw-s4);font-size:var(--tw-fs-ui)}
.tw-pron-play svg{width:16px;height:16px}
.tw-pron-act{margin-top:var(--tw-s5);padding-top:var(--tw-s5);border-top:1.5px dashed rgba(23,20,15,.2)}
.tw-pron-act p{margin:0}
.tw-pron-say{gap:var(--tw-s2)}
.tw-pron-dot{width:12px;height:12px;border-radius:50%;background:var(--tw-sun-ink)}
.tw-pron-say.is-rec{background:var(--tw-red);color:#fff}
.tw-pron-say.is-rec .tw-pron-dot{background:#fff;animation:tw-pron-pulse 1s ease-in-out infinite}
@keyframes tw-pron-pulse{50%{opacity:.3}}
.tw-pron-say[disabled]{opacity:.6;cursor:progress}
.tw-pron-act .tw-pron-state{margin-top:var(--tw-s3);font-size:var(--tw-fs-ui);line-height:1.45;color:var(--tw-ink-2)}
.tw-pron-state:empty{display:none}
.tw-pron-res{margin-top:var(--tw-s4);padding:var(--tw-s4) var(--tw-s5);border-left:3px solid var(--tw-pen);border-radius:0 var(--tw-r-s) var(--tw-r-s) 0;background:rgba(118,99,182,.09)}
.tw-pron-res[hidden]{display:none}
.tw-pron-act .tw-pron-lab{font-size:var(--tw-fs-label);font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--tw-pen-ink)}
.tw-pron-act .tw-pron-word{margin-top:var(--tw-s1);font-size:var(--tw-pen-fs)}
.tw-pron-act .tw-pron-tip{margin-top:var(--tw-s2);font-size:var(--tw-fs-body);line-height:1.5;color:var(--tw-ink)}
.tw-pron-act .tw-pron-priv{margin-top:var(--tw-s4);color:var(--tw-ink-3)}
@media (prefers-reduced-motion:reduce){.tw-pron-say.is-rec .tw-pron-dot{animation:none}.tw-pron-w{transition:none}}
