/* 10-surfaces.css — накладной слой поверхностей капсулы TeamON One.
   Зачем существует: боевой app.css построен на модели «полупрозрачный белый оверлей
   поверх тёмного» (--surface-soft / --line / --line-strong объявлены как
   rgba(255,255,255,…) в app.css:10–12, color-scheme: dark в app.css:2). На светлом
   фоне лендинга team-on.io эта модель перестаёт работать: белый оверлей на молоке
   невидим. Файл подключается ПОСЛЕ app.css и перебивает заливки, линии, тени,
   радиусы и декоративные слои. Разметку, имена классов и app.css он не трогает —
   правка полностью обратима отключением одного <link>.

   Зона файла: ПОВЕРХНОСТИ, ЛИНИИ, ТЕНИ, ДЕКОР.
   Вне зоны: типографика, кегли, экраны входа (.login-shell / .login-card),
   мобильные ширины. Что сознательно не тронуто — перечислено в конце файла. */


/* ==========================================================================
   1. ТОКЕНЫ
   Главная точка рычага: 68 обращений к var(--line), все var(--surface-soft)
   и var(--shadow) переворачиваются одним переопределением :root.
   ========================================================================== */

:root {
  /* Светлая схема вместо color-scheme: dark из app.css:2.
     Это же чинит нативные скроллбары, чекбоксы и календари внутри форм. */
  color-scheme: light;

  /* Палитра публичного лендинга (marketing-site/public/app.css:2–13). */
  --milk: #f5f8ef;
  --paper: #ffffff;
  --green: #16d34f;
  --violet: #7657e8;

  /* Рабочие подложки, выведенные из палитры. Заменяют белый оверлей:
     там, где app.css клал rgba(255,255,255,.02….09) поверх тёмного,
     новый язык кладёт бумагу или чуть притенённое молоко. */
  /* --paper-soft удалён: ноль обращений во всём web-public. Для вложенных
     блоков компонентный слой уже завёл --rc-sunken, и мёртвый токен с
     правдоподобным именем провоцировал взять его вместо живой пары. */
  --mist: #eef3e9;         /* смена подложки вместо разделительной линии */
  --mist-strong: #e4ebdf;  /* нажатое / выбранное состояние */

  /* Переопределение токенов app.css:3–18. */
  --cosmos-base: #f5f8ef;
  --cosmos-line: #e2e8dc;
  --surface: #ffffff;
  --surface-strong: #ffffff;
  /* --surface-soft здесь больше не переобъявляется: 00-tokens.css:67 объявил
     его как var(--green-soft) — мягкую зелёную плашку выбранного состояния, —
     а это значение делало его копией --mist двумя строками выше, и «выбрано»
     переставало отличаться от «просто другая подложка». Итоговое значение
     закреплено в 70-fixes.css, раздел 26.2. */
  --line: #dfe5dc;
  --line-strong: #cfd7cd;

  /* Текстовые токены: без них светлая конверсия нечитаема (--ink был #ececf1).
     Это минимум ради контраста, а не заявка на типографическую зону —
     слой типографики грузится позже и перебьёт эти три значения. */
  --ink: #101713;
  --muted: #4d5751;
  --muted-2: #77817b;

  /* Одна мягкая тень нового дизайна вместо 85 объявлений box-shadow
     с 60 уникальными значениями (marketing-site/public/editorial.css:10). */
  --shadow: 0 18px 60px rgba(16, 23, 19, .06);
  --card-shadow: 0 18px 60px rgba(16, 23, 19, .06);

  /* --accent-bright здесь больше не объявляется. За это имя спорили три файла
     слоя — 00-tokens.css, этот и 50-a11y.css, — и на стенде побеждало
     последнее объявление, чернильное #101713; фиолетовое значение отсюда
     до экрана не доезжало ни в одном состоянии. Спор решён в пользу кольца
     фокуса слоя доступности, запись — в 70-fixes.css, раздел 26.1. */

  /* Шкала радиусов. В app.css её нет вообще: 244 объявления border-radius
     на 37 разных значениях. Значения взяты из мобильной ступени лендинга
     (--card-radius: 32px, --inset-radius: 24px, editorial.css:1253–1254):
     56px из десктопной ступени в плотном интерфейсе с кеглем 15px
     превращает карточку в таблетку. */
  --r-shell: 32px;    /* окна, диалоги, ящики, полноэкранные полотна */
  --r-card: 24px;     /* карточки, панели, крупные листы */
  --r-inset: 16px;    /* вложенные блоки внутри карточки */
  --r-control: 12px;  /* кнопки, поля ввода, вкладки */
  --r-chip: 9px;      /* мелкие метки, счётчики, иконочные кнопки */
}

/* Токены общей оболочки Space (teamon-workspace-shell.css:7–9).
   Там они объявлены через :where(), поэтому обычного селектора хватает. */
[data-teamon-workspace-shell] {
  --teamon-workspace-shell-bg: #f5f8ef;
  --teamon-space-rail-bg: #ffffff;
  --teamon-space-line: #e2e8dc;
}

/* Точечные color-scheme: dark на отдельных полях и диалоге. */
.task-form textarea,
.task-form input,
.task-form select,
.academy-family-dialog,
.academy-answer-field textarea,
.academy-judgment-fields textarea,
.academy-judgment-fields select,
.connector-setup-panel .provider-form input,
.provider-form select,
.credential-field input { color-scheme: light; }


/* ==========================================================================
   2. ФОН СТРАНИЦЫ И ОБОЛОЧЕК
   Радиальные «свечения» в фонах оболочек — типовой AI-приём, гасим их
   и оставляем ровное молочное поле.
   ========================================================================== */

body { background: var(--milk); }

.boot-shell,
.app-shell { background: var(--milk); }

.app-shell.team-edition { background: var(--milk); }

.chat-stage { background: transparent; }


/* ==========================================================================
   3. ДЕКОРАТИВНЫЕ СЛОИ — ГАСИМ
   Гасим визуально, узлы остаются в DOM: particle-scene.js импортируется
   в app.js и обращается к #particle-canvas. Удаление узла уронило бы скрипт.
   display: none безопасен — particle-scene.js:136 читает
   `canvas.clientWidth || innerWidth`, то есть при нулевой ширине падает
   на innerWidth, а не делит на ноль.
   ========================================================================== */

/* Звёзды и орбитальное кольцо загрузочного экрана (app.css:77–92). */
.boot-cosmos { display: none; }

/* Виньетка загрузочного экрана (app.css:71–76). */
.boot-shell::after { display: none; }

/* Орбита с точками на экране входа (app.css:114–122).
   Сам .login-card и .login-shell не трогаем — чужая зона. */
.login-orbit { display: none; }

/* Сетка окружения (app.css:157–162) и её team-вариант (app.css:1814–1818). */
.ambient-grid,
.app-shell.team-edition .ambient-grid { display: none; }

/* Виньетка рабочей оболочки (app.css:163–168) и её team-вариант (app.css:1819–1825).
   Обе — один и тот же псевдоэлемент, display не объявлен ни в одном из них,
   поэтому обычного селектора достаточно. */
.app-shell::after,
.app-shell.team-edition::after { display: none; }

/* Днём canvas остаётся лёгким и прозрачным, но несколько фиолетовых
   кристаллов медленно движутся. Reduced Motion оставляет статичный кадр. */
.particle-canvas,
#particle-canvas {
  display: block;
  opacity: .28;
  filter: saturate(.62);
}

/* Точечные «шумовые» накладки на полотнах (app.css:1293–1297, 2395–2399). */
.onboarding-canvas::before,
.journey-canvas::before { display: none; }

/* Затемняющая линза поверх иллюстрации академии (app.css:1052–1055). */
.academy-activity-art::after { display: none; }

/* Пульс загрузочной марки анимировал свечение box-shadow (app.css:97–100).
   Переобъявляем keyframes с тем же именем: остаётся дыхание масштабом. */
@keyframes boot-breathe {
  from { transform: scale(.94); opacity: .78; box-shadow: none; }
  to { transform: scale(1); opacity: 1; box-shadow: none; }
}


/* ==========================================================================
   4. СТЕКЛО СНЯТО
   Стекло снято со всех backdrop-filter боевого файла, кроме двух групп:
   .login-card (app.css:126) — экран входа, чужая зона; и мобильные
   .team-rail-backdrop (app.css:2226) и тултип (app.css:2327). Ещё четыре
   объявления в app.css уже были none (529, 1840, 2077, 2175).
   На светлом поле размытие не читается, а слой композитинга остаётся.
   ========================================================================== */

.session-account,
.account-menu,
.glass-button,
.round-button,
.task-create-panel,
.task-list-panel,
.conversation-lanes,
.starter-prompt,
.work-surface,
.studio-input-mode,
.academy-family-dialog::backdrop,
.composer-frame,
.drawer-backdrop,
.team-space-menu,
.workbench.canvas-full .chat-stage,
.workbench.canvas-full .journey-canvas.studio.has-live-site .journey-progress-rail,
.app-shell.studio-has-section-tabs .space-surface-tabs { backdrop-filter: none; }


/* ==========================================================================
   5. ТЕНИ
   Одна мягкая тень на все приподнятые поверхности. Тени, несущие смысл,
   сохранены отдельно — см. группу 13.
   ========================================================================== */

.account-menu,
.team-space-menu,
.studio-input-mode,
.academy-family-dialog,
.workbench.canvas-full .chat-stage,
.studio-dialogue-dragging .chat-stage,
.conversation-lanes,
.composer-frame { box-shadow: var(--card-shadow); }

/* Тени, которые в новом языке не нужны вовсе: карточки лежат на молоке,
   иерархию держит смена подложки, а не подъём. */
.onboarding-canvas,
.academy-activity,
.academy-activity-art,
.academy-prompt-card,
.academy-practice-card,
.academy-family-panel,
.builder-panel,
.journey-stage.current,
.academy-path-step.current .academy-path-node,
.academy-path-step-copy,
.conversation-lane.active,
.send-button,
.brand-mark,
.session-avatar,
.academy-agent-orb,
.app-shell.studio-has-section-tabs .space-surface-tabs,
.workbench.canvas-full .composer-frame,
.team-space-option[aria-selected="true"] .team-space-option-symbol,
.app-shell.team-edition.team-rail-collapsed .team-project.active,
.app-shell.team-edition.team-rail-collapsed .team-project[aria-current="page"] { box-shadow: none; }

/* Наведение и фокус композера: тень уходит, остаётся акцентное кольцо. */
.composer-frame:focus-within { box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .18); }
.send-button:hover:not(:disabled) { box-shadow: var(--card-shadow); }


/* ==========================================================================
   6. КРУПНЫЕ ПЛАВАЮЩИЕ ПОВЕРХНОСТИ
   Меню, ящики, диалоги, док-панели: бумага, крупный радиус, без обводки.
   Обводки снимаем через border-color: transparent, а не border: 0 —
   ширина рамки сохраняется, компоновка не сдвигается.
   ========================================================================== */

.account-menu {
  border-color: transparent;
  border-radius: var(--r-card);
  background: var(--paper);
}

.team-space-menu {
  border-color: transparent;
  border-radius: var(--r-card);
  background: var(--paper);
}

.studio-input-mode {
  border-color: transparent;
  border-radius: var(--r-card);
  background: var(--paper);
  color: var(--ink);
}

.drawer {
  border-left-color: transparent;
  background: var(--paper);
}

.academy-family-dialog {
  border-color: transparent;
  border-radius: var(--r-shell);
  background: var(--paper);
  color: var(--ink);
}

/* Затемняющие подложки под ящиком и диалогом: мягкая чернильная вуаль
   вместо непрозрачного чёрного. */
.drawer-backdrop { background: rgba(16, 23, 19, .26); }
.academy-family-dialog::backdrop { background: rgba(16, 23, 19, .3); }

/* Рабочая поверхность справа: молочная, отделена сменой подложки. */
.work-surface { background: var(--paper); }
.app-shell.team-edition .work-surface { background: var(--paper); }
.workbench.canvas-full .work-surface { background: var(--milk); }

/* Плавающее окно диалога в полноэкранном режиме студии. */
.workbench.canvas-full .chat-stage {
  border-color: transparent;
  border-radius: var(--r-shell);
  background: var(--paper);
}

/* Панель боковых панелей задач (app.css:301). */
.task-create-panel,
.task-list-panel { background: var(--paper); }


/* ==========================================================================
   7. КАРТОЧКИ И ПАНЕЛИ
   Один приём на всю группу: бумага, прозрачная обводка, --r-card.
   Это перебивает основной массив rgba(255,255,255,.015….035) из app.css.
   ========================================================================== */

.panel,
.mission-card,
.skill-card,
.academy-card,
.space-item,
.canvas-result,
.world-member,
.world-member-add,
.world-invite-result,
.native-module-card,
.activity-sheet,
.knowledge-sheet,
.connection-list,
.journey-focus,
.journey-fields,
.journey-start,
.journey-canvas,
.onboarding-canvas,
.onboarding-card,
.builder-panel,
.tool-card,
.artifact-card,
.work-event,
.academy-family-panel,
.academy-family-item,
.academy-family-metrics article,
.academy-learning-summary article,
.academy-activity,
.academy-prompt-card,
.academy-practice-card,
.academy-path-step-copy,
.academy-path-history-copy,
.academy-current-evidence,
.academy-judgment-fields,
.space-event-receipt,
.learning-editor,
.browser-route,
.browser-request,
.browser-pairing,
.chatgpt-auth,
.provider-access,
.skill-review details {
  border-color: transparent;
  background: var(--paper);
}

/* Крупные полотна получают крупный радиус. */
.journey-canvas,
.onboarding-canvas,
.academy-activity,
.academy-family-panel { border-radius: var(--r-shell); }

/* Обычные карточки — средний. */
.panel,
.mission-card,
.skill-card,
.academy-card,
.space-item,
.canvas-result,
.world-member,
.world-member-add,
.world-invite-result,
.activity-sheet,
.knowledge-sheet,
.connection-list,
.journey-focus,
.journey-fields,
.journey-start,
.onboarding-card,
.builder-panel,
.tool-card,
.artifact-card,
.academy-family-item,
.academy-family-metrics article,
.academy-learning-summary article,
.academy-prompt-card,
.academy-practice-card,
.academy-path-step-copy,
.academy-path-history-copy { border-radius: var(--r-card); }

/* Вложенные и мелкие блоки — малый. */
.native-module-card,
.work-event,
.space-event-receipt,
.learning-editor,
.browser-route,
.browser-request,
.browser-pairing,
.chatgpt-auth,
.provider-access,
.academy-current-evidence,
.academy-judgment-fields,
.skill-review details { border-radius: var(--r-inset); }

/* Карточки со смысловым акцентом остаются подкрашенными, но плоскими:
   у app.css здесь были радиальные свечения и тёмные градиенты. */
.mission-card,
.academy-learning-summary article,
.space-event-receipt,
.journey-start,
.world-member-add,
.world-invite-result,
.browser-pairing { background: rgba(var(--accent-rgb), .05); }

.academy-current-evidence { background: rgba(22, 211, 79, .07); }

.academy-family-panel { background: var(--paper); }

/* Карточка активности академии: убираем тёмный градиент, оставляем
   иллюстрацию без затемняющей линзы (её ::after погашен в группе 3). */
.academy-activity { background: var(--paper); }
.academy-activity-art { border-color: var(--line); }

/* Плашки и «листы» задач. */
.activity-sheet,
.knowledge-sheet,
.connection-list { background: var(--paper); }

.academy-family-status { background: rgba(22, 211, 79, .08); }
.academy-action-status { background: rgba(var(--accent-rgb), .07); }

/* Полотно студии с живым сайтом (app.css:2594–2597). */
.workbench.canvas-full .journey-canvas.studio.has-live-site {
  border-radius: var(--r-card);
  background: var(--paper);
}

.workbench.canvas-full .journey-canvas.studio.has-live-site .journey-progress-rail {
  border-color: transparent;
  border-radius: var(--r-control);
  background: var(--mist);
}

.builder-site,
.builder-site-loading {
  border-color: transparent;
  border-radius: var(--r-card);
  background: var(--paper);
}


/* ==========================================================================
   8. ПОЛЯ ВВОДА, КОД, ЦИТАТЫ
   В боевом файле поля залиты почти чёрным (#0c0b11, #0f0f12, #0d0c11)
   или белым оверлеем. На бумаге поле отличается от карточки подложкой,
   а не рамкой.
   ========================================================================== */

.task-form textarea,
.task-form input,
.task-form select,
.identity-form input,
.identity-form textarea,
.connector-setup-panel .provider-form input,
.provider-form select,
.credential-field input,
.academy-answer-field textarea,
.academy-judgment-fields textarea,
.academy-judgment-fields select,
.academy-family-dialog input,
.academy-family-dialog textarea,
.academy-family-dialog select,
.space-judgment-form textarea,
.learning-editor textarea,
.learning-editor input,
.learning-editor select,
.world-member-role,
.world-member-add select,
.chatgpt-device {
  border-color: transparent;
  border-radius: var(--r-control);
  background: var(--mist);
  color: var(--ink);
}

/* Фокус поля: подложка светлеет до бумаги, добавляется акцентная рамка. */
.task-form textarea:focus,
.task-form input:focus,
.task-form select:focus,
.identity-form input:focus,
.identity-form textarea:focus,
.provider-form select:focus,
.credential-field input:focus,
.learning-editor textarea:focus,
.learning-editor input:focus,
.learning-editor select:focus {
  border-color: rgba(var(--accent-rgb), .45);
  background: var(--paper);
}

/* Код и преформат: молочная плита вместо чёрной. */
.bubble pre,
.canvas-body pre,
.skill-review pre {
  border-color: transparent;
  border-radius: var(--r-inset);
  background: var(--mist);
  color: var(--ink);
}

.bubble code { background: var(--mist); }

/* Цитата в академии: смысловая полоса слева остаётся, фон светлеет. */
.academy-passage {
  border-radius: 0 var(--r-inset) var(--r-inset) 0;
  background: var(--mist);
  color: var(--ink);
}


/* ==========================================================================
   9. ЭЛЕМЕНТЫ УПРАВЛЕНИЯ
   Средний радиус, подложка вместо обводки.
   ========================================================================== */

.glass-button,
.round-button {
  border-color: transparent;
  background: var(--mist);
  color: var(--ink);
}

.round-button:hover,
.glass-button:hover {
  border-color: transparent;
  background: var(--mist-strong);
}

.glass-button { border-radius: var(--r-control); }

.composer .round-button { background: var(--mist); }
.composer .round-button:hover {
  border-color: transparent;
  background: var(--mist-strong);
}

/* Кнопка отправки: чернильный круг вместо серой шайбы с двойной тенью. */
.send-button {
  background: var(--ink);
  color: var(--milk);
}

.task-tabs,
.segmented {
  border-color: transparent;
  border-radius: var(--r-control);
  background: var(--mist);
}

.task-tab,
.segmented button,
.nav-item,
.work-tab { border-radius: var(--r-chip); }

.task-tab.active,
.nav-item.active,
.work-tab.active { background: var(--paper); }

.space-item-action,
.work-expand,
.space-rating button,
.journal-filters button,
.browser-request-actions button,
.browser-request-actions a,
.academy-family-actions button,
.academy-family-item button,
.academy-family-stage-row button,
.academy-order-token,
.academy-order-controls button,
.academy-voice-controls button,
.journey-open,
.work-surface-rail-chevron,
.team-rail-toggle,
.studio-input-mode button {
  border-color: transparent;
  background: var(--mist);
  color: var(--ink);
}

.space-item-action,
.work-expand,
.space-rating button,
.work-surface-rail-chevron,
.team-rail-toggle,
.journey-open { border-radius: var(--r-control); }

.academy-family-actions button,
.academy-family-item button,
.academy-family-stage-row button,
.academy-order-token,
.academy-order-controls button,
.academy-voice-controls button,
.studio-input-mode button { border-radius: var(--r-control); }

.studio-input-mode button:hover { background: var(--mist-strong); color: var(--ink); }

.academy-family-dialog header > button {
  border-radius: var(--r-control);
  background: var(--mist);
  color: var(--ink);
}

.academy-family-icon-button {
  border-color: transparent;
  border-radius: var(--r-control);
  background: rgba(22, 211, 79, .1);
}

.academy-family-stage-row {
  border-color: transparent;
  border-radius: var(--r-inset);
  background: var(--mist);
}

.academy-choice-option {
  border-color: transparent;
  border-radius: var(--r-inset);
  background: var(--mist);
  color: var(--ink);
}
.academy-choice-option::before { border-color: var(--line-strong); }
.academy-choice-option[aria-checked="true"]::before { box-shadow: inset 0 0 0 4px var(--paper); }

.academy-order-answer {
  border-color: var(--line-strong);
  border-radius: var(--r-inset);
  background: var(--mist);
}

/* Пилюли и счётчики: подложка вместо обводки, форма-таблетка остаётся. */
.soft-pill,
.journal-state,
.capability-list li,
.builder-live-status,
.builder-health,
.work-context-usage,
.academy-cycle-state,
.academy-criterion,
.space-winner-badge,
.journey-fields-count,
.ask-teamon {
  border-color: transparent;
  background: rgba(var(--accent-rgb), .09);
}

.journal-filters button span,
.journey-stage span,
.attachment-chip { background: var(--mist); }

.starter-prompt {
  border-color: transparent;
  background: var(--mist);
  color: var(--ink);
}

.starter-prompt:hover { border-color: transparent; background: var(--mist-strong); color: var(--ink); }

.profile-settings {
  border-color: transparent;
  border-radius: var(--r-inset);
  background: var(--mist);
}

.journey-stage {
  border-color: transparent;
  border-radius: var(--r-control);
  background: var(--mist);
}

.space-surface-tab::after { border-radius: 999px 999px 0 0; }

.app-shell.studio-has-section-tabs .space-surface-tabs {
  border-color: transparent;
  border-radius: var(--r-control);
  background: var(--mist);
}


/* ==========================================================================
   10. ДИАЛОГ И СООБЩЕНИЯ
   ========================================================================== */

.conversation-lanes {
  border-color: transparent;
  background: var(--paper);
}

.conversation-lane:hover:not(:disabled) { background: var(--mist); color: var(--ink); }
.conversation-lane.active { background: var(--mist-strong); color: var(--ink); }

.composer-frame {
  border-color: transparent;
  background: var(--paper);
}

.app-shell.team-edition .composer-frame {
  border-color: transparent;
  background: var(--paper);
}

.workbench.canvas-full .composer-frame {
  border-color: transparent;
  border-radius: var(--r-card);
  background: var(--mist);
}

.message.user .bubble {
  border-color: transparent;
  border-radius: var(--r-card);
  background: var(--mist);
  color: var(--ink);
}

.workbench.canvas-full .message.user .bubble {
  border-color: transparent;
  background: var(--mist);
}

.shared-message-avatar {
  border-color: transparent;
  border-radius: var(--r-chip);
  background: var(--mist);
  color: var(--ink);
}

.shared-message-bubble {
  border-color: transparent;
  background: var(--mist);
  color: var(--ink);
}

.shared-message.own .shared-message-bubble { background: rgba(var(--accent-rgb), .1); }

.shared-message-quote { background: var(--mist-strong); }

.shared-message-files a {
  border-color: transparent;
  border-radius: var(--r-control);
  background: var(--mist);
  color: var(--ink);
}

.message.action-receipt .bubble {
  border-color: transparent;
  border-radius: var(--r-inset);
  background: rgba(22, 211, 79, .08);
}

.memory-receipt-mark {
  border-color: transparent;
  background: rgba(22, 211, 79, .12);
}

.studio-selection-chip,
.shared-reply {
  border-color: transparent;
  background: rgba(var(--accent-rgb), .08);
}


/* ==========================================================================
   11. РЕЛЬС TEAM И СПИСОК ПРОЕКТОВ
   Рельс — бумажная колонка слева от молочного полотна: разделение
   держится сменой подложки, вертикальная линия не нужна.
   ========================================================================== */

.app-shell.team-edition .team-rail {
  border-right-color: transparent;
  background: var(--paper);
}

.team-project { color: var(--ink); }
.team-project:hover { border-color: transparent; background: var(--mist); }
.team-project.active,
.team-project[aria-current="page"] { border-color: transparent; background: var(--mist-strong); }

.team-project-monogram {
  border-color: transparent;
  border-radius: var(--r-control);
  background: var(--mist-strong);
  color: var(--ink);
}

/* Домашний узел пространства: плоская сиреневая подложка вместо
   градиентной сферы со свечением (app.css:2049–2056). */
.team-project.space-home {
  border-color: transparent;
  background: rgba(var(--accent-rgb), .08);
}
.team-project.space-home:hover { border-color: transparent; background: rgba(var(--accent-rgb), .13); }
.team-project.space-home.active,
.team-project.space-home[aria-current="page"] { border-color: transparent; background: rgba(var(--accent-rgb), .17); }
.team-project.space-home .team-project-monogram {
  border-color: transparent;
  background: rgba(var(--accent-rgb), .2);
  color: var(--ink);
}

.team-rail-toggle { border-color: transparent; }
.team-rail-toggle:hover { border-color: transparent; background: var(--mist-strong); color: var(--ink); }
.app-shell.team-edition.team-rail-collapsed .team-rail-toggle { background: var(--mist); }

.team-space-option:hover,
.team-space-option:focus-visible { background: var(--mist); color: var(--ink); }
.team-space-option[aria-selected="true"] { background: rgba(var(--accent-rgb), .1); }
.team-space-option-symbol {
  border-color: transparent;
  border-radius: var(--r-control);
  background: var(--mist);
  color: var(--ink);
}

.world-empty-cta {
  border-color: var(--line-strong);
  border-radius: var(--r-inset);
  background: var(--mist);
  color: var(--ink);
}
.app-shell.team-edition.team-rail-collapsed .world-empty-cta { background: var(--mist); }

.session-account {
  border-color: transparent;
  border-radius: var(--r-inset);
  background: var(--mist);
}
.app-shell.team-edition .session-account {
  border-color: transparent;
  background: var(--mist);
}
.account-menu-toggle:hover,
.session-account.open .account-menu-toggle { background: var(--mist-strong); }


/* ==========================================================================
   12. МАРКИ, АВАТАРЫ, ПУТЬ АКАДЕМИИ
   Логотип остаётся объектом бренда, но без ореола и белой внутренней линии.
   ========================================================================== */

.brand-mark { border-color: transparent; }

.session-avatar { box-shadow: none; }

.academy-agent-orb { border-color: transparent; }

.academy-path-history-node,
.academy-path-node {
  border-color: var(--line-strong);
  border-radius: var(--r-card);
  background: var(--paper);
  color: var(--ink);
}
.academy-path-node > span { border-color: var(--paper); }
.academy-path-step.current .academy-path-node {
  border-color: rgba(var(--accent-rgb), .5);
  background: rgba(var(--accent-rgb), .12);
}
.academy-path-node.muted {
  border-color: var(--line-strong);
  background: var(--mist);
}

/* Хребет пути — смысловая направляющая, не декор: оставляем, но перекрашиваем
   (в app.css:970 он заканчивался белым оверлеем, невидимым на молоке). */
.academy-path-list::before {
  background: linear-gradient(rgba(22, 211, 79, .4), rgba(var(--accent-rgb), .45) 55%, var(--line));
}

.academy-revision-mark {
  border-color: transparent;
  border-radius: var(--r-card);
  background: rgba(22, 211, 79, .12);
}

.academy-voice-mark { border-color: var(--line-strong); }


/* ==========================================================================
   13. РАЗДЕЛИТЕЛИ
   В новом языке линий почти нет: иерархию держат отступ и смена подложки.
   Здесь снимаются полосы-швы; смысловые разделители списков и таблиц
   остаются и только перекрашиваются под светлый фон (перечень — в конце файла).
   ========================================================================== */

/* Швы, которые убираем: базовые линии вкладочных полос и подвалов.
   Активную вкладку по-прежнему показывает индикатор .space-surface-tab::after. */
.space-surface-tabs,
.work-tabs,
.drawer-tabs,
.work-surface-note { border-color: transparent; }

/* Смысловые разделители остаются — только светлеют вместе с --line.
   Явно перечислены, чтобы следующая итерация случайно их не снесла. */
.list-row,
.timeline-card,
.activity-entry,
.activity-sheet-heading,
.knowledge-block + .knowledge-block,
.connection-row + .connection-row,
.journal-entry + .journal-entry,
.journey-field-row + .journey-field-row,
.journey-field-list,
.provider-access-body,
.session-logout { border-color: var(--line); }

/* Полосы состояния слева — это статус, а не украшение: сохраняем форму,
   меняем только цвет под светлый фон. */
.timeline-card.failed { border-left-color: rgba(196, 56, 74, .5); }
.activity-entry.failed { box-shadow: inset 2px 0 rgba(196, 56, 74, .55); }

/* Хребет журнала (app.css:1574–1578) — направляющая ленты событий, оставляем. */
.knowledge-journal::before {
  background: linear-gradient(180deg, transparent, rgba(var(--accent-rgb), .3) 10%, var(--line) 90%, transparent);
}
.journal-entry::before { border-color: var(--paper); background: var(--line-strong); }


/* ==========================================================================
   14. СКРОЛЛБАРЫ
   scrollbar-color в app.css задан белым оверлеем — на молоке он невидим.
   ========================================================================== */

.messages,
.work-view,
.academy-stage,
.composer textarea {
  scrollbar-color: var(--line-strong) transparent;
}


/* ==========================================================================
   ЧТО СОЗНАТЕЛЬНО НЕ ТРОНУТО И ПОЧЕМУ
   ==========================================================================

   Чужие зоны:
   1. .login-shell, .login-shell::before, .login-card, .login-card input,
      .login-copy — экран входа отдан другому агенту. Из этого экрана здесь
      погашена только .login-orbit, потому что она была прямо названа в задании
      как декоративный слой.
   2. Все @media (max-width: …) блоки: мобильные ширины — чужая зона. Значит,
      не тронуты .team-rail-backdrop (app.css:2226), тултип app.css:2325–2327,
      градиенты .academy-focus-bar и .academy-primary-dock (app.css:3025, 3099)
      и мобильные радиусы вроде app.css:2364. После светлой конверсии там
      останутся тёмные подложки — их нужно закрыть мобильным слоем.
   3. Типографика: 339 объявлений font-size, letter-spacing, font-weight и
      line-height не трогались. Исключение — три текстовых токена --ink,
      --muted, --muted-2 в группе 1: без них светлый фон нечитаем. Слой
      типографики грузится позже и перебьёт их без конфликта.
   4. --accent / --accent-rgb (149 обращений) не переопределены: выбор акцента
      принадлежит слою палитры. Текущий #8b7cff на молоке даёт корректные
      бледно-сиреневые заливки, поэтому блокирующей проблемы нет. Токены
      --success, --warning, --danger тоже оставлены слою палитры: на белом фоне
      #57d3a4 и #ff7a86 как цвет текста дают низкий контраст.

   Сохранено намеренно:
   5. Фокусные box-shadow. В app.css:30 стоит глобальный outline: none, а
      видимость фокуса держится на box-shadow из app.css:32–34. Ни одна тень
      фокуса здесь не снята: .composer:focus-within, .work-resizer:focus-visible,
      .shared-message.referenced, [data-teamon-studio-focus] и
      [data-teamon-studio-selectable] оставлены рабочими.
   6. Смысловые ореолы состояний: .work-event-dot, .team-project i,
      .studio-operation-mark, .builder-live-status::before,
      .academy-path-node > span, @keyframes pulse и @keyframes memory-focus.
      Это индикаторы статуса, а не подъём поверхности.
   7. Разделители, без которых теряется смысл списка или таблицы, оставлены
      и перечислены в группе 13: .list-row, .timeline-card, .activity-entry,
      .activity-sheet-heading, .knowledge-block + .knowledge-block,
      .connection-row + .connection-row, .journal-entry + .journal-entry,
      .journey-field-row + .journey-field-row (строки dl), .journey-field-list,
      .provider-access-body (тело details) и .session-logout (отделение
      выхода из аккаунта от остального меню).
   8. Хребты .academy-path-list::before и .knowledge-journal::before — это
      направляющие ленты событий, они несут порядок шагов, а не украшают.
   9. Радиальная заливка .brand-mark и .session-avatar: это знак бренда и
      аватар, реальные объекты интерфейса. Сняты только ореол и белая
      внутренняя линия.
  10. Иллюстрация .academy-activity-art (реальный ассет
      /assets/academy-learning-constellation-v1.png) оставлена, снята только
      затемняющая линза ::after и белая внутренняя линия.
  11. body { overflow: hidden } (app.css:24) и .app-shell { height: 100dvh;
      overflow: hidden } (app.css:146–147) — это компоновка, не поверхность.

   Спорное решение, вынесенное явно:
  12. .boot-shell переведён на молоко, хотя загрузочный экран соседствует с
      экраном входа. Иначе первая отрисовка даёт тёмную вспышку перед светлым
      приложением. Если владелец экрана входа решит держать вход тёмным, эту
      строку из группы 2 нужно снять.

   Подключение: файл рассчитан на <link rel="stylesheet"
   href="/redesign/10-surfaces.css"> ПОСЛЕ строки app.css в index.html:13.
   Сам index.html этим файлом не менялся. */
