/* ==== Страница статусов: тёмный золотой стиль платформы, без тяжёлых эффектов ==== */
.st-body { background: var(--d-bg0); color: var(--d-ink); min-height: 100vh; }
.st-body::before { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(120% 80% at 80% 110%, #1C2230 0%, var(--d-bg1) 45%, var(--d-bg0) 100%); }
.st-main { position: relative; z-index: 1; padding: calc(var(--hdr) + 28px) 0 80px; }
.st-view .wrap { display: grid; gap: 22px; }
.st-hdr .tabs { margin-left: auto; margin-right: auto; }
.tgl--edit[aria-pressed="true"] { border-color: var(--gold3); color: var(--gold4); }
.tgl--edit[aria-pressed="true"] i { background: var(--gold3); }
.tgl--edit[aria-pressed="true"] i::after { transform: translateX(12px); }

/* шапка экрана */
.st-meethead { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; }
.st-title { max-width: 30ch; margin-top: 10px; }
.st-sub { margin-top: 10px; }
.st-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.st-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: rgba(255,223,162,.14); font-size: 11.5px; color: var(--gold4); }
.st-select { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.st-sel, .st-inp, .st-ta { height: 40px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255,223,162,.25); background: rgba(255,255,255,.04); color: var(--d-ink); font-size: 14px; outline: none; font-family: 'Styrene B', 'Styrene A', sans-serif; }
.st-sel { appearance: none; -webkit-appearance: none; padding-right: 36px; background-image: linear-gradient(45deg, transparent 50%, var(--gold4) 50%), linear-gradient(135deg, var(--gold4) 50%, transparent 50%); background-position: calc(100% - 18px) 17px, calc(100% - 13px) 17px; background-size: 5px 5px; background-repeat: no-repeat; cursor: pointer; }
.st-sel option { background: #171c25; color: var(--d-ink); }
.st-sel:focus, .st-inp:focus, .st-ta:focus { border-color: var(--gold3); }
.st-ta { height: auto; min-height: 84px; padding: 10px 14px; resize: vertical; line-height: 1.4; }
.st-ib { width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(255,223,162,.25); color: var(--d-ink); display: inline-grid; place-items: center; font-size: 16px; line-height: 1; background: rgba(255,255,255,.03); }
.st-ib:hover { background: rgba(255,223,162,.12); }
.st-ib--sm { width: 28px; height: 28px; font-size: 13px; }
.st-danger { border-color: rgba(255,140,124,.4); color: #ff8c7c; }
.st-grow { flex: 1; }

/* блоки статуса */
.st-blocks { display: grid; gap: 18px; }
.st-block { position: relative; border-radius: var(--r-lg); background: var(--d-panel); border: 1px solid rgba(255,223,162,.14); padding: 22px 24px; }
.st-block__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.st-block__head .h3 { font-size: 22px; font-weight: 700; letter-spacing: -.01em; margin: 0; }
.st-block__head .cap { margin-left: 4px; }
.st-block__tools { margin-left: auto; display: flex; gap: 6px; }
.st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.st-grid--3 { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.st-empty { padding: 18px; border-radius: 14px; border: 1px dashed rgba(255,223,162,.25); color: var(--d-muted); font-size: 13.5px; text-align: center; }

/* карточка задачи */
.st-task { position: relative; border-radius: 18px; background: var(--d-card); border: 1px solid rgba(129,149,176,.12); padding: 16px 16px 14px; display: grid; gap: 8px; align-content: start; transition: border-color .25s; }
.st-task:hover { border-color: rgba(255,223,162,.35); }
.st-task__top { display: flex; align-items: flex-start; gap: 8px; }
.st-task__title { font-weight: 700; font-size: 15.5px; line-height: 1.25; flex: 1; }
.st-task__meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-family: 'Styrene B', sans-serif; font-size: 11.5px; color: var(--d-muted); }
.st-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 999px; font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .04em; border: 1px solid rgba(129,149,176,.3); color: var(--d-ink2); white-space: nowrap; }
.st-pill::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.st-pill[data-s="Готово"] { border-color: rgba(92,181,167,.5); color: #7ad0c1; }
.st-pill[data-s="В работе"] { border-color: rgba(255,223,162,.5); color: var(--gold4); }
.st-pill[data-s="Холд"] { border-color: rgba(255,140,124,.5); color: #ff9d8f; }
.st-pill[data-s="План"] { border-color: rgba(129,149,176,.5); color: #b6c4d8; }
.st-pill[data-s="Постоянная"] { border-color: rgba(160,140,255,.5); color: #c9bcff; }
.st-pill[data-s="Отменено"] { border-color: rgba(129,149,176,.3); color: var(--d-muted); text-decoration: line-through; }
.st-dir { font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--gold4); }
.st-due { font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-ink2); }
.st-due.late { color: #ff9d8f; }
.st-stages { display: flex; flex-wrap: wrap; gap: 4px 0; align-items: center; margin-top: 2px; }
.st-stage { display: inline-flex; align-items: center; gap: 6px; font-family: 'Styrene B', sans-serif; font-size: 11.5px; color: var(--d-muted); }
.st-stage i { width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid rgba(129,149,176,.5); display: inline-grid; place-items: center; font-size: 9px; }
.st-stage.done { color: var(--d-ink2); } .st-stage.done i { background: rgba(92,181,167,.25); border-color: #5CB5A7; color: #7ad0c1; }
.st-stage.cur { color: var(--gold4); } .st-stage.cur i { border-color: var(--gold3); box-shadow: 0 0 0 3px rgba(255,223,162,.15); background: var(--gold3); }
.st-stage + .st-stage::before { content: ''; width: 14px; height: 1px; background: rgba(129,149,176,.35); margin: 0 4px; }
.st-comment { font-family: 'Styrene B', sans-serif; font-size: 12.5px; color: var(--d-ink2); line-height: 1.4; white-space: pre-line; }
.st-effect { border-radius: 12px; padding: 10px 12px; background: linear-gradient(160deg, rgba(255,223,162,.14), rgba(255,223,162,.04)); border: 1px solid rgba(255,223,162,.3); font-size: 13px; }
.st-effect b { display: block; font-family: 'Styrene B', sans-serif; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold4); margin-bottom: 4px; }
.st-hist { border-top: 1px dashed rgba(129,149,176,.25); padding-top: 8px; display: grid; gap: 4px; }
.st-hist summary { cursor: pointer; font-family: 'Styrene B', sans-serif; font-size: 11.5px; color: var(--d-muted); list-style: none; }
.st-hist summary::before { content: ''; display: inline-block; width: 6px; height: 6px; margin: 0 8px 2px 2px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); transition: transform .2s; }
.st-hist[open] summary::before { transform: rotate(45deg); margin-bottom: 3px; }
.st-hist div { display: grid; grid-template-columns: 58px 1fr; gap: 8px; font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-ink2); line-height: 1.35; }
.st-hist div b { color: var(--d-muted); font-weight: 400; }
.st-task__tools { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 4px; }
.st-task__tools .btn { height: 30px; padding: 0 12px; font-size: 12px; }
.st-task--done { opacity: .78; }

/* курс */
.st-course .st-bar { height: 8px; border-radius: 999px; background: rgba(129,149,176,.2); overflow: hidden; margin-top: 4px; }
.st-course .st-bar i { display: block; height: 100%; width: var(--w, 0%); background: var(--gold-grad); border-radius: 999px; }
.st-course .st-bar.ok i { background: linear-gradient(90deg, #5CB5A7, #8ee0d2); }
.st-kv { display: flex; gap: 14px; flex-wrap: wrap; }
.st-kv div { display: grid; gap: 2px; }
.st-kv b { font-size: 20px; font-weight: 700; letter-spacing: -.01em; }
.st-kv span { font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--d-muted); }

/* было/стало, эффекты, метрики, гейм, digital */
.st-bs { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: stretch; }
.st-bs__col { border-radius: 14px; padding: 14px; background: rgba(255,255,255,.03); border: 1px solid rgba(129,149,176,.15); }
.st-bs__col b { display: block; font-family: 'Styrene B', sans-serif; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--d-muted); margin-bottom: 6px; }
.st-bs__col.after { background: linear-gradient(160deg, rgba(255,223,162,.14), rgba(255,223,162,.03)); border-color: rgba(255,223,162,.35); }
.st-bs__col.after b { color: var(--gold4); }
.st-bs__arrow { align-self: center; font-size: 22px; color: var(--gold3); }
.st-bs__title { font-weight: 700; font-size: 15px; margin-bottom: 8px; }
.st-metric { border-radius: 16px; background: var(--d-card); border: 1px solid rgba(129,149,176,.12); padding: 16px 18px; display: grid; gap: 6px; }
.st-metric b { font-size: clamp(28px, 2.6vw, 40px); line-height: 1; font-weight: 700; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-metric span { font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-muted); }
.st-rows { display: grid; gap: 8px; }
.st-row { display: grid; grid-template-columns: 110px 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 14px; background: var(--d-card); border: 1px solid rgba(129,149,176,.12); }
.st-row .lbl { font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--gold4); }
.st-row .t { font-weight: 700; font-size: 14px; }
.st-row .d { font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-ink2); margin-top: 2px; }
.st-game { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.st-step { border-radius: 14px; padding: 14px; background: var(--d-card); border: 1px solid rgba(129,149,176,.12); display: grid; gap: 6px; }
.st-step .n { font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--gold4); }
.st-step .t { font-weight: 700; font-size: 14px; line-height: 1.25; }

/* блок "что изменилось" */
.st-diff { display: grid; gap: 10px; padding: 18px 22px; }
.st-diff__head { display: flex; align-items: center; gap: 10px; }
.st-diff__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.st-diff__item { border-radius: 12px; padding: 10px 12px; background: rgba(255,255,255,.03); border: 1px solid rgba(129,149,176,.15); font-size: 13px; }
.st-diff__item b { display: block; font-family: 'Styrene B', sans-serif; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 4px; }
.st-diff__item[data-k="done"] b { color: #7ad0c1; } .st-diff__item[data-k="stage"] b { color: var(--gold4); } .st-diff__item[data-k="new"] b { color: #b6c4d8; } .st-diff__item[data-k="due"] b { color: #ff9d8f; } .st-diff__item[data-k="removed"] b { color: var(--d-muted); }

.st-addblock { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding: 14px 18px; border-radius: 16px; border: 1px dashed rgba(255,223,162,.3); }
.st-addblock__list { display: flex; gap: 6px; flex-wrap: wrap; }
.st-addblock__list .btn { height: 32px; padding: 0 12px; font-size: 12px; }

/* дорожка */
.st-filters { display: grid; grid-template-columns: 200px 160px 170px 1fr auto auto; gap: 10px; align-items: center; padding: 14px 16px; }
.st-chk { display: inline-flex; align-items: center; gap: 8px; font-family: 'Styrene B', sans-serif; font-size: 12.5px; color: var(--d-ink2); white-space: nowrap; }
.st-chk input { accent-color: #FFDFA2; }
.st-table { display: grid; gap: 6px; }
.st-tr { display: grid; grid-template-columns: 34px 1.6fr 150px 130px 100px 140px auto; gap: 12px; align-items: center; padding: 10px 14px; border-radius: 14px; background: var(--d-card); border: 1px solid rgba(129,149,176,.1); cursor: pointer; transition: border-color .2s, background .2s; }
.st-tr:hover { border-color: rgba(255,223,162,.35); background: var(--d-card2); }
.st-tr.head { background: none; border: 0; cursor: default; font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--d-muted); padding: 4px 14px; }
.st-tr.arch { opacity: .6; }
.st-tr .t { font-weight: 700; font-size: 14px; line-height: 1.25; }
.st-tr .s { font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-muted); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-tr .o { font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-ink2); }
.st-star { width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,223,162,.3); display: grid; place-items: center; color: var(--d-muted); font-size: 14px; }
.st-star.on { background: var(--plate-grad); color: #1c1608; border-color: transparent; }
.st-more { text-align: center; padding: 10px; }

/* календарь */
.st-cal { display: grid; gap: 16px; }
.st-cal__month { display: grid; gap: 8px; }
.st-cal__month .eyebrow { margin-bottom: 4px; }
.st-cal__row { display: grid; grid-template-columns: 90px 1fr 200px auto; gap: 12px; align-items: center; padding: 12px 16px; border-radius: 14px; background: var(--d-card); border: 1px solid rgba(129,149,176,.1); cursor: pointer; }
.st-cal__row:hover { border-color: rgba(255,223,162,.35); }
.st-cal__row .d { font-weight: 700; font-size: 16px; }
.st-cal__row .d small { display: block; font-family: 'Styrene B', sans-serif; font-size: 11px; color: var(--d-muted); font-weight: 400; letter-spacing: .06em; text-transform: uppercase; }
.st-cal__row.today { border-color: rgba(255,223,162,.6); background: linear-gradient(160deg, rgba(255,223,162,.1), var(--d-card) 60%); }
.st-cal__row.past { opacity: .55; }

/* модалка */
.st-modal { border: 0; padding: 0; background: transparent; width: min(640px, 94vw); max-height: 92vh; }
.st-modal--wide { width: min(980px, 94vw); }
.st-modal::backdrop { background: rgba(6,8,12,.7); backdrop-filter: blur(8px); }
.st-modal__card { background: rgba(20,24,33,.98); border: 1px solid rgba(255,223,162,.22); border-radius: 22px; box-shadow: 0 40px 120px rgba(0,0,0,.6); display: grid; grid-template-rows: auto 1fr auto; max-height: 92vh; }
.st-modal__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px 12px; }
.st-modal__title { margin: 0; font-size: 20px; }
.st-modal__body { padding: 6px 22px 16px; overflow: auto; display: grid; gap: 12px; }
.st-modal__foot { display: flex; gap: 10px; padding: 12px 22px 18px; border-top: 1px solid rgba(129,149,176,.15); }
.st-f { display: grid; gap: 6px; }
.st-f label { font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--d-muted); }
.st-f .st-inp, .st-f .st-sel, .st-f .st-ta { width: 100%; }
.st-f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.st-f3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.st-stagelist { display: grid; gap: 6px; }
.st-stagelist div { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; }
.st-stagelist input[type="text"] { height: 34px; }
.st-hint { font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-muted); }

/* история */
.st-snap { border-radius: 14px; border: 1px solid rgba(129,149,176,.15); background: var(--d-card); }
.st-snap summary { cursor: pointer; padding: 12px 16px; display: flex; gap: 12px; align-items: center; list-style: none; }
.st-snap summary::-webkit-details-marker { display: none; }
.st-snap summary b { font-size: 16px; }
.st-snap summary .cap { margin-left: auto; }
.st-snap__body { padding: 0 16px 16px; display: grid; gap: 10px; }
.st-snap__body .st-task { background: rgba(255,255,255,.03); }
.st-snap:first-child { border-color: rgba(255,223,162,.4); }

@media (max-width: 1100px) { .st-hdr .tabs { display: flex; } .st-filters { grid-template-columns: 1fr 1fr; } .st-tr { grid-template-columns: 34px 1fr 120px auto; } .st-tr .o, .st-tr .due { display: none; } }
@media (max-width: 900px) {
  .st-meethead { grid-template-columns: 1fr; } .st-actions { justify-content: flex-start; }
  .st-hdr { flex-wrap: wrap; height: auto; padding: 8px 14px; } .st-hdr .tabs { order: 3; width: 100%; margin: 6px 0 0; display: flex; } .st-hdr .tabs button { flex: 1; }
  .st-main { padding-top: 112px; }
  .st-bs { grid-template-columns: 1fr; } .st-bs__arrow { transform: rotate(90deg); justify-self: center; }
  .st-filters { grid-template-columns: 1fr; } .st-tr { grid-template-columns: 30px 1fr auto; } .st-tr .dir, .st-tr .st { display: none; }
  .st-cal__row { grid-template-columns: 70px 1fr; } .st-cal__row .p { grid-column: 2; }
  .st-f2, .st-f3 { grid-template-columns: 1fr; }
  .menu-btn span { display: none; }
}
[hidden] { display: none !important; }
.st-modal .st-tr { grid-template-columns: auto 1fr auto auto; }
.st-modal .st-tr .t { font-size: 13.5px; }

.st-clamp .st-clamp__full { display: none; }
.st-clamp.is-open .st-clamp__short { display: none; }
.st-clamp.is-open .st-clamp__full { display: inline; }
.st-clamp__btn { display: block; margin-top: 4px; font-family: 'Styrene B', sans-serif; font-size: 11.5px; color: var(--gold4); text-decoration: underline dotted; }
.st-modal { width: min(720px, 96vw); }
.st-ta { min-height: 110px; }

.st-multi { position: relative; }
.st-multi__btn { width: 100%; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st-multi__pop { position: absolute; left: 0; top: 46px; z-index: 30; width: 300px; max-height: 420px; overflow: auto; padding: 10px 12px; border-radius: 14px; background: rgba(20,24,33,.98); border: 1px solid rgba(255,223,162,.25); box-shadow: 0 24px 60px rgba(0,0,0,.6); display: grid; gap: 6px; }
.st-multi__group { font-family: 'Styrene B', sans-serif; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold4); margin-top: 8px; }
.st-multi__all { padding-bottom: 6px; border-bottom: 1px solid rgba(129,149,176,.2); }

/* цепочка было → сделали → сейчас → дальше */
.st-chain { border-radius: 16px; background: var(--d-card); border: 1px solid rgba(129,149,176,.12); padding: 18px 18px 14px; }
.st-chain__title { font-weight: 700; font-size: 15px; margin-bottom: 14px; }
.st-chain__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 0; }
.st-chain__step { position: relative; display: grid; justify-items: center; text-align: center; gap: 6px; padding: 0 10px; }
.st-chain__step i { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-weight: 700; font-size: 13px; color: #1c1608; background: var(--plate-grad); box-shadow: 0 0 0 5px rgba(255,223,162,.12); position: relative; z-index: 1; }
.st-chain__step:not(.last)::after { content: ''; position: absolute; top: 17px; left: 50%; width: 100%; height: 1px; background: linear-gradient(90deg, rgba(255,223,162,.7), rgba(255,223,162,.25)); }
.st-chain__step b { font-family: 'Styrene B', sans-serif; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold4); margin-top: 4px; }
.st-chain__step span { font-weight: 700; font-size: 13.5px; line-height: 1.25; }
.st-chain__step small { font-family: 'Styrene B', sans-serif; font-size: 11.5px; color: var(--d-muted); line-height: 1.35; }
.st-chainedit { display: grid; gap: 6px; }
.st-chainedit__row { display: grid; grid-template-columns: 110px 1fr 1fr auto; gap: 6px; align-items: center; }
.st-chainedit__row .st-inp { height: 34px; padding: 0 10px; font-size: 13px; }
@media (max-width: 900px) { .st-chain__track { grid-auto-flow: row; grid-auto-columns: auto; gap: 14px; } .st-chain__step { grid-template-columns: 34px 1fr; text-align: left; justify-items: start; column-gap: 12px; } .st-chain__step i { grid-row: 1 / 4; } .st-chain__step:not(.last)::after { left: 17px; top: 34px; width: 1px; height: calc(100% - 20px); } .st-chainedit__row { grid-template-columns: 1fr auto; } }

/* каналы: телефоны */
.st-phones { display: flex; gap: 22px; flex-wrap: wrap; align-items: flex-end; justify-content: center; padding: 10px 0 4px; }
.st-phone { width: 262px; border-radius: 34px; padding: 10px; background: linear-gradient(160deg, #2b3140, #0e1218); box-shadow: 0 30px 70px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.08); }
.st-phone__screen { border-radius: 26px; background: radial-gradient(120% 80% at 80% 110%, #1C2230 0%, var(--d-bg1) 45%, var(--d-bg0) 100%); padding: 22px 16px 18px; min-height: 380px; display: grid; align-content: start; gap: 12px; }
.st-phone__ch { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.st-phone__ch i { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--plate-grad); color: #1c1608; font-style: normal; font-size: 12px; }
.st-phone__ch span { font-family: 'Styrene B', sans-serif; font-weight: 400; font-size: 12px; color: var(--d-muted); }
.st-phone__post { border-radius: 14px; background: rgba(255,255,255,.05); padding: 12px 12px 10px; display: grid; gap: 7px; }
.st-phone__post b { font-size: 13px; }
.st-phone__post i { display: block; height: 6px; border-radius: 3px; width: var(--w); background: rgba(129,149,176,.35); }
.st-phone__er { display: grid; gap: 2px; margin-top: 6px; }
.st-phone__er b { font-size: 44px; line-height: 1; font-weight: 700; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-phone__er b small { font-size: 22px; }
.st-phone__er span { font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--d-ink2); }
.st-phone__next { border-radius: 12px; border: 1px dashed rgba(255,223,162,.35); padding: 10px 12px; font-family: 'Styrene B', sans-serif; font-size: 12px; line-height: 1.4; color: var(--d-ink); }
.st-phone .st-task__tools { margin-top: 6px; }
.st-phones .st-phone:nth-child(2n) { transform: translateY(18px); }
@media (max-width: 900px) { .st-phones .st-phone:nth-child(2n) { transform: none; } }

.st-course .st-bar { position: relative; overflow: visible; }
.st-course .st-bar u { position: absolute; left: var(--t, 80%); top: -4px; width: 2px; height: 16px; background: #fff; box-shadow: 0 0 0 2px rgba(10,13,18,.8); transform: translateX(-1px); }
.st-bar__scale { position: relative; height: 14px; font-family: 'Styrene B', sans-serif; font-size: 10.5px; color: var(--d-muted); }
.st-bar__scale span { position: absolute; top: 0; }
.st-bar__scale span:first-child { left: 0; } .st-bar__scale span:last-child { right: 0; }
.st-bar__scale .st-bar__tg { left: var(--t, 80%); transform: translateX(-50%); color: var(--gold4); }
.st-course .st-bar + .st-bar__scale { --t: inherit; }
.st-tr { grid-template-columns: 34px 1.6fr 150px 130px 100px 140px 120px; }
.st-tr > .cap:last-child { text-align: right; }
.st-view .wrap > * { min-width: 0; }
.st-tr > * { min-width: 0; }
.st-tr .t { overflow-wrap: anywhere; }
.st-bar__scale span { white-space: nowrap; }
.st-bar__scale { margin-bottom: 2px; }

/* видео в статусе */
.st-vwall { grid-template-columns: repeat(12, 1fr); grid-auto-rows: minmax(0, auto); }
.st-vwall .vtile { grid-column: span 3; display: grid; gap: 8px; }
.st-vwall .vtile:first-child { grid-column: span 6; grid-row: span 3; }
.st-vwall .vtile__frame { display: block; width: 100%; padding: 0; cursor: pointer; }
.st-vwall .vtile__poster { background: #0b0e14; }
.st-vwall .vtile__t { font-size: 15px; }
.st-vwall .st-task__tools { margin-top: 2px; }
.vmodal[hidden] { display: none; }
@media (max-width: 1100px) { .st-vwall .vtile, .st-vwall .vtile:first-child { grid-column: span 6; grid-row: auto; } }
@media (max-width: 700px) { .st-vwall .vtile, .st-vwall .vtile:first-child { grid-column: span 12; } }
.st-bar__scale .st-bar__tg { transform: translateX(-50%); max-width: none; }
.st-course .st-bar { margin-right: 0; }
.st-bar__scale { position: static; height: auto; margin-top: 4px; font-family: 'Styrene B', sans-serif; font-size: 10.5px; color: var(--d-muted); }

/* режим зрителя (РН): только курсы, без правок */
html.viewer #stTabs, html.viewer #stEdit, html.viewer #rmAdd, html.viewer #rmAddCourse, html.viewer .st-star, html.viewer #fInStatus, html.viewer #fArch { display: none !important; }
html.viewer .st-chk { display: none; }
html.viewer .st-tr { grid-template-columns: 1.6fr 150px 130px 100px 140px 120px; }
html.viewer .st-filters { grid-template-columns: 200px 160px 170px 1fr; }
html.viewer .st-modal .st-task { border: 0; background: none; padding: 0 0 8px; }

/* ==== режим показа ==== */
.st-present-btn { height: 34px; padding: 0 14px; font-size: 12.5px; }
html.presenting .st-hdr, html.presenting .st-addblock, html.presenting .st-meethead .st-actions, html.presenting .st-select .st-ib, html.presenting .dbstate, html.presenting .st-task__tools, html.presenting .st-hist, html.presenting .st-clamp__btn, html.presenting .st-clamp__full, html.presenting .st-bar__scale { display: none !important; }
html.presenting .st-main { padding-top: 40px; }
html.presenting .st-select { pointer-events: none; }
html.presenting .st-select .eyebrow, html.presenting .st-select .st-sel { opacity: .6; }
html.presenting .st-title { font-size: clamp(36px, 4vw, 60px); max-width: 40ch; }
html.presenting .st-sub { font-size: clamp(16px, 1.3vw, 20px); }
html.presenting .st-block, html.presenting .st-diff { scroll-margin-top: 30px; padding: 28px 30px; transition: box-shadow .4s, border-color .4s, opacity .4s; opacity: .55; }
html.presenting .st-block.is-current, html.presenting .st-diff.is-current { opacity: 1; border-color: rgba(255,223,162,.45); box-shadow: 0 30px 90px rgba(0,0,0,.45); }
html.presenting .st-block__head .h3 { font-size: 28px; }
html.presenting .st-task { padding: 20px; gap: 10px; }
html.presenting .st-task__title { font-size: 18px; }
html.presenting .st-comment { font-size: 13.5px; }
html.presenting .st-grid { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
html.presenting .st-kv b { font-size: 24px; }
html.presenting .st-phone__er b { font-size: 52px; }
.st-presbar { position: fixed; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 300; display: flex; align-items: center; gap: 14px; padding: 8px 10px 8px 16px; border-radius: 999px; background: rgba(14,18,26,.92); border: 1px solid rgba(255,223,162,.25); color: var(--d-ink); font-family: 'Styrene B', sans-serif; font-size: 12.5px; box-shadow: 0 14px 40px rgba(0,0,0,.4); }
.st-presbar #presPos { font-weight: 700; color: var(--gold4); }
/* компактные карточки в обычном режиме тоже: меньше служебного */
.st-task__meta { font-size: 11px; }
.st-comment { font-size: 12.5px; }
/* подсказка */
.st-tour { position: fixed; inset: 0; z-index: 350; display: grid; place-items: center; padding: 20px; background: rgba(6,8,12,.7); backdrop-filter: blur(8px); }
.st-tour__card { width: min(560px, 100%); border-radius: 22px; padding: 26px 28px 22px; background: rgba(20,24,33,.98); border: 1px solid rgba(255,223,162,.25); box-shadow: 0 40px 120px rgba(0,0,0,.6); }
.st-tour__rows { display: grid; gap: 10px; }
.st-tour__rows div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; align-items: start; font-family: 'Styrene B', sans-serif; font-size: 13px; color: var(--d-ink2); line-height: 1.4; }
.st-tour__rows b { font-family: 'Styrene A', sans-serif; color: var(--gold4); font-size: 13.5px; }
.st-tour__foot { display: flex; align-items: center; gap: 16px; margin-top: 18px; }
@media (max-width: 900px) { .st-tour__rows div { grid-template-columns: 1fr; gap: 2px; } }
#stLogout { font-size: 15px; color: var(--d-ink2); }
html.presenting #stLogout { display: none; }

/* ==== Режим просмотра только для чтения (ревью U-04): кнопки записи — только в режиме правки ==== */
html:not(.editing) #rmAdd, html:not(.editing) #rmAddCourse, html:not(.editing) #rmDirs, html.viewer #rmDirs, html:not(.editing) #calAdd, html:not(.editing) #btnSnapshot { display: none !important; }
html:not(.editing) #rmTable .st-star { pointer-events: none; cursor: default; }
html:not(.editing) #calList .st-cal__row { cursor: default; }

html.viewer #rmTable .st-tr.head > span:first-child { display: none; }
html.viewer #stPresent { display: none !important; }
@media (max-width: 900px) { .st-main { padding-top: calc(var(--st-hdr, 112px) + 16px); } }   /* ревью B-13 */
/* ревью A-10, A-04: зоны нажатия 44 px на тач-экранах, рамки полей заметнее */
@media (pointer: coarse) {
  .st-ib, .st-ib--sm { width: 44px; height: 44px; }
  .st-hdr .btn, .st-hdr .tgl, .st-hdr .menu-btn, .st-tabs button, .st-task__tools .btn, .st-modal__foot .btn { min-height: 44px; }
  #rmTable .st-star { min-width: 44px; min-height: 44px; }
}
.st-sel, .st-inp, .st-ta { border-color: rgba(255,223,162,.45); }
/* ревью U-07: заголовки колонок «Дорожки» — кнопки сортировки, выглядят как подписи */
.st-tr.head .st-sort { font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; text-align: left; padding: 0; background: none; border: 0; cursor: pointer; }
.st-tr.head .st-sort:hover { color: var(--gold4); }
.st-empty .btn { margin-left: 8px; height: 32px; }
html.presenting .st-block:has(.st-empty) { display: none; }   /* ревью U-13: в показе пустые блоки пропускаются */   /* ревью U-21: у РН нет блоков для показа */
/* ревью U-08: «Редактирование» доступно и на планшете/телефоне (style.css прячет .tgl в шапке ≤1100 px) */
.st-hdr #stEdit { display: inline-flex !important; }
@media (max-width: 900px) { .st-hdr #stEdit .l { font-size: 0; } .st-hdr #stEdit .l::after { content: 'Правка'; font-size: 12.5px; } }   /* у РН нет колонки ★ — заголовок «★» сдвигал шапку таблицы */

/* ==== Дорожка и экран РН на планшете и телефоне (ревью B-01) ====
   Правила .st-tr выше задают 7 колонок фиксированной ширины без медиазапроса и перебивают
   мобильные правила из начала файла: строка шириной ~800 px раздувала всю страницу.
   Колонки строки: ★ · задача · направление · статус · срок · ответственный · тип. */
@media (max-width: 1100px) {
  #rmTable .st-tr { grid-template-columns: 34px minmax(0, 1fr) 110px 84px auto; }
  html.viewer #rmTable .st-tr { grid-template-columns: minmax(0, 1fr) 110px 84px auto; }
  #rmTable .st-tr .dir, #rmTable .st-tr .o { display: none; }
  #rmTable .st-tr .due { display: block; }
  html.viewer .st-filters { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  /* телефон: ★ · задача (с подписью в несколько строк) · срок; статус, направление, ответственный и тип скрыты */
  #rmTable .st-tr { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 4px 10px; padding: 10px 12px; }
  html.viewer #rmTable .st-tr { grid-template-columns: minmax(0, 1fr) auto; }
  #rmTable .st-tr .st, #rmTable .st-tr > :last-child { display: none; }
  #rmTable .st-tr .due { justify-self: end; white-space: nowrap; }
  #rmTable .st-tr .s { white-space: normal; }
  html.viewer .st-filters { grid-template-columns: 1fr; }
}

/* ==== НИЖНЯЯ ГРАНИЦА КЕГЛЯ (ревью T-02, T-03): метаданные ≥ 12 px, текст строк ≥ 13 px, капс ≥ 12 px ==== */
.st-effect b, .st-bs__col b, .st-diff__item b, .st-multi__group, .st-chain__step b, .st-dir, .st-kv span, .st-row .lbl, .st-step .n,
.st-tr.head, .st-cal__row .d small, .st-f label, .st-phone__er span { font-size: 12px; letter-spacing: .06em; }
.st-bar__scale, .st-pill { font-size: 12px; }
.st-task__meta, .st-stage, .st-count, .st-hist summary, .st-clamp__btn, .st-chain__step small { font-size: 12.5px; }
.st-tr .s, .st-tr .o, .st-hint, .st-due { font-size: 13px; }

/* ==== ОС 24.09 ==== */
/* этапы в карточке: вертикальный список, кружок по первой строке, без чёрточек между этапами */
.st-stages { display: grid; gap: 5px; margin-top: 4px; }
.st-stage { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 8px; align-items: start; line-height: 1.3; }
.st-stage i { margin-top: 2px; }
.st-stage + .st-stage::before { display: none; }
/* курс: РН и выгрузка в правом углу, цифры по центру */
.st-course__corner { display: grid; justify-items: end; gap: 6px; flex-shrink: 0; max-width: 46%; }
.st-course__who { display: grid; justify-items: end; gap: 2px; text-align: right; font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-muted); line-height: 1.3; }
.st-kv--center { justify-content: center; text-align: center; gap: 22px; margin: 6px 0 2px; }
.st-kv--center div { justify-items: center; }
/* задачи на странице встречи: полосы, как строки курсов на лендинге */
.st-lead { font-size: clamp(20px, 1.7vw, 26px); font-weight: 700; letter-spacing: -.01em; line-height: 1.2; margin: -4px 0 16px; text-wrap: balance; }
.st-lead .teal { color: #7ad0c1; }
.st-trows { display: grid; gap: 10px; }
.st-trow { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'main side' 'bar bar' 'hist hist' 'tools tools'; gap: 10px 22px; padding: 16px 20px 14px; border-radius: 16px; }
.st-trow__main { grid-area: main; display: grid; gap: 8px; align-content: start; min-width: 0; }
.st-trow__title { font-weight: 700; font-size: clamp(16px, 1.25vw, 19px); line-height: 1.25; text-wrap: balance; }
.st-trow__now { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: baseline; font-size: 14px; line-height: 1.35; color: var(--d-ink); }
.st-trow__now b { font-family: 'Styrene B', sans-serif; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--gold4); white-space: nowrap; }
.st-trow__side { grid-area: side; display: grid; justify-items: end; align-content: start; gap: 8px; text-align: right; }
.st-trow__meta { display: grid; justify-items: end; gap: 3px; font-family: 'Styrene B', sans-serif; font-size: 12.5px; color: var(--d-muted); }
.st-trow__bar { grid-area: bar; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.st-trow__bar .track { position: relative; height: 10px; border-radius: 6px; background: rgba(129,149,176,.14); overflow: hidden; }
.st-trow__bar .track i { position: absolute; inset: 0 auto 0 0; width: var(--w, 0%); border-radius: 6px; background: var(--plate-grad); box-shadow: 0 0 24px rgba(255,223,162,.15); }
.st-trow__bar.ok .track i { background: linear-gradient(90deg, #5CB5A7, #8ee0d2); }
.st-trow__bar span { font-family: 'Styrene B', sans-serif; font-size: 12.5px; color: var(--gold4); white-space: nowrap; }
.st-trow__bar.ok span { color: #7ad0c1; }
.st-trow .st-hist { grid-area: hist; }
.st-trow .st-task__tools { grid-area: tools; }
.st-trow .st-effect { max-width: 640px; }
.st-trow--done { opacity: .82; border-color: rgba(92,181,167,.25); background: linear-gradient(160deg, rgba(92,181,167,.07), var(--d-card) 55%); }
.st-trow--done .st-trow__title { font-size: clamp(15px, 1.1vw, 17px); }
.st-trow--done .st-comment { display: none; }
html.presenting .st-trow { padding: 22px 26px 18px; gap: 12px 28px; }
html.presenting .st-trow__title { font-size: clamp(20px, 1.7vw, 26px); }
html.presenting .st-trow__now { font-size: 17px; }
html.presenting .st-trow__meta, html.presenting .st-trow__bar span { font-size: 13.5px; }
html.presenting .st-lead { font-size: clamp(26px, 2.3vw, 36px); margin-bottom: 22px; }
html.presenting .st-trow--done .st-comment { display: none; }
@media (max-width: 700px) { .st-trow { grid-template-columns: 1fr; grid-template-areas: 'side' 'main' 'bar' 'hist' 'tools'; } .st-trow__side { justify-items: start; text-align: left; } .st-trow__meta { justify-items: start; } .st-kv--center { gap: 14px; } }
/* выбор направлений галочками по группам РН */
.st-dirpick { display: grid; gap: 8px; }
.st-dirpick__top { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.st-dirpick__all { height: 32px; padding: 0 12px; font-size: 12px; }
.st-dirpick__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px 14px; }
.st-dirpick__grp { display: grid; gap: 5px; align-content: start; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.03); border: 1px solid rgba(129,149,176,.15); }
.st-dirpick__g { justify-self: start; padding: 0; background: none; border: 0; cursor: pointer; font-family: 'Styrene B', sans-serif; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--gold4); text-decoration: underline dotted; text-underline-offset: 3px; }
.st-dirpick__g:hover { color: #fff; }
.st-dirpick .st-chk { white-space: normal; font-size: 13px; }
.st-multi__grp { display: grid; gap: 6px; }
.st-multi__group { justify-self: start; padding: 0; background: none; border: 0; cursor: pointer; text-decoration: underline dotted; text-underline-offset: 3px; }
.st-multi__group:hover { color: #fff; }
/* этапы в форме: перетаскивание и стрелки */
.st-stagelist div { grid-template-columns: auto auto 1fr auto auto auto; }
.st-stagelist div.is-drag { opacity: .4; }
.stg-grip { cursor: grab; color: var(--d-muted); font-size: 14px; letter-spacing: -2px; user-select: none; padding: 0 2px; }
.st-stagelist .st-ib--sm { width: 26px; height: 26px; font-size: 12px; }
/* файлы в «было → стало» */
.st-medialist { display: grid; gap: 4px; }
.st-medialist__row { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding: 6px 10px; border-radius: 10px; background: rgba(255,255,255,.03); border: 1px solid rgba(129,149,176,.15); font-family: 'Styrene B', sans-serif; font-size: 13px; color: var(--d-ink2); }
.st-medianew { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.st-filebtn { height: 34px; padding: 0 14px; font-size: 12.5px; cursor: pointer; }
.st-media { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin-top: 12px; }
.st-media__it { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; padding: 0; border-radius: 12px; overflow: hidden; background: #0b0e14; border: 1px solid rgba(255,223,162,.18); cursor: zoom-in; transition: border-color .2s, transform .2s; }
.st-media__it:hover { border-color: rgba(255,223,162,.55); transform: translateY(-2px); }
.st-media__it img, .st-media__it video { width: 100%; height: 100%; object-fit: cover; display: block; }
.st-media__it .vtile__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
html.presenting .st-media { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.imodal img { width: 100%; max-height: 86vh; object-fit: contain; border-radius: 22px; background: #000; display: block; box-shadow: 0 40px 100px rgba(0,0,0,.7), 0 0 0 1px rgba(255,223,162,.25); }
.dbstate[data-mode="upload"] i { background: var(--gold3); }

/* ==== Типографика (ревью T-07, T-09): табличные цифры в колонках, знаки для капса ==== */
.st-kv b, .st-due, #rmTable .due, .st-metric b, .st-count, .st-cal__row .d { font-variant-numeric: tabular-nums; }
.st-tr.head, .st-dir, .st-kv span, .st-f label, .st-pill, .eyebrow { font-feature-settings: "case"; }
.st-title, .st-task__title { text-wrap: balance; }
@media (max-width: 1100px) { .st-hdr #stEdit .l { font-size: 0; } .st-hdr #stEdit .l::after { content: 'Правка'; font-size: 12.5px; } }   /* шапка status.html помещается при масштабе 150 %% */
/* ОС 24.09: карточки курсов шире, чтобы РН и выгрузка в углу не теснили название, а четыре цифры вставали в один ряд */
.st-block[data-block="courses"] .st-grid { grid-template-columns: repeat(auto-fill, minmax(370px, 1fr)); }
.st-course .st-task__title { font-size: 16px; }
.st-kv--center { flex-wrap: nowrap; gap: 18px; }
.st-kv--center div { min-width: 0; }
.st-kv--center span { white-space: nowrap; }
@media (max-width: 700px) { .st-block[data-block="courses"] .st-grid { grid-template-columns: 1fr; } .st-kv--center { flex-wrap: wrap; } }
.st-course__corner { max-width: 52%; min-width: 0; }
.st-course__who { min-width: 0; max-width: 100%; }
.st-course__who span { overflow-wrap: anywhere; }
.st-kv--center { gap: 14px; }
.st-kv--center span { white-space: normal; font-size: 11px; letter-spacing: .04em; }
/* метаданные полосы в одну строку под статусом; готовые задачи компактнее */
.st-trow__meta { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 3px 10px; max-width: 420px; }
.st-trow--done { padding: 12px 20px 10px; gap: 6px 22px; }
.st-trow--done .st-trow__main { align-self: center; }
.st-trow--done .st-trow__bar .track { height: 6px; }
.st-trow--done .st-hist { padding-top: 4px; }

/* ==== ОС 24.09: типографика. Styrene A широкий и тяжёлый — им только заголовки и цифры,
   весь обычный текст набираем Styrene B, он уже и легче; капс с разрядкой только у ярлыков ==== */
.st-body { font-family: 'Styrene B', 'Styrene A', 'Styrene Fallback', system-ui, sans-serif; line-height: 1.45; }
.st-body .h2, .st-body .h3, .st-title, .st-lead, .st-modal__title, .st-task__title, .st-trow__title, .st-bs__title, .st-chain__title, .st-tr .t,
.st-kv b, .st-metric b, .st-phone__er b, .st-effect div, .st-cal__row .d, .st-snap summary b, .st-step .t, .st-row .t, .st-chain__step span, .st-phone__ch b, .st-phone__post b, .lock__card .h2 { font-family: 'Styrene A', 'Styrene Fallback', system-ui, sans-serif; }
.st-body .btn, .st-body .tgl, .st-body .menu-btn, .st-tabs button { font-family: 'Styrene B', 'Styrene A', sans-serif; }
/* заголовки контрастнее, названия карточек легче: 9 длинных названий тестов в полужирном сливались в пятно */
.st-block__head .h3 { font-size: 24px; letter-spacing: -.015em; }
.st-task__title { font-weight: 500; font-size: 15.5px; line-height: 1.3; letter-spacing: -.005em; }
.st-course .st-task__title { font-size: 15.5px; }
.st-trow__title { font-weight: 700; }
.st-trow--done .st-trow__title { font-weight: 500; }
.st-tr .t { font-weight: 500; }
.st-modal .st-tr .t { font-weight: 500; }
/* тексты: комментарии, было/стало, эффекты, подсказки */
.st-comment { font-size: 13px; line-height: 1.5; color: var(--d-ink2); }
.st-bs__col { font-size: 14px; line-height: 1.5; }
.st-effect { font-size: 13px; line-height: 1.45; }
.st-trow__now { font-size: 14.5px; }
.st-trow__now span { font-weight: 400; }
.st-diff__item, .st-empty, .st-hint, .st-tour__rows div { font-family: 'Styrene B', sans-serif; }
/* капс с разрядкой только там, где это ярлык; галочки направлений и списки — обычным регистром */
.st-f .st-chk, .st-dirpick .st-chk, .st-multi__pop .st-chk { text-transform: none; letter-spacing: 0; font-size: 13px; color: var(--d-ink); }
.st-dir { letter-spacing: .04em; }
.st-task__meta { font-size: 12px; }
.st-kv span { letter-spacing: .04em; font-size: 11px; }
.st-pill { letter-spacing: .02em; }
.st-hist summary { text-transform: none; }
html.presenting .st-task__title { font-size: 17px; font-weight: 500; }
html.presenting .st-comment { font-size: 14px; }

/* ОС 24.09: без «микро-стрелочек» в интерфейсе; индикатор сортировки и кнопки этапов нарисованы, а не набраны символами */
.st-sortmark { display: inline-block; width: 0; height: 0; margin-left: 6px; vertical-align: middle; border-left: 4px solid transparent; border-right: 4px solid transparent; }
.st-sortmark.asc { border-bottom: 5px solid var(--gold4); }
.st-sortmark.desc { border-top: 5px solid var(--gold4); }
.stg-up svg, .stg-down svg { display: block; }
.stg-up:disabled, .stg-down:disabled { opacity: .3; }
/* ОС 24.09: серый текст в карточках сливался с фоном — контраст выше; курсы в «Истории» не режутся */
.st-body { --d-muted: #9BADC6; }
.st-stage { color: var(--d-ink2); }
.st-stage.done { color: var(--d-ink); opacity: .85; }
.st-comment { color: var(--d-ink); opacity: .9; }
.st-task__meta, .st-trow__meta { color: var(--d-ink2); }
.st-task__meta .st-due, .st-trow__meta .st-due { color: var(--d-ink2); }
.st-hist summary { color: var(--d-ink2); }
#historyModal .st-grid { grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); }
#historyModal .st-course { overflow: hidden; }
.st-snap__body .st-task { padding: 16px 18px 14px; }

/* ==== ОС 24.09, второй заход по контрасту ====
   Корень «чёрного текста»: у <dialog> браузерный цвет текста чёрный (CanvasText). Всё, что внутри окна не задавало свой цвет
   (заголовок окна, названия карточек и цифры в «Истории»), рисовалось чёрным по тёмному. Задаём цвет окну явно. */
dialog, .st-modal, .st-modal__card, .vmodal { color: var(--d-ink); }
/* приглушение готового и архивного — мягче, чтобы текст не уходил в серое */
.st-task--done { opacity: .92; }
.st-trow--done { opacity: .94; }
.st-tr.arch { opacity: .78; }
.st-cal__row.past { opacity: .72; }
html.presenting .st-block, html.presenting .st-diff { opacity: .72; }
.st-stage.done { opacity: 1; color: var(--d-ink2); }
.st-hist div b { color: var(--d-muted); }
.st-snap summary .cap { color: var(--d-ink2); }

/* ОС 24.09: блок «Каналы» — телефоны слева, сводка справа, пустых полей по краям нет */
.st-chanwrap { display: grid; grid-template-columns: auto minmax(260px, 1fr); gap: 20px 36px; align-items: start; }
.st-chanwrap .st-phones { justify-content: flex-start; padding: 6px 0 20px; }
.st-chansum { display: grid; gap: 18px; align-content: start; padding: 22px 24px; border-radius: 18px; background: var(--d-card); border: 1px solid rgba(129,149,176,.12); }
.st-chansum__kv { display: flex; gap: 28px; flex-wrap: wrap; }
.st-chansum__kv div { display: grid; gap: 4px; }
.st-chansum__kv b { font-family: 'Styrene A', sans-serif; font-size: clamp(34px, 3vw, 48px); line-height: 1; font-weight: 700; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-chansum__kv b small { font-size: .5em; }
.st-chansum__kv span { font-family: 'Styrene B', sans-serif; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--d-muted); }
.st-chansum__best, .st-chansum__next { display: grid; gap: 6px; padding-top: 14px; border-top: 1px dashed rgba(129,149,176,.25); }
.st-chansum__best b { font-family: 'Styrene A', sans-serif; font-size: 17px; }
.st-chansum__best > span:last-child { font-family: 'Styrene B', sans-serif; font-size: 13px; color: var(--d-ink2); }
.st-chansum__next div { display: grid; grid-template-columns: 120px 1fr; gap: 10px; font-family: 'Styrene B', sans-serif; font-size: 13px; line-height: 1.4; color: var(--d-ink2); }
.st-chansum__next div b { font-family: 'Styrene A', sans-serif; font-weight: 500; color: var(--d-ink); }
@media (max-width: 1100px) { .st-chanwrap { grid-template-columns: 1fr; } .st-chanwrap .st-phones { justify-content: center; } }


/* ==== ОС 24.09, разговор 12:49: блоки встречи как слайды ==== */
.st-slide__body { display: grid; grid-template-columns: minmax(300px, 5fr) 7fr; gap: 18px; align-items: stretch; }
.st-hero { position: relative; overflow: hidden; border-radius: 20px; padding: 26px 28px 24px; min-height: 340px; display: grid; align-content: end; background: linear-gradient(160deg, rgba(255,223,162,.16), rgba(255,223,162,.03) 45%, var(--d-card) 100%); border: 1px solid rgba(255,223,162,.32); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.st-hero__fig { position: absolute; right: -12%; top: -4%; height: 112%; width: auto; max-width: none; object-fit: contain; opacity: .5; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40%); mask-image: linear-gradient(90deg, transparent 0, #000 40%); }
.st-hero__in { position: relative; display: grid; gap: 6px; max-width: 64%; }
.st-hero__num { font-family: 'Styrene A', sans-serif; font-size: clamp(60px, 6.4vw, 104px); line-height: .92; font-weight: 700; letter-spacing: -.02em; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-hero__num small { font-size: .5em; }
.st-hero__cap { font-family: 'Styrene B', sans-serif; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--d-muted); }
.st-hero__lead { font-family: 'Styrene A', sans-serif; font-size: clamp(16px, 1.35vw, 20px); font-weight: 500; line-height: 1.3; margin-top: 8px; color: var(--d-ink); }
.st-hero__facts { display: flex; gap: 8px 24px; flex-wrap: wrap; margin-top: 12px; }
.st-hero__facts b { display: block; font-family: 'Styrene A', sans-serif; font-size: 22px; font-weight: 700; line-height: 1.1; }
.st-hero__facts span { font-family: 'Styrene B', sans-serif; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--d-muted); }
.st-hero__risk { margin-top: 14px; padding: 12px 14px; border-radius: 12px; border: 1px solid rgba(255,140,124,.35); background: rgba(255,140,124,.07); display: grid; gap: 6px; font-family: 'Styrene B', sans-serif; font-size: 13px; }
.st-hero__risk .cap { color: #ff9d8f; }
.st-hero__risk div { display: flex; justify-content: space-between; gap: 10px; color: var(--d-ink2); } .st-hero__risk b { color: #ff9d8f; white-space: nowrap; }
.st-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-content: start; }
.st-tiles .st-empty { grid-column: 1 / -1; align-self: center; }
.st-tile { display: grid; gap: 8px; align-content: start; padding: 16px 18px 14px; border-radius: 16px; background: var(--d-card); border: 1px solid rgba(129,149,176,.12); transition: border-color .25s; }
.st-tile:hover { border-color: rgba(255,223,162,.35); }
.st-tile__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.st-tile__title { font-family: 'Styrene A', sans-serif; font-weight: 500; font-size: 15.5px; line-height: 1.3; text-wrap: balance; }
.st-tile__now { display: grid; gap: 2px; font-family: 'Styrene B', sans-serif; font-size: 13px; line-height: 1.4; color: var(--d-ink); }
.st-tile__now b { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--gold4); }
.st-tile__bar { height: 7px; border-radius: 4px; background: rgba(129,149,176,.14); overflow: hidden; }
.st-tile__bar i { display: block; height: 100%; width: var(--w, 0%); border-radius: 4px; background: var(--plate-grad); }
.st-tile__bar.ok i { background: linear-gradient(90deg, #5CB5A7, #8ee0d2); }
.st-tile__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: center; font-family: 'Styrene B', sans-serif; font-size: 12px; color: var(--d-muted); }
.st-tile__nums { display: flex; gap: 6px 18px; flex-wrap: wrap; align-items: end; }
.st-tile__nums div { display: grid; gap: 2px; }
.st-tile__nums b { font-family: 'Styrene A', sans-serif; font-size: 26px; font-weight: 700; line-height: 1; }
.st-tile__nums b small { font-size: 13px; font-weight: 500; }
.st-tile__nums span { font-family: 'Styrene B', sans-serif; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--d-muted); }
.st-tile--course .st-bar { margin-top: 2px; }
.st-tile__big { font-family: 'Styrene A', sans-serif; font-size: clamp(30px, 2.8vw, 44px); font-weight: 700; line-height: 1; letter-spacing: -.01em; background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.st-tile--eff { background: linear-gradient(160deg, rgba(255,223,162,.1), var(--d-card) 60%); border-color: rgba(255,223,162,.25); }
.st-tile--done { opacity: .9; }
.st-tile .st-task__tools .btn { height: 28px; padding: 0 10px; font-size: 12px; }
.st-pager { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 14px; font-family: 'Styrene B', sans-serif; font-size: 12.5px; color: var(--d-muted); }
.st-pager__b { width: 32px; height: 32px; border-radius: 50%; border: 1px solid rgba(255,223,162,.35); background: rgba(255,255,255,.03); display: grid; place-items: center; color: var(--gold4); cursor: pointer; }
.st-pager__b:hover:not(:disabled) { background: rgba(255,223,162,.12); }
.st-pager__b:disabled { opacity: .3; cursor: default; }
.st-chev { display: block; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-top: 1.5px solid currentColor; transform: rotate(45deg); margin-left: -3px; }
.st-chev--l { transform: rotate(-135deg); margin-left: 3px; }
html.presenting .st-slide { min-height: calc(100vh - 84px); display: grid; grid-template-rows: auto 1fr auto; }
html.presenting .st-slide__body { gap: 22px; }
html.presenting .st-hero { min-height: 420px; }
html.presenting .st-tiles { gap: 18px; }
html.presenting .st-tile { padding: 20px 22px 16px; gap: 10px; }
html.presenting .st-tile__title { font-size: 18px; }
html.presenting .st-tile__now { font-size: 15px; }
html.presenting .st-tile__meta { font-size: 13px; }
html.presenting .st-tile__nums b { font-size: 32px; }
html.presenting .st-pager { font-size: 14px; }
@media (max-width: 1000px) { .st-slide__body { grid-template-columns: 1fr; } .st-hero { min-height: 240px; } .st-hero__in { max-width: 70%; } }
@media (max-width: 640px) { .st-tiles { grid-template-columns: 1fr; } .st-hero__in { max-width: 100%; } .st-hero__fig { opacity: .25; } }
/* картинка в собирательном элементе не наезжает на текст: правее, ниже, мягче */
.st-hero__fig { right: -22%; top: 2%; height: 104%; opacity: .42; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 55%); mask-image: linear-gradient(90deg, transparent 0, #000 55%); }
.st-hero__in { max-width: 66%; }
.st-hero__risk { max-width: 100%; }
html.presenting .st-slide { padding-bottom: 76px; }
html.presenting .st-tiles { align-content: stretch; grid-auto-rows: 1fr; }


/* ==== ОС 24.09 (вечер): стиль по конструктору СиВ ====
   Шрифт один — Styrene A LC, роль различается начертанием: Bold заголовки, Medium подзаголовки,
   Regular текст, Light сноски и подписи. Золото на тексте сплошное #FFDFA2. Второстепенный текст тёплый
   (как F0DBCA в дизайнерской колоде), сизый #8195B0 — только структура: стеклянные подложки. */
.st-body, .st-body .btn, .st-body .tgl, .st-body .menu-btn, .st-tabs button, .st-diff__item, .st-empty, .st-hint, .st-tour__rows div,
.st-comment, .st-task__meta, .st-trow__meta, .st-tile__meta, .st-tile__now, .st-hero__cap, .st-hero__facts span, .st-ring__in span,
.st-pill, .st-due, .st-dir, .st-stage, .st-hist summary, .st-hist div, .st-tr .s, .st-tr .o, .st-tr.head, .st-f label, .st-chk, .st-sel, .st-inp, .st-ta,
.st-kv span, .st-bar__scale, .st-multi__group, .st-effect b, .st-bs__col b, .st-chain__step b, .st-chain__step small, .st-tile__nums span,
.st-hero__risk, .st-chansum__kv span, .st-chansum__next div, .st-phone__ch span, .st-phone__er span, .st-phone__next, .st-pager, .st-clamp__btn, .st-count, .st-cal__row .d small,
.st-body .eyebrow, .st-body .cap, .st-body .lead, .st-medialist__row, .st-step .n, .st-row .lbl { font-family: 'Styrene A', 'Styrene Fallback', system-ui, sans-serif; }
.st-body { --d-ink2: #EBD9C3; --d-muted: #BFAF99; font-weight: 400; }
/* сноски и подписи — Light, капс-лейблы с разрядкой */
.st-body .cap, .st-hint, .st-task__meta, .st-trow__meta, .st-tile__meta, .st-tr .s, .st-hist summary, .st-hist div, .st-bar__scale, .st-chain__step small { font-weight: 300; }
.st-body .eyebrow, .st-kv span, .st-hero__facts span, .st-ring__in span, .st-tile__nums span, .st-tr.head, .st-f label, .st-tile__now b, .st-trow__now b, .st-effect b, .st-bs__col b, .st-chansum__kv span, .st-step .n, .st-row .lbl, .st-multi__group { font-weight: 500; letter-spacing: .12em; }
.st-pill { font-weight: 500; letter-spacing: .06em; }
.st-dir { font-weight: 500; letter-spacing: .1em; }
/* заголовки блоков: Bold капс с разрядкой + тонкая золотая линия, как заголовочный блок конструктора */
.st-block__head { flex-wrap: wrap; padding-bottom: 12px; margin-bottom: 18px; border-bottom: 1px solid transparent; border-image: linear-gradient(90deg, rgba(255,223,162,.7), rgba(255,223,162,.12) 60%, transparent) 1; }
.st-block__head .h3 { font-size: 19px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.st-block__head .cap { font-weight: 400; letter-spacing: .02em; text-transform: none; }
/* подзаголовки и названия — Medium; текст в плитках Regular */
.st-tile__title, .st-task__title, .st-tr .t, .st-trow__title, .st-bs__title, .st-chain__title, .st-chansum__best b { font-weight: 500; }
.st-hero__lead { font-weight: 500; }
.st-tile__now span, .st-comment { font-weight: 400; }
/* золото на тексте — сплошное, без градиента (по конструктору); контраст веса: жирный капс рядом с крупной СВЕТЛОЙ цифрой */
.st-ring__in b, .st-tile__big, .st-metric b, .st-chansum__kv b, .st-phone__er b, .st-lead .gold, .st-body .gold { background: none; -webkit-background-clip: initial; background-clip: initial; -webkit-text-fill-color: #FFDFA2; color: #FFDFA2; }
.st-ring__in b { font-weight: 400; letter-spacing: -.01em; }
.st-tile__big, .st-chansum__kv b, .st-metric b, .st-tile__nums b { font-weight: 400; }
.st-hero__facts b { font-weight: 400; font-size: 24px; }
.st-kv b { font-weight: 400; font-size: 22px; }
/* бирюза — функциональный акцент: пройдено, выполнено, ссылки */
.st-tile__nums b.teal, .st-body .teal { color: #5CB5A7; -webkit-text-fill-color: #5CB5A7; }
.st-clamp__btn { color: #5CB5A7; }
/* стеклянные карточки: сизый на прозрачности + тень «парения» (blur 7 / dist 8 / 45° / 33%), скругления единые */
.st-tile, .st-task, .st-chansum, .st-bs__col, .st-diff__item, .st-tr, .st-cal__row, .st-chain, .st-metric { background: rgba(129,149,176,.08); border-color: rgba(129,149,176,.16); box-shadow: 6px 6px 7px rgba(0,0,0,.33); }
.st-tile, .st-task, .st-chansum, .st-chain, .st-metric { border-radius: 18px; }
.st-tile--eff { background: linear-gradient(160deg, rgba(255,223,162,.12), rgba(129,149,176,.08) 60%); }
.st-bs__col.after { background: linear-gradient(160deg, rgba(255,223,162,.16), rgba(129,149,176,.06)); }
.st-hero { background: linear-gradient(160deg, rgba(255,223,162,.14), rgba(129,149,176,.06) 50%, rgba(10,13,18,.6) 100%); border-color: rgba(255,223,162,.3); box-shadow: 6px 6px 7px rgba(0,0,0,.33), inset 0 1px 0 rgba(255,255,255,.05); }
/* собирательный элемент: героиня справа, слева ярлык → кольцо → вывод → факты */
.st-hero { grid-template-columns: 1fr; align-content: end; }
.st-hero::before, .st-hero::after { display: none; }
.st-hero__icon { display: none; }
.st-hero__fig { display: block; position: absolute; right: -6%; bottom: -2%; top: auto; height: 104%; width: auto; max-width: 62%; object-fit: contain; object-position: right bottom; opacity: .95; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 28%); mask-image: linear-gradient(90deg, transparent 0, #000 28%); }
.st-hero__in { position: relative; z-index: 1; max-width: 58%; align-self: end; gap: 10px; }
.st-ring { width: clamp(132px, 10.5vw, 160px); margin: 6px 0 2px; align-self: start; justify-self: start; }
.st-ring svg { filter: drop-shadow(0 0 12px rgba(255,223,162,.2)); }
.st-ring__in b { font-size: clamp(30px, 2.6vw, 40px); }
.st-ring__in span { font-size: 10px; letter-spacing: .08em; }
.st-hero__facts { gap: 6px 22px; margin-top: 4px; }
html.presenting .st-ring { width: clamp(170px, 13vw, 210px); }
html.presenting .st-ring__in b { font-size: clamp(38px, 3.4vw, 52px); }
html.presenting .st-hero__in { max-width: 56%; }
@media (max-width: 640px) { .st-hero__in { max-width: 100%; } .st-hero__fig { opacity: .3; max-width: 80%; } }
/* плашки — золотая капсула конструктора */
.st-pill[data-s="В работе"] { background: rgba(255,223,162,.1); }
.st-pill[data-s="Готово"] { background: rgba(92,181,167,.1); }
/* базовые стили кольца-шкалы: значение и подпись внутри кольца */
.st-ring { position: relative; aspect-ratio: 1; }
.st-ring svg { width: 100%; height: 100%; display: block; }
.st-ring__in { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; gap: 3px; padding: 0 20px; }
.st-ring__in b { display: block; line-height: 1; }
.st-ring__in span { display: block; text-transform: uppercase; color: var(--d-muted); line-height: 1.2; }
.st-hero__fig { right: -4%; max-width: 48%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 38%); mask-image: linear-gradient(90deg, transparent 0, #000 38%); }
.st-hero__in { max-width: 56%; }
.st-hero__risk { max-width: 300px; }


/* ==== Правила «Ебейшего конструктора» (актуальный скилл, замеры «Стратсессии») — приоритет над старым гайдом ==== */
/* золото на тексте ВСЕГДА градиентом #A78861→#C1A173→#FFDFA2, плашки #F4DBB1→#DABD9C→#B98D6E */
.st-ring__in b, .st-tile__big, .st-metric b, .st-chansum__kv b, .st-phone__er b, .st-lead .gold, .st-body .gold, .st-hero__facts b.gold { background: linear-gradient(135deg, #A78861 0%, #C1A173 45%, #FFDFA2 100%); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.st-body .h2 .gold, .st-title .gold { background: linear-gradient(135deg, #A78861, #C1A173 45%, #FFDFA2); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
/* заголовок без линии под ним */
.st-block__head { border-bottom: 0; border-image: none; padding-bottom: 4px; margin-bottom: 16px; }
/* панель-контейнер #191725 с золотой hairline, растворяющейся к краю; тень только у панели. Карточки внутри #282538 без тени */
.st-block { background: #191725; border: 1px solid transparent; border-image: linear-gradient(135deg, rgba(255,223,162,.55), rgba(255,223,162,.12) 40%, rgba(255,223,162,0) 70%, rgba(255,223,162,.3)) 1; border-radius: 0; box-shadow: 0 18px 50px rgba(0,0,0,.45); position: relative; }
.st-block { border-radius: 19px; border-image: none; }
.st-block::before { content: ''; position: absolute; inset: 0; border-radius: 19px; padding: 1px; background: linear-gradient(135deg, rgba(255,223,162,.55), rgba(255,223,162,.1) 40%, rgba(255,223,162,0) 70%, rgba(255,223,162,.35)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.st-tile, .st-task, .st-chansum, .st-bs__col, .st-diff__item, .st-tr, .st-cal__row, .st-chain, .st-metric, .st-trow { background: #282538; border-color: rgba(255,255,255,.04); box-shadow: none; border-radius: 13px; }
.st-tile--eff { background: linear-gradient(160deg, rgba(255,223,162,.12), #282538 60%); }
.st-bs__col.after { background: linear-gradient(160deg, rgba(255,223,162,.16), #282538 70%); }
.st-tiles { gap: 15px; }
/* герой перекрывает панель и уходит за край собирательного элемента */
.st-hero { overflow: visible; background: linear-gradient(160deg, rgba(255,223,162,.12), #282538 55%, #201d2c 100%); border-color: rgba(255,223,162,.22); box-shadow: none; border-radius: 13px; }
.st-hero__fig { bottom: -1px; height: 116%; max-width: 50%; right: -8%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 32%), linear-gradient(#000, #000); mask-image: linear-gradient(90deg, transparent 0, #000 32%); z-index: 2; }
.st-hero__in { z-index: 3; }
.st-slide__body { overflow: visible; }
.st-block--tasks, .st-slide { overflow: visible; }
/* число и единица разным кеглем, контраст масштаба число↔подпись */
.st-tile__nums b small, .st-ring__in b small, .st-hero__num small { font-size: .5em; }
.st-hero__facts b { font-size: 26px; }
.st-hero__facts span, .st-tile__nums span, .st-ring__in span { font-size: 10px; }
/* герой уходит за верхний край собирательного элемента, но не на соседние плитки */
.st-hero { overflow: visible; }
.st-hero__fig { right: 0; max-width: 46%; height: 112%; bottom: 0; clip-path: inset(-20% 0 0 0); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%); mask-image: linear-gradient(90deg, transparent 0, #000 30%); }
.st-hero--courses .st-hero__fig { max-width: 42%; }
/* герой: в границах своей панели по ширине, по высоте чуть выше верха панели */
.st-hero__fig { clip-path: none; height: 106%; bottom: 0; top: auto; right: 2%; max-width: 46%; object-position: right bottom; }
.st-hero { overflow: hidden; }
.st-hero--tasks .st-hero__fig { max-width: 50%; }

/* ==== Слайды статуса (24.09): подсказка показа гаснет через несколько секунд; старые блоки-полосы .st-trow и плитки .st-tile в режиме встречи не используются, колода в css/deck.css ==== */
.st-presbar { transition: opacity .6s; }
.st-presbar.fade { opacity: 0; pointer-events: none; }
html.presenting .st-presbar { z-index: 320; }

/* ==== 25.09: «буквы скачут» в мелком тексте ====
   Причина: блок «ОС 24.09 (вечер)» выше перевёл сноски, подписи, поля и мета-строки 11–13 px на Styrene A,
   а часть — на Light 300. Styrene A — заголовочный геометрический шрифт: на экране 100 % его тонкие штрихи
   и круглые буквы (а, о, е, с) ложатся на пиксели неровно, строка «прыгает» по высоте и толщине.
   По бренду мелкий текст — Styrene B (текстовый рез), не тоньше Regular. Заголовки, цифры, кнопки, капс-метки .eyebrow остаются в Styrene A. */
.st-hint, .st-comment, .st-diff__item, .st-empty, .st-tour__rows div, .st-task__meta, .st-trow__meta, .st-tile__meta, .st-tile__now, .st-hero__cap,
.st-hero__facts span, .st-ring__in span, .st-pill, .st-due, .st-dir, .st-stage, .st-hist summary, .st-hist div, .st-tr .s, .st-tr .o, .st-tr.head,
.st-f label, .st-chk, .st-sel, .st-inp, .st-ta, .st-kv span, .st-bar__scale, .st-multi__group, .st-effect b, .st-bs__col b, .st-chain__step b,
.st-chain__step small, .st-tile__nums span, .st-hero__risk, .st-chansum__kv span, .st-chansum__next div, .st-phone__ch span, .st-phone__er span,
.st-phone__next, .st-pager, .st-clamp__btn, .st-count, .st-cal__row .d small, .st-body .cap, .st-medialist__row, .st-step .n, .st-row .lbl, .st-counter {
  font-family: 'Styrene B', 'Styrene Fallback', system-ui, sans-serif; }
.st-body .cap, .st-hint, .st-task__meta, .st-trow__meta, .st-tile__meta, .st-tr .s, .st-hist summary, .st-hist div, .st-bar__scale, .st-chain__step small { font-weight: 400; }
