/* Академия · Предметы и Источники (спека design/lds-os-window-standard.md §5.2, §3.6, §6).
   Только раскладка детали и свои мелкие знаки: шкала 0-10, посещения, полоска элемента формулы.
   Строки, чипы, вкладки, кнопки и состояния - компоненты ui-* (ui.css). Своих подложек, рамок и теней нет:
   угроза - тонированная плашка целиком без канта по краю (правило no-radial-edge-highlight). */

/* ── список ── */
.acs-list, .acs-dl, .asr-list { display: flex; flex-direction: column; gap: 2px; padding: 4px; }
.acs-tool-sum { min-width: 0; overflow: hidden; white-space: nowrap; font: var(--type-meta); color: var(--tx-2); }
.acs-row .ui-item__end { gap: 0; }

/* Шкала 0-10: 11 клеток, яркость - вероятность итога (--a от 0 до 1), левее 4 - оранжевым; черта - порог 4. */
.acs-scale { position: relative; display: inline-grid; grid-template-columns: repeat(11, 5px); gap: 1px; flex: none; height: 10px; }
.acs-scale > i { border-radius: 1.5px; background: color-mix(in srgb, var(--tx-2) calc(var(--a, 0) * 100%), var(--line)); }
.acs-scale > i.is-low { background: color-mix(in srgb, var(--hot) calc(var(--a, 0) * 100%), var(--line)); }
.acs-scale.is-empty > i { background: none; box-shadow: inset 0 0 0 1px var(--line-strong); }
.acs-scale__pass { position: absolute; top: -2px; bottom: -2px; left: 23.5px; width: 1px; border-radius: 1px; background: var(--tx-1); }
.acs-scale--l { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 2px; width: 100%; height: 12px; }
.acs-scale--l > i { border-radius: 3px; }
.acs-scale--l .acs-scale__pass { left: calc((100% + 2px) * 4 / 11 - 1.5px); top: -3px; bottom: -3px; width: 1.5px; }
.acs-axis { position: relative; display: flex; justify-content: space-between; margin-top: 6px; font: var(--type-micro); font-weight: 400; color: var(--tx-3); font-variant-numeric: tabular-nums; }
.acs-axis__pass { position: absolute; left: calc((100% + 2px) * 4 / 11 - 1.5px); transform: translateX(-50%); color: var(--tx-2); }
.acs-meter { width: 40px; }

/* Посещения: клетка на занятие, светлая - было, оранжевая - пропуск. */
.acs-att { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 2px; height: 12px; }
.acs-att > i { border-radius: 3px; background: var(--line); }
.acs-att > i.is-on { background: var(--tx-2); }
.acs-att > i.is-miss { background: var(--hot); }

/* ── деталь: шапка, вкладки, вид ── */
.acs-head { display: flex; align-items: center; gap: 12px; min-width: 0; margin-bottom: 12px; }
.acs-head__main { flex: 1; min-width: 0; }
.acs-title { margin: 0; font: var(--type-title); color: var(--tx-1); overflow-wrap: anywhere; }
.acs-meta { margin: 2px 0 0; font: var(--type-meta); color: var(--tx-3); }
.acs-discuss { flex: none; }
.acs-tabs { margin-bottom: 16px; }
.acs-pane { min-width: 0; }
.acs-h { margin: 20px 0 8px; font: var(--type-meta); font-weight: 500; color: var(--tx-3); }
.acs-cap { margin: 8px 0 0; font: var(--type-meta); color: var(--tx-3); }
.acs-cap.ui-tx-hot { margin-top: 16px; margin-bottom: 8px; color: var(--hot); }
.acs-read { margin: 8px 0 0; font: var(--type-read); color: var(--tx-1); }
.acs-none { margin: 12px 0 0; font: var(--type-read); color: var(--tx-2); }
.acs-state { margin-top: 24px; }
.acs-dl { padding: 8px 0 0; }

/* Числа модели: значение 17/600, подпись 12 --tx-3. */
.acs-stats { display: flex; flex-wrap: wrap; gap: 8px 32px; margin: 16px 0 0; }
.acs-stat { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.acs-stat__v { font: var(--type-title); color: var(--tx-1); font-variant-numeric: tabular-nums; }
.acs-stat__k { font: var(--type-meta); color: var(--tx-3); }

/* Угроза - красным блоком (§5.2): заливка --danger-wash целиком, радиус карточки, без канта. */
.acs-threat { margin: 16px 0 0; padding: 12px 16px; border-radius: var(--r-card); background: var(--danger-wash); }
.acs-threat__title { margin: 0; font: var(--type-ui); font-weight: 600; color: var(--danger); }
.acs-threat__text { margin: 4px 0 0; font: var(--type-read); color: var(--tx-1); }
.acs-threat__meta { margin: 8px 0 0; font: var(--type-meta); color: var(--tx-2); }

/* Формула: строка 44 - элемент и его срок, вес, полоска оценки и число. */
.acs-formula { margin-top: 8px; }
.acs-el { display: grid; grid-template-columns: minmax(0, 1fr) 48px 140px; align-items: center; gap: 12px; min-height: var(--h-row-list);
  padding: 4px 0; box-shadow: inset 0 -1px 0 var(--line-soft); }
.acs-el__name { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.acs-el__t { font: var(--type-ui); font-weight: 500; color: var(--tx-1); }
.acs-el__s { font: var(--type-meta); color: var(--tx-3); }
.acs-el__s.ui-tx-hot { color: var(--hot); }
.acs-el__w { font: var(--type-meta); color: var(--tx-2); text-align: right; font-variant-numeric: tabular-nums; }
.acs-el__v { display: flex; align-items: center; gap: 10px; }
.acs-el__n { width: 32px; flex: none; text-align: right; font: var(--type-ui); font-weight: 500; color: var(--tx-1); font-variant-numeric: tabular-nums; }
.acs-el__n.ui-tx-hot { color: var(--hot); }
.acs-bar { flex: 1; height: 4px; border-radius: 2px; background: linear-gradient(to right, var(--tx-2) calc(var(--p, 0) * 1%), var(--line) 0); }
.acs-bar.is-low { background: linear-gradient(to right, var(--hot) calc(var(--p, 0) * 1%), var(--line) 0); }
.acs-bar.is-pend { background: none; box-shadow: inset 0 0 0 1px var(--line); }

/* ── Источники (доля 2.6): строки чатов только для чтения, переход в Настройки ── */
.acs-go { margin-top: 20px; }
.asr-chats { display: flex; flex-direction: column; }
.asr-chat { cursor: default; padding: 0; border-radius: 0; box-shadow: inset 0 -1px 0 var(--line-soft); }
.asr-chat:hover { background: none; }
.asr-chat .ui-item__end .ui-dot { margin-right: 2px; }

/* ── «Путь до сессии» (доля 2.6): радиальная из claude-dex-c4.js, одно кольцо предмета, без своей рамки и подложек ── */
.acs-h--first { margin-top: 16px; }
.acs-sum { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 32px; }
.acs-sum__col { flex: 1 1 260px; min-width: 0; }
.acs-sum__col > .acs-h:first-child { margin-top: 0; }
.acs-dial { flex: none; width: 300px; margin: 0; }
.acs-dial__plate { position: relative; width: 300px; height: 300px; }
.acs-dial__svg { display: block; overflow: visible; }
.acs-dial__svg text { font-family: var(--font-ui); }
.acs-dial__svg .rim { fill: none; stroke: var(--line); stroke-width: 1; }
.acs-dial__svg .rim-past { fill: none; stroke: var(--tx-3); stroke-width: 1.5; }
.acs-dial__svg .rim-path { fill: none; stroke: var(--tx-2); stroke-width: 1.5; stroke-dasharray: 5 4; }
.acs-dial__svg .seg-t, .acs-dial__svg .wk-t { stroke: var(--line-strong); stroke-width: 1; }
.acs-dial__svg .sess { fill: none; stroke: var(--line-strong); stroke-width: 6; stroke-linecap: round; }
.acs-dial__svg .sess.next { stroke: var(--tx-3); }
.acs-dial__svg .seg-l { font-size: 11px; fill: var(--tx-3); }
.acs-dial__svg .seg-l.cur { fill: var(--tx-2); font-weight: 500; }
.acs-dial__svg .guide { fill: none; stroke: var(--line-soft); stroke-width: 1; }
.acs-dial__svg .span { fill: none; stroke: var(--tx-3); stroke-width: 1.75; stroke-linecap: round; }
.acs-dial__svg .span.past { stroke: var(--tx-1); }
.acs-dial__svg .span.none { stroke: var(--tx-3); stroke-dasharray: 2 5; }
.acs-dial__svg .band { fill: none; stroke: var(--tx-3); stroke-width: 3; stroke-dasharray: 1 5; stroke-linecap: round; }
.acs-dial__svg .band.meas { stroke: var(--tx-2); stroke-dasharray: none; stroke-width: 3.5; }
.acs-dial__svg .range { fill: none; stroke: var(--fill-pressed); stroke-linecap: round; }
.acs-dial__svg .dispute { fill: none; stroke: var(--hot); stroke-width: 2.5; stroke-linecap: round; }
.acs-dial__svg .dispute-end { fill: var(--hot); }
.acs-dial__svg .node .hit { fill: transparent; }
.acs-dial__svg .node .dot { fill: var(--tx-2); stroke: var(--win-solid); stroke-width: 1.5; }
.acs-dial__svg .node.low .dot { fill: var(--hot); }
.acs-dial__svg .node.ahead .dot { fill: var(--win-solid); stroke: var(--tx-2); stroke-width: 1.5; }
.acs-dial__svg .node.risk .dot { fill: var(--win-solid); stroke: var(--hot); stroke-width: 2; }
.acs-dial__svg .node text { font-size: 11px; font-weight: 600; fill: var(--on-light); pointer-events: none; font-variant-numeric: tabular-nums; }
.acs-dial__svg .node.risk text { fill: var(--hot); }
.acs-dial__svg .node.deadline .dia { fill: var(--tx-2); stroke: var(--win-solid); stroke-width: 1; }
.acs-dial__svg .node.deadline.you .dia { fill: var(--tx-1); }
.acs-dial__svg .node.deadline.threat .dia { fill: var(--hot); }
.acs-dial__svg .el-l { font-size: 11px; fill: var(--tx-1); paint-order: stroke; stroke: var(--win-solid); stroke-width: 3.5px; stroke-linejoin: round; pointer-events: none; }
.acs-dial__svg .el-l.risk { fill: var(--hot); }
.acs-dial__svg .el-l.ob { fill: var(--tx-3); }
.acs-dial__svg .needle { stroke: var(--tx-1); stroke-width: 1.25; opacity: .8; }
.acs-dial__svg .needle-tip { fill: var(--tx-1); }
.acs-core { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center;
  gap: 1px; pointer-events: none; text-align: center; white-space: nowrap; }
.acs-core__num { font: var(--type-num); color: var(--tx-1); font-variant-numeric: tabular-nums; }
.acs-core__num.is-none { color: var(--tx-3); }
.acs-core__cap { font: var(--type-micro); font-weight: 400; color: var(--tx-3); margin-bottom: 4px; }
.acs-core__line { font: var(--type-meta); color: var(--tx-2); font-variant-numeric: tabular-nums; }
.acs-core__line.ui-tx-hot, .acs-core__line .ui-tx-hot { color: var(--hot); }
.acs-legend { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 8px; font: var(--type-micro); font-weight: 400; color: var(--tx-3); }
.acs-legend__i { display: inline-flex; align-items: center; gap: 4px; }

/* Вид v3 (24.10): раздел открывается глубже из сайдбара, деталь стоит рядом с колонкой EDEM и бывает узкой.
   Имя предмета не рвётся по буквам, «Обсудить с EDEM» в узкой детали остаётся в строке заголовка окна,
   в строке над списком - только итог угроз и «демо». */
.acad-ld-dcol .acs-title { overflow-wrap: normal; }
@container det (max-width: 520px) { .acs-discuss { display: none; } }
.acs .acad-ld-tool .ui-toolbar__end > span:not(.ui-chip) { display: none; }
.asr .acad-ld-tool .acs-tool-sum { flex: 1; text-overflow: ellipsis; }
