/* Палитра рабочего интерфейса — брендбук v4 и референс
   .tmp/cognisphere_final_site_palette.pdf: ночной синий, тёплый белый,
   золото, лаванда и мята. Прежние слои (exhibition, observatory, semantic)
   дают геометрию и движение; этот слой задаёт цвет и поверхности.

   Все правила ограничены .app-shell: у выставочной презентации, лендинга и
   колбы своя оболочка, общие компоненты (звёздное небо, иконки, тосты,
   переключатель языка) там выглядят по-прежнему. Геометрию, у которой есть
   адаптивные варианты (радиусы и рамки окон на телефоне, сенсорные размеры),
   этот слой не переопределяет. */

.app-shell {
  --bg: #050810;
  --panel: #0b1120;
  --panel-raised: #121c30;
  --overlay: rgba(3, 5, 12, 0.7);
  --gold-rgb: 232, 205, 160;
  --lav-rgb: 193, 172, 245;
  --mint-rgb: 147, 222, 197;
  --red-rgb: 240, 166, 155;
  --amber-rgb: 230, 185, 128;
  /* Цвет круга по умолчанию: без круга элемент говорит золотом. */
  --circle-rgb: var(--gold-rgb);

  --ink: #f4f2ec;
  --ink-soft: #bec6d8;
  --ink-dim: #99a4be;
  --line: rgba(192, 203, 231, 0.14);
  --line-strong: rgba(192, 203, 231, 0.24);

  /* Токены прежних слоёв переопределяются только внутри приложения. */
  --text: var(--ink);
  --muted: var(--ink-dim);
  --accent: rgb(var(--gold-rgb));
  --violet: rgb(var(--lav-rgb));
  --success: rgb(var(--mint-rgb));
  --warning: rgb(var(--amber-rgb));
  --danger: rgb(var(--red-rgb));
  --accent-dim: rgba(var(--gold-rgb), 0.14);
  --violet-dim: rgba(var(--lav-rgb), 0.14);
  --success-dim: rgba(var(--mint-rgb), 0.12);
  --warning-dim: rgba(var(--amber-rgb), 0.12);
  --danger-dim: rgba(var(--red-rgb), 0.12);
  --border: var(--line-strong);
  --border-soft: var(--line);
  --panel-glass: rgba(13, 20, 36, 0.9);
  --panel-raised-glass: rgba(22, 32, 52, 0.96);
  --panel-solid: #0d1424;
  --surface-panel: linear-gradient(180deg, rgba(24, 34, 55, 0.92), rgba(10, 16, 29, 0.96));
  --sheen: linear-gradient(transparent, transparent);
  --surface-card: rgba(255, 255, 255, 0.025);
  --surface-control: rgba(255, 255, 255, 0.03);
  --surface-inset: rgba(5, 8, 16, 0.42);
  --shadow-panel: inset 0 1px 0 rgba(192, 203, 231, 0.04), 0 14px 34px rgba(2, 5, 13, 0.32);
  /* Прозрачная тень, а не none: старые слои складывают тени в списки. */
  --shadow-card: 0 0 0 transparent;
  --shadow-control: 0 0 0 transparent;
  --shadow-inset: 0 0 0 transparent;
  --glow-active: 0 0 0 transparent;
  --glow-focus: 0 0 0 2px rgba(var(--gold-rgb), 0.55);
  color: var(--ink);
  background: var(--bg);
}

/* Три круга текущего демо сохраняют свои смысловые цвета. */
.app-shell [data-circle="personal"] { --circle-rgb: var(--lav-rgb); }
.app-shell [data-circle="family"] { --circle-rgb: var(--mint-rgb); }
.app-shell [data-circle="work"] { --circle-rgb: var(--gold-rgb); }

/* Спокойный синий фон с локальным свечением, без окрашивания текста. */
.app-shell .app-sky {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 40% at 78% 4%, rgba(var(--gold-rgb), 0.045), transparent 68%),
    radial-gradient(ellipse 70% 70% at 16% 40%, rgba(47, 69, 117, 0.16), transparent 66%),
    radial-gradient(ellipse 60% 40% at 82% 88%, rgba(var(--lav-rgb), 0.045), transparent 70%);
}
.app-shell .ambient-backdrop {
  background:
    radial-gradient(ellipse at 60% 40%, rgba(43, 61, 105, 0.16), transparent 70%),
    linear-gradient(145deg, rgba(12, 20, 39, 0.3), rgba(5, 8, 16, 0.35));
}
.app-shell .ambient-backdrop__nebula {
  background:
    radial-gradient(ellipse at 34% 38%, rgba(63, 81, 130, 0.32), transparent 32%),
    radial-gradient(ellipse at 79% 28%, rgba(var(--gold-rgb), 0.12), transparent 36%),
    radial-gradient(ellipse at 62% 78%, rgba(var(--lav-rgb), 0.17), transparent 34%);
}
.app-shell .ambient-backdrop__aurora--blue {
  --render-glow-core: #35476e;
  --render-glow-mid: #26375b99;
}
.app-shell .ambient-backdrop__aurora--violet {
  --render-glow-core: #665b8c;
  --render-glow-mid: #36315399;
}
.app-shell .ambient-backdrop__aurora {
  background: radial-gradient(ellipse, var(--render-glow-core), var(--render-glow-mid) 42%, transparent 68%);
}
.app-shell .ambient-backdrop__aurora[data-render-cached] {
  background: none;
  filter: none;
}
.app-shell .ambient-backdrop__grid {
  background-image:
    linear-gradient(rgba(192, 203, 231, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(192, 203, 231, 0.025) 1px, transparent 1px);
}
.app-shell .ambient-circuits { stroke: rgba(var(--lav-rgb), 0.12); }
.app-shell .ambient-circuits__signal { stroke: rgba(var(--gold-rgb), 0.3); }
.app-shell .star { fill: var(--ink-soft); }
.app-shell .star--bright { fill: var(--ink); }
.app-shell .star-field__links { stroke: rgb(var(--lav-rgb)); }

/* Оттенки сущностей читаются и на карточках, и в карте контекста. */
.app-shell [data-entity="person"],
.app-shell [data-entity="event"],
.app-shell [data-entity="rest"] { --entity-rgb: var(--mint-rgb); }
.app-shell [data-entity="team"] { --entity-rgb: 173, 194, 224; }
.app-shell [data-entity="project"],
.app-shell [data-entity="idea"] { --entity-rgb: var(--lav-rgb); }
.app-shell [data-entity="task"] { --entity-rgb: 157, 187, 229; }
.app-shell [data-entity="commitment"],
.app-shell [data-entity="delegation"] { --entity-rgb: var(--gold-rgb); }
.app-shell [data-entity="thought"] { --entity-rgb: 213, 174, 207; }
.app-shell [data-entity="artifact"] { --entity-rgb: 174, 198, 223; }
.app-shell [data-entity="pet"] { --entity-rgb: var(--red-rgb); }
.app-shell [data-entity="buffer"],
.app-shell [data-entity="object"] { --entity-rgb: 166, 177, 201; }

/* --- Подпись над заголовком ----------------------------------------------------- */

.app-shell .eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  color: rgb(var(--circle-rgb));
  font: 500 calc(9px * var(--font-scale)) / 1.2 var(--mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.app-shell .eyebrow::before {
  content: "";
  flex: none;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 10px currentColor;
}

/* --- Боковая панель ------------------------------------------------------------ */

.app-shell .sidebar {
  border-right: 1px solid var(--line);
  background: rgba(7, 11, 21, 0.96);
  box-shadow: none;
  backdrop-filter: blur(12px);
}
.app-shell .brand {
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  padding-bottom: 14px;
}
.app-shell .brand__logo {
  position: relative;
  display: block;
  flex: none;
  width: 100%;
  aspect-ratio: 2922 / 374;
  overflow: hidden;
}
/* Прозрачные поля исходного PNG (3600×800) убираются только вёрсткой;
   сам предоставленный логотип не изменён. Видимая область: 331,213–3253,587. */
.app-shell .brand__logo img {
  position: absolute;
  width: 123.2033%;
  max-width: none;
  height: auto;
  left: -11.3285%;
  top: -56.9519%;
}
.app-shell .brand__note {
  margin-left: 22%;
  color: rgb(var(--gold-rgb));
  font: 500 calc(7.5px * var(--font-scale) * var(--sidebar-scale)) / 1.2 var(--mono);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.app-shell .nav-group__title {
  color: var(--ink-dim);
  font-family: var(--mono);
  letter-spacing: 0.18em;
}
.app-shell .nav-link {
  border: 1px solid transparent;
  background: transparent;
  box-shadow: none;
  color: var(--ink-soft);
}
.app-shell .nav-link:hover {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--ink);
}
.app-shell .nav-link__glyph { color: rgba(var(--circle-rgb), 0.85); }
.app-shell .nav-link[aria-current="page"] {
  border-color: rgba(var(--circle-rgb), 0.4);
  background: rgba(var(--circle-rgb), 0.1);
  box-shadow: none;
  color: var(--ink);
}
.app-shell .nav-link[aria-current="page"]::before {
  background: rgb(var(--circle-rgb));
  box-shadow: 0 0 10px rgba(var(--circle-rgb), 0.8);
}
.app-shell .nav-link[aria-current="page"] .nav-link__glyph { color: rgb(var(--circle-rgb)); }
.app-shell .nav-link[aria-current="page"] .ui-icon { filter: none; }
@media (hover: hover) {
  .app-shell .nav-link:hover .ui-icon { filter: none; }
}

.app-shell .sidebar-summary {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.02);
}
.app-shell .circle-mark {
  display: block;
  width: 100%;
  height: calc(40px * var(--sidebar-scale));
  margin-bottom: 2px;
}
.app-shell .circle-mark ellipse {
  fill: none;
  stroke: rgb(var(--circle-rgb));
  stroke-width: 1.4;
  opacity: 0.85;
}
.app-shell .sidebar-summary__item { color: var(--ink-soft); }
.app-shell .sidebar-summary__item[data-circle] .ui-icon { color: rgb(var(--circle-rgb)); }
.app-shell .sidebar-summary__item--waiting .ui-icon { color: rgb(var(--gold-rgb)); }

/* --- Шапка ----------------------------------------------------------------------- */

.app-shell .header {
  border-bottom: 1px solid var(--line);
  background: rgba(7, 11, 21, 0.92);
  box-shadow: none;
  backdrop-filter: blur(8px);
}
.app-shell .header__views,
.app-shell .header-actions {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
}
.app-shell .view-tab {
  border-radius: 999px;
  color: var(--ink-dim);
}
.app-shell .view-tab:hover { color: var(--ink); }
.app-shell .view-tab[aria-pressed="true"] {
  background: rgba(var(--circle-rgb), 0.13);
  box-shadow: inset 0 0 0 1px rgba(var(--circle-rgb), 0.5);
  color: var(--ink);
}
.app-shell .view-tab__dot,
.app-shell .view-tab__dots i {
  display: inline-block;
  border-radius: 50%;
  background: rgb(var(--circle-rgb));
}
.app-shell .view-tab__dot {
  width: 6px;
  height: 6px;
  margin-right: 7px;
  vertical-align: 1px;
}
.app-shell .view-tab__dots {
  display: inline-flex;
  gap: 2px;
  margin-right: 7px;
  vertical-align: 2px;
}
.app-shell .view-tab__dots i {
  width: 4px;
  height: 4px;
}
.app-shell .header-action {
  border-color: transparent;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  color: var(--ink-soft);
}
.app-shell .header-action:hover:not(:disabled),
.app-shell .header-action:focus-visible {
  border-color: rgba(var(--gold-rgb), 0.45);
  background: rgba(var(--gold-rgb), 0.08);
  box-shadow: none;
  color: var(--ink);
}
.app-shell .header-action--capture,
.app-shell .header-action--capture:hover:not(:disabled),
.app-shell .header-action--capture:focus-visible {
  border-color: #f0dcba;
  background: linear-gradient(135deg, #f0dcba, rgb(var(--gold-rgb)));
  color: var(--bg);
}
.app-shell .header-action--capture:hover:not(:disabled),
.app-shell .header-action--capture:focus-visible {
  box-shadow: 0 0 20px rgba(var(--gold-rgb), 0.35);
}
.app-shell .header-action--quiet[aria-pressed="true"] {
  border-color: rgba(var(--lav-rgb), 0.55);
  background: rgba(var(--lav-rgb), 0.14);
  color: rgb(var(--lav-rgb));
}
.app-shell .header-action--scenario[aria-expanded="true"],
.app-shell .header-action--fullscreen[aria-pressed="true"] {
  border-color: rgba(var(--gold-rgb), 0.5);
  background: rgba(var(--gold-rgb), 0.12);
  color: rgb(var(--gold-rgb));
}
.app-shell .header-action::after {
  border-color: var(--line-strong);
  background: rgba(13, 20, 36, 0.97);
}
.app-shell .header-actions__divider { background: var(--line-strong); }
.app-shell .demo-mark {
  border: 1px dashed var(--line-strong);
  border-radius: 999px;
  color: var(--ink-dim);
}
.app-shell .locale-switch {
  border-color: var(--line);
  border-radius: 999px;
  background: transparent;
}
.app-shell .locale-switch__option { color: var(--ink-dim); }
.app-shell .locale-switch__option[aria-pressed="true"] {
  border: 1px solid rgba(var(--gold-rgb), 0.45);
  background: rgba(var(--gold-rgb), 0.12);
  color: rgb(var(--gold-rgb));
}

/* Нижнее меню телефона: те же иконки, что в боковой панели. */
.app-shell .mobile-nav {
  border-top: 1px solid var(--line);
  background: rgba(7, 11, 21, 0.96);
  box-shadow: none;
}
.app-shell .mobile-nav .ui-icon {
  width: 20px;
  height: 20px;
}
.app-shell .mobile-nav a[aria-current="page"] { color: rgb(var(--gold-rgb)); }
.app-shell .mobile-nav .mobile-nav__capture { color: rgb(var(--gold-rgb)); }

/* --- Заголовок экрана ------------------------------------------------------------ */

.app-shell .page-head {
  margin-bottom: 12px;
  padding-bottom: 0;
  border-bottom: 0;
}
.app-shell .page-head .eyebrow { margin-bottom: 6px; }
.app-shell .page-head h1 {
  color: var(--ink);
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.12;
}
.app-shell .page-head h1::before { content: none; }
.app-shell .page-head__sub {
  max-width: 72ch;
  margin-top: 6px;
  color: var(--ink-soft);
  line-height: 1.5;
}

/* --- Панели, карточки, строки ------------------------------------------------------- */

.app-shell .panel {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
  backdrop-filter: blur(14px) saturate(120%);
}
.app-shell .panel::before { content: none; }
.app-shell .panel__head {
  margin-bottom: 10px;
  padding-bottom: 9px;
  border-bottom: 1px solid var(--line);
}
.app-shell .panel__title {
  color: var(--ink);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.app-shell .panel__title::before {
  width: 6px;
  height: 6px;
  background: rgb(var(--gold-rgb));
  box-shadow: 0 0 10px rgba(var(--gold-rgb), 0.6);
}
.app-shell .panel__hint { color: var(--ink-dim); }
.app-shell .pulse-panel,
.app-shell .schedule-panel,
.app-shell .waiting-panel,
.app-shell .promises-panel,
.app-shell .context-preview {
  border-color: var(--line);
  background: var(--surface-panel);
}
.app-shell .pulse-panel { border-color: rgba(var(--gold-rgb), 0.24); }
.app-shell .panel--flat {
  border: 1px solid var(--line);
  background: rgba(0, 0, 0, 0.2);
  box-shadow: none;
  backdrop-filter: none;
}
@media (hover: hover) {
  .app-shell .panel:hover {
    border-color: rgba(var(--gold-rgb), 0.26);
    box-shadow: var(--shadow-panel);
  }
}

.app-shell .card,
.app-shell .entity-row,
.app-shell .step,
.app-shell .stat {
  border: 1px solid var(--line);
  background: var(--surface-card);
  box-shadow: none;
}
/* Полоса слева сохраняет круг жизни записи. */
.app-shell .card[data-circle],
.app-shell .entity-row[data-circle] {
  border-left: 2px solid rgba(var(--circle-rgb), 0.65);
}
.app-shell a.card {
  color: var(--ink);
  text-decoration: none;
}
.app-shell a.card:hover,
.app-shell a.card:focus-visible {
  border-color: rgba(var(--gold-rgb), 0.4);
  background: rgba(var(--gold-rgb), 0.04);
}
.app-shell .entity-row:hover {
  border-color: rgba(var(--gold-rgb), 0.3);
  background: rgba(var(--gold-rgb), 0.04);
  box-shadow: none;
}
.app-shell .entity-row[data-circle]:hover { border-left-color: rgb(var(--circle-rgb)); }
.app-shell .entity-row--flat:hover {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.035);
}
.app-shell .card--accent {
  border-color: rgba(var(--gold-rgb), 0.32);
  background: linear-gradient(120deg, rgba(var(--gold-rgb), 0.07), rgba(255, 255, 255, 0.02) 62%);
  box-shadow: none;
}
.app-shell .pulse-panel .card--accent {
  border-color: rgba(var(--gold-rgb), 0.32);
  background: linear-gradient(120deg, rgba(var(--gold-rgb), 0.07), rgba(255, 255, 255, 0.02) 62%);
  box-shadow: none;
}
.app-shell .card__quote {
  border-left-color: rgba(var(--lav-rgb), 0.7);
  color: var(--ink);
}
.app-shell .card__why { color: var(--ink-dim); }
.app-shell .step--done {
  border-color: rgba(var(--mint-rgb), 0.4);
  background: rgba(var(--mint-rgb), 0.07);
}
.app-shell .state-dot { box-shadow: none; }
.app-shell .state-dot--planned { background: var(--ink-dim); }
.app-shell .state-dot--progress { background: rgb(var(--gold-rgb)); }
.app-shell .state-dot--blocked { background: rgb(var(--red-rgb)); }
.app-shell .state-dot--done { background: rgb(var(--mint-rgb)); }

/* --- Бейджи ------------------------------------------------------------------------ */

.app-shell .badge {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: none;
  color: var(--ink-dim);
  padding: 1px 8px;
}
.app-shell .badge[data-circle] {
  border-color: rgba(var(--circle-rgb), 0.42);
  background: rgba(var(--circle-rgb), 0.09);
  color: rgb(var(--circle-rgb));
}
.app-shell .badge--warning {
  border-color: rgba(var(--amber-rgb), 0.42);
  background: rgba(var(--amber-rgb), 0.08);
  color: rgb(var(--amber-rgb));
}
.app-shell .badge--danger {
  border-color: rgba(var(--red-rgb), 0.45);
  background: rgba(var(--red-rgb), 0.08);
  color: rgb(var(--red-rgb));
}
.app-shell .badge--success {
  border-color: rgba(var(--mint-rgb), 0.42);
  background: rgba(var(--mint-rgb), 0.08);
  color: rgb(var(--mint-rgb));
}
.app-shell .badge--audience { border-style: dashed; }

/* --- Кнопки, фильтры, поля ------------------------------------------------------------ */

.app-shell .btn,
.app-shell .icon-btn {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: none;
  backdrop-filter: none;
  color: var(--ink-soft);
}
.app-shell .btn:hover:not(:disabled),
.app-shell .icon-btn:hover:not(:disabled) {
  border-color: rgba(var(--gold-rgb), 0.6);
  background: rgba(var(--gold-rgb), 0.07);
  box-shadow: none;
  color: var(--ink);
  transform: none;
}
.app-shell .btn--primary {
  border-color: #f0dcba;
  background: linear-gradient(135deg, #f0dcba, rgb(var(--gold-rgb)));
  color: var(--bg);
  font-weight: 600;
}
.app-shell .btn--primary:hover:not(:disabled) {
  border-color: #f6ecd8;
  background: linear-gradient(135deg, #f6ead4, #eddbb8);
  box-shadow: 0 0 22px rgba(var(--gold-rgb), 0.25);
  color: var(--bg);
}
.app-shell .btn--ghost {
  border-color: transparent;
  background: transparent;
  color: var(--ink-dim);
}
.app-shell .btn--ghost:hover:not(:disabled) {
  border-color: var(--line-strong);
  background: rgba(255, 255, 255, 0.03);
}
.app-shell .btn--success {
  border-color: rgba(var(--mint-rgb), 0.5);
  background: rgba(var(--mint-rgb), 0.08);
  color: rgb(var(--mint-rgb));
}
.app-shell .btn--success:hover:not(:disabled) {
  border-color: rgb(var(--mint-rgb));
  background: rgba(var(--mint-rgb), 0.14);
  color: var(--ink);
}
/* Подтверждение результата и сохранение — решение человека: мятная кнопка. */
.app-shell .btn--primary.btn--success {
  border-color: #d2f0e4;
  background: linear-gradient(135deg, #d2f0e4, rgb(var(--mint-rgb)));
  color: #0f1f1b;
}
.app-shell .btn--primary.btn--success:hover:not(:disabled) {
  background: linear-gradient(135deg, #e1f5eb, #b2e8d4);
  box-shadow: 0 0 22px rgba(var(--mint-rgb), 0.25);
  color: #0a1714;
}
.app-shell .btn--warning {
  border-color: rgba(var(--amber-rgb), 0.45);
  color: rgb(var(--amber-rgb));
}
.app-shell .btn--danger {
  border-color: rgba(var(--red-rgb), 0.5);
  background: rgba(var(--red-rgb), 0.06);
  color: rgb(var(--red-rgb));
}

.app-shell .chip {
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  color: var(--ink-soft);
}
.app-shell .chip:hover:not(:disabled) {
  border-color: rgba(var(--gold-rgb), 0.55);
  background: rgba(var(--gold-rgb), 0.05);
  box-shadow: none;
  color: var(--ink);
  transform: none;
}
.app-shell .chip[aria-pressed="true"] {
  border-color: rgba(var(--circle-rgb), 0.75);
  background: rgba(var(--circle-rgb), 0.14);
  box-shadow: none;
  color: var(--ink);
}
.app-shell .chip[data-circle]::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: rgb(var(--circle-rgb));
  vertical-align: 1px;
}

.app-shell .input,
.app-shell .select,
.app-shell .textarea {
  border: 1px solid var(--line-strong);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.26);
  box-shadow: none;
}
.app-shell .input:focus,
.app-shell .select:focus,
.app-shell .textarea:focus {
  border-color: rgba(var(--gold-rgb), 0.6);
  box-shadow: 0 0 0 3px rgba(var(--gold-rgb), 0.12);
}
.app-shell .input::placeholder,
.app-shell .textarea::placeholder { color: var(--ink-dim); }
.app-shell .field > label,
.app-shell .label,
.app-shell .drawer__section-title {
  color: var(--ink-dim);
  font-family: var(--mono);
  letter-spacing: 0.14em;
}
.app-shell .drawer__section-title { color: rgb(var(--gold-rgb)); }

.app-shell .tabs { border-bottom: 1px solid var(--line); }
.app-shell .tab {
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ink-dim);
}
.app-shell .tab:hover { color: var(--ink); }
.app-shell .tab[aria-selected="true"] {
  border-bottom-color: rgb(var(--gold-rgb));
  background: transparent;
  box-shadow: none;
  color: var(--ink);
}

.app-shell .empty-state,
.app-shell .error-state {
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
  color: var(--ink-dim);
}
.app-shell .empty-state { border: 1px dashed var(--line-strong); }
.app-shell .empty-state strong { color: var(--ink-soft); }
.app-shell .error-state { border-color: rgba(var(--red-rgb), 0.5); }
.app-shell .notice {
  border-color: rgba(var(--amber-rgb), 0.42);
  background: rgba(var(--amber-rgb), 0.08);
  box-shadow: none;
}
.app-shell .notice--info {
  border-color: rgba(var(--gold-rgb), 0.4);
  background: rgba(var(--gold-rgb), 0.07);
}
.app-shell .raw-text {
  border-color: var(--line);
  background: rgba(0, 0, 0, 0.28);
  box-shadow: none;
}
.app-shell .text-link { color: rgb(var(--gold-rgb)); }

/* --- План дня ---------------------------------------------------------------------- */

.app-shell .schedule__bar {
  background: rgba(255, 255, 255, 0.16);
  box-shadow: none;
}
.app-shell .schedule__item[data-circle] .schedule__bar {
  background: rgb(var(--circle-rgb));
  box-shadow: 0 0 8px rgba(var(--circle-rgb), 0.45);
}
.app-shell .schedule__item[data-circle] .schedule__bar--rest {
  background: rgba(var(--mint-rgb), 0.5);
  box-shadow: none;
}
.app-shell .schedule__item[data-circle] .schedule__bar--buffer {
  background: repeating-linear-gradient(135deg, rgba(var(--amber-rgb), 0.8) 0 4px, transparent 4px 8px);
  box-shadow: none;
}
.app-shell .schedule__body {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
  box-shadow: none;
}
.app-shell .schedule__time { color: var(--ink-dim); }

/* --- Окна ------------------------------------------------------------------------- */

.app-shell .scrim { background: rgba(3, 5, 12, 0.7); }
.app-shell .dialog,
.app-shell .drawer,
.app-shell .demo-panel,
.app-shell .chat-panel {
  border-color: var(--line-strong);
  background: linear-gradient(180deg, rgba(22, 32, 52, 0.98), rgba(10, 16, 29, 0.99));
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}
.app-shell .dialog__head,
.app-shell .drawer__head {
  border-bottom-color: var(--line);
  background: transparent;
  box-shadow: none;
}
.app-shell .dialog__foot {
  border-top-color: var(--line);
  background: transparent;
  box-shadow: none;
}
.app-shell .palette-item:hover,
.app-shell .palette-item:focus-visible {
  border-color: rgba(var(--gold-rgb), 0.4);
  background: rgba(var(--gold-rgb), 0.06);
  box-shadow: none;
}

/* Тосты приложения: золото, мята и коралл на тёмных поверхностях. */
.app-shell .toast {
  --toast-accent: var(--gold-rgb);
  --toast-surface: 13, 20, 36;
}
.app-shell .toast--success {
  --toast-accent: var(--mint-rgb);
  --toast-surface: 13, 30, 26;
}
.app-shell .toast--error {
  --toast-accent: var(--red-rgb);
  --toast-surface: 40, 19, 23;
}

/* --- Разговор ------------------------------------------------------------------------- */

.app-shell .chat-line__core {
  border-color: rgba(var(--mint-rgb), 0.55);
  background: rgba(var(--mint-rgb), 0.14);
  color: rgb(var(--mint-rgb));
}
.app-shell .chat-bubble {
  border-color: var(--line-strong);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: none;
}
.app-shell .chat-line--system .chat-bubble {
  border-color: rgba(var(--mint-rgb), 0.38);
  background: linear-gradient(120deg, rgba(var(--mint-rgb), 0.09), rgba(13, 20, 36, 0.94) 62%);
  box-shadow: 0 0 32px rgba(var(--mint-rgb), 0.07);
}
.app-shell .chat-bubble__author {
  color: var(--ink-dim);
  font-family: var(--mono);
  letter-spacing: 0.16em;
}
.app-shell .chat-line--system .chat-bubble__author { color: rgb(var(--mint-rgb)); }
.app-shell .chat-intro {
  border-color: var(--line-strong);
  background: rgba(0, 0, 0, 0.18);
}
.app-shell .chat-offer {
  border-color: rgba(var(--gold-rgb), 0.4);
  border-radius: 12px;
  background: rgba(var(--gold-rgb), 0.05);
}
.app-shell .chat-offer:hover {
  border-color: rgb(var(--gold-rgb));
  box-shadow: none;
}
.app-shell .chat-source {
  border-color: var(--line-strong);
  background: var(--panel-glass);
}

/* --- Карта контекста ------------------------------------------------------------------- */

.app-shell .graph-wrap {
  border-color: var(--line);
  background:
    radial-gradient(ellipse at 50% 50%, rgba(var(--gold-rgb), 0.08), transparent 65%),
    rgba(6, 10, 20, 0.88);
  box-shadow: none;
}
.app-shell .graph-orbits { stroke: rgba(var(--gold-rgb), 0.16); }
.app-shell .graph-hub {
  stroke: rgba(var(--gold-rgb), 0.7);
  filter: none;
}
.app-shell .graph-node__label { stroke: var(--panel); }
.app-shell .graph-edge { stroke: rgba(var(--gold-rgb), 0.4); }
.app-shell .graph-edge--active { stroke: rgba(var(--gold-rgb), 0.75); }
.app-shell .graph-controls .icon-btn { background: var(--panel-raised-glass); }

/* Сводка дня использует те же синие поверхности, что остальные экраны. */
.app-shell .orbit-overview {
  background:
    radial-gradient(ellipse 36% 62% at 52% 44%, rgba(var(--gold-rgb), 0.07), transparent 72%),
    var(--surface-panel);
  box-shadow: var(--shadow-panel);
}
.app-shell .orbit-core__avatar {
  background: radial-gradient(circle at 35% 30%, rgba(var(--gold-rgb), 0.3), var(--panel) 72%);
}
.app-shell .orbit-core__caption { background: rgba(8, 13, 25, 0.9); }
.app-shell .focus-beam__pick {
  background: var(--panel-solid);
  color: var(--ink);
}
.app-shell .focus-chip { background: var(--panel-glass); }
.app-shell .context-preview__map {
  background:
    radial-gradient(ellipse at 50% 50%, rgba(var(--gold-rgb), 0.1), transparent 72%),
    rgba(5, 8, 16, 0.4);
}
.app-shell .scene-veil {
  background: radial-gradient(ellipse at 55% 45%, rgba(22, 32, 52, 0.9), var(--bg) 78%);
}

@supports not (backdrop-filter: blur(4px)) {
  .app-shell .panel { background: var(--panel-solid); }
}
