/* HOLYLAND v3.36 — светлая тема «Эманация».
   Палитра оболочки; тёмная тема не меняется. */
html[data-theme="light"] {
  color-scheme: light;
  /* ФОН ОТКАЧЕН К ИСХОДНОМУ 27.09.2026: «убери все попытки перекрасить
     фон». Поле, стекло, линии и подложка — ровно те, что были в main до
     моих правок. Белая полоса посередине подложки при этом НЕ вернулась:
     её убрали 24.09 отдельным решением, и это была починка, а не перекраска.
     Тушь, золото текстом и лавандовая подсказка остались — их Лираз
     утвердила отдельно и сказала «шрифты и всё остальное вроде ок».

     Прежнее пояснение про «Крокус + тёплая тушь» ниже — оно про тушь: «как ты предлагаешь,
     крокус взять», «ярче, ярче должно быть, у нас пешеходный переход»,
     «может быть, больше в коричневизну уйти», «сделай с коричневым оттенком»,
     «почти чёрную мы уже делали, слишком инородно смотрится».

     ЧТО БЫЛО НЕ ТАК. Вся светлая тема сидела в полосе светлоты 87–93%:
     отрыв фона от карточки 1.08 при том, что две поверхности начинают
     читаться как разные примерно с 1.15. Экран был одним белым полем.
     А текст был фиолетовый на фиолетовом — один тон, край буквы держала
     только светлота, и буква расплывалась даже при контрасте 9.0.

     ЧТО СДЕЛАНО. Поле уходит вглубь (отрыв карточки 1.17…1.35), а тушь
     уходит из фиолетового в тёплое: 30° против 272° у поля, то есть на
     118° по тону. Край становится резким. Золото сдвинуто с 44° на 40° —
     это шафранная нить крокуса, а не металл; тушь и шафран теперь одна
     тёплая семья, а не соседи поневоле.

     Тон поля 272° — тот же, что у всей фиолетовой семьи приложения.
     Насыщенность растёт к тёмному краю: так свет ложится на цветную
     поверхность, и палитра не сереет. */
  --bg0: #faf7fc;
  --bg1: #eee7f4;
  --plum: #f5eff9;
  --gold: #e1a733;
  --gold2: #f0d17a;
  --violet: #7443a0;
  --neon: #a678ca;
  --teal: #70409a;
  --ink: #2c2116;
  --ink-dim: #584532;
  --ink-faint: #645a4f;
  /* Золото текстом и золото кромкой — разные роли. Заливка кнопки должна
     быть светлой, иначе тёмная надпись на ней не читается; надпись золотом
     на светлом, наоборот, должна быть тёмной. Одна опора это не вытянет. */
  --gold-text: #8a5b14;
  --gold-rgb: 177, 132, 36;
  /* Лавандовая подсказка в поле: на белом поле ввода даёт 4.76 —
     тише текста, но читается. */
  --hint: #7d6b95;
  --teal-rgb: 112, 64, 154;
  --glass: rgba(243, 236, 250, .88);
  --glass2: rgba(248, 243, 252, .94);
  --line: rgba(104, 59, 139, .30);
  --glassgrad: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(226, 213, 237, .90));
  --glassborder: rgba(104, 59, 139, .30);
  --bar: rgba(250, 247, 252, .94);
  --brandtop: #8a5b14;
  --hl-light-accent: #70409a;
  --hl-light-accent-2: #9a6abb;
  --hl-light-soft: rgba(112, 64, 154, .10);
  --hl-light-softer: rgba(112, 64, 154, .055);
  --hl-light-panel: rgba(246, 241, 252, .92);
  --hl-light-edge: rgba(112, 64, 154, .32);
  --hl-light-gold: #b18424;
  --hl-light-gold-2: #e1a733;
  --hl-light-gold-soft: rgba(177, 132, 36, .13);
  --hl-light-gold-edge: rgba(177, 132, 36, .36);
}

html[data-theme="light"],
html[data-theme="light"] body,
html[data-theme="light"] #room {
  background-color: var(--bg0);
  /* Белая полоса посередине и была «линялостью»: лаванда по краям
     растворялась в белом, и экран выглядел выцветшим. Теперь подложка ровная
     и лавандовая по всей высоте, как в плеере, а два пятна лишь добавляют
     глубины сверху. Решение Лираз 24.09.2026: «возьми как в плеере лаванду
     для всего». */
  /* Узор сфирот идёт ПЕРВЫМ слоем и здесь тоже: это правило задаёт
     подложку целиком и перекрывает ту, что в index.html. Первая попытка
     добавить узор только в index.html не показала его вовсе — поймано
     замером живой страницы, не сторожем. */
  /* В background-image можно перечислять ТОЛЬКО картинки. Положение, размер
     и повтор — это синтаксис сокращения background, и если написать их тут,
     браузер выбрасывает объявление целиком и молча. Первая попытка так и
     легла: правило в файле стояло, а на экране подложки не было вовсе.
     Поймано замером живой страницы. */
  background-image:
    radial-gradient(920px 540px at 12% -8%, rgba(122, 75, 159, .16), transparent 66%),
    radial-gradient(760px 520px at 98% 22%, rgba(178, 140, 204, .13), transparent 70%),
    linear-gradient(180deg, #f2ebf8 0%, #f6f1fb 50%, #efe7f6 100%);
  background-repeat: no-repeat;
  background-attachment: fixed;
  color: var(--ink);
}

html[data-theme="light"] #login,
html[data-theme="light"] #facade,
html[data-theme="light"] #reset {
  background:
    radial-gradient(660px 430px at 50% 12%, rgba(132, 83, 169, .14), transparent 67%),
    linear-gradient(180deg, #f2ebf8, #f6f1fb 62%, #efe7f6);
}

html[data-theme="light"] .rhead,
html[data-theme="light"] .tabbar,
html[data-theme="light"] .composer,
html[data-theme="light"] .emopal,
html[data-theme="light"] #hlregDm {
  background: linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(244, 237, 249, .90));
  border-color: var(--hl-light-edge);
  box-shadow: 0 8px 28px rgba(61, 30, 82, .07);
}

/* Шапка закатана в подложку: она была почти белой полосой поверх
   лавандового поля и читалась как чужая. «Шапку где холиленд закатай цветом
   подложки» — Лираз 27.09.2026. Прозрачная — значит сквозь неё видно то же
   поле с тем же узором, и полосы больше нет. Тень убрана: тень нужна тому,
   что лежит НАД поверхностью, а шапка теперь её часть. */
html[data-theme="light"] .topbar,
html[data-theme="light"][data-kind="desktop"] .topbar {
  /* «Шапку закатай темнее» — Лираз 27.09.2026. Берём глубокий край поля
     --bg1: шапка остаётся частью подложки, но читается как её верх, а не
     как белая полоса. Отдельный селектор с data-kind нужен, чтобы побить
     десктопную оболочку: она подключается ПОЗЖЕ и красит шапку тёмной,
     это правило тёмной темы, которое в светлой не переопределялось. */
  /* Прозрачная — значит сквозь неё видно то самое поле, что и ниже, и
     тона у них один в один. «Шапку по тону с телом слей» — Лираз
     27.09.2026. Своя заливка, даже взятая из опоры поля, всё равно
     давала полосу: градиент поля вверху начинается не с --bg1. */
  background: transparent;
  border-bottom-color: var(--line);
  box-shadow: none;
}

/* Ночью надпись золотая, как и была — Лираз 27.09.2026: «на чёрной теме
   оставь золотым, как было, это только на светлой фиолетовой».
   Днём — один фиолетовый, без градиента: золото на светлом поле читалось
   плашкой, а не надписью. Градиент в буквах гасим начисто, иначе сквозь
   прозрачный цвет проступит он. */
html[data-theme="light"] .brand {
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  color: var(--teal);
}

html[data-theme="light"] .glass,
html[data-theme="light"] .hall,
html[data-theme="light"] .tile,
html[data-theme="light"] .card,
html[data-theme="light"] .cab-hero,
html[data-theme="light"] .track,
html[data-theme="light"] .dmbtn,
html[data-theme="light"] .pfcomp,
html[data-theme="light"] .pfmode,
html[data-theme="light"] .pfmore,
html[data-theme="light"] .pflink,
html[data-theme="light"] #hlFontBox {
  background: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(244, 237, 249, .62));
  border-color: var(--hl-light-edge);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .80), 0 10px 28px rgba(63, 31, 86, .055);
}

html[data-theme="light"] .msg.me,
html[data-theme="light"] .rchip.mine,
html[data-theme="light"] #pfTagBar .chip,
html[data-theme="light"] .hlreg-chip,
html[data-theme="light"] #epStk .stk-studio,
html[data-theme="light"] #hlCastBtn,
html[data-theme="light"] .hldmst.wait {
  background: linear-gradient(135deg, rgba(212, 175, 75, .15), rgba(112, 64, 154, .09));
  border-color: var(--hl-light-gold-edge);
  color: var(--ink);
}

/* Главные чертоги. Были золото → фиолет, и на светлом поле это читалось
   грязным жёлтым пятном: «убери вот этот жёлтый оттенок на Меркаве и на
   фидбэках, он какой-то поносный». Теперь белый → фиолет: карточка светлее
   соседних вверху и уходит в лиловое книзу, а жёлтого нет вовсе. */
html[data-theme="light"] .hall.pin {
  background: linear-gradient(135deg, rgba(255, 255, 255, .80), rgba(112, 64, 154, .11));
  border-color: var(--hl-light-edge);
  color: var(--ink);
}

html[data-theme="light"] .hall .ht b {
  color: var(--ink);
}

/* ЗАГЛУШКА ПОД АВАТАР — ТОЛЬКО background-image, НИКОГДА НЕ СОКРАЩЁННО.
   Жалоба Лираз 28.09.2026: «почему-то в светлой теме аватары не сжатые».
   Здесь стояло `background: linear-gradient(...)`. Сокращённая запись
   сбрасывает ВСЕ свои составляющие, а среди них background-size. У аватара
   со снимком в index.html стоит `.dmav.has{background-size:cover}` — вес
   0,2,0, а у этого правила 0,2,1, и оно побеждало. Размер обнулялся до auto.
   Сам снимок приходит инлайном из кода и потому оставался, а вот вписывание
   в кружок пропадало: человек видел увеличенный кусок снимка.
   Ночью этого не было — ночью такого правила просто нет.
   Длинная запись background-image трогает только картинку: у кого снимка
   нет — ляжет заливка, у кого есть — инлайн перебьёт её, а размер и
   положение останутся из index.html. Стережёт check-light-photo-surfaces. */
html[data-theme="light"] .hall .ha,
html[data-theme="light"] .track .tn,
html[data-theme="light"] #hlci .row .ic,
html[data-theme="light"] .dmav {
  background-image: linear-gradient(145deg, rgba(112, 64, 154, .17), rgba(192, 159, 213, .12));
  border-color: rgba(112, 64, 154, .23);
  color: #623684;
}

html[data-theme="light"] .msg.them {
  background: rgba(255, 255, 255, .70);
  border-color: rgba(104, 59, 139, .17);
  box-shadow: 0 5px 18px rgba(61, 31, 82, .045);
}

html[data-theme="light"] #msgs .msg.circmsg:has(.smsg) {
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 2px 0 !important;
}

html[data-theme="light"] #msgs.has-wall {
  box-shadow: inset 0 0 0 9999px rgba(250, 247, 252, .28);
}

html[data-theme="light"] #msgs.has-wall .msg.them:not(:has(.smsg)):not(:has(.cmsg)) {
  background: rgba(251, 249, 253, .90);
  border-color: rgba(104, 59, 139, .17);
}

html[data-theme="light"] #msgs.has-wall .msg.me:not(:has(.smsg)):not(:has(.cmsg)) {
  background: linear-gradient(135deg, rgba(217, 197, 231, .94), rgba(240, 232, 246, .92));
  border-color: rgba(104, 59, 139, .23);
}

html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] select,
html[data-theme="light"] .composer textarea,
html[data-theme="light"] .pfcin textarea,
html[data-theme="light"] .pfedit textarea,
html[data-theme="light"] #dmQ,
html[data-theme="light"] .dmrep textarea,
/* Выбор языка и кнопка «попасть на святую землю» стоят на одном экране
   друг под другом. Держу их ОДНИМ правилом: пока они в одном селекторе,
   разъехаться им нечем. Разъехались они именно потому, что правило было
   только у языка. */
html[data-theme="light"] #hlLangSel,
html[data-theme="light"] .facade-btn {
  background: rgba(255, 255, 255, .70);
  border-color: rgba(104, 59, 139, .20);
  color: var(--ink);
}

html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus,
html[data-theme="light"] .composer textarea:focus,
html[data-theme="light"] .pfcin textarea:focus {
  border-color: rgba(112, 64, 154, .55);
  box-shadow: 0 0 0 3px rgba(112, 64, 154, .09);
  outline: none;
}

html[data-theme="light"] .primary,
html[data-theme="light"] .fsend,
html[data-theme="light"] .send,
html[data-theme="light"] .pc-send,
html[data-theme="light"] #pfSend,
html[data-theme="light"] .pfedit button.ok,
html[data-theme="light"] .dmtabs button.on,
html[data-theme="light"] .dma.pri,
html[data-theme="light"] .newpill,
html[data-theme="light"] .hbadge,
html[data-theme="light"] #hlregEd .save,
html[data-theme="light"] .hllive-watch {
  background: linear-gradient(135deg, var(--gold2), var(--gold)) !important;
  border-color: transparent !important;
  color: var(--ink) !important;
  box-shadow: 0 8px 22px rgba(177, 132, 36, .18) !important;
}

html[data-theme="light"] .micbtn.rec,
html[data-theme="light"] .vsend,
html[data-theme="light"] .circx.on,
html[data-theme="light"] #musicBar .mb-pp,
html[data-theme="light"] #nowVoice .nv-play,
html[data-theme="light"] .dmact.dmact-new,
html[data-theme="light"] .hlLangBtn.on,
html[data-theme="light"] #hlTrBtns button.gold,
html[data-theme="light"] #hlmDone,
html[data-theme="light"] #hlInst button.gold,
html[data-theme="light"] #hlst .hbar button.go,
html[data-theme="light"] #hlIv button.gold,
html[data-theme="light"] #hlIvGo,
html[data-theme="light"] #hlIv2 .ft button,
html[data-theme="light"] #hlCast .go,
html[data-theme="light"] #hlAnWrap .go,
html[data-theme="light"] #hlPr .go,
html[data-theme="light"] #hlFontBox button.on,
html[data-theme="light"] #hlci .save,
html[data-theme="light"] .plmsg .pl-go a.pri,
html[data-theme="light"] #plSheet .pl-row button.pri {
  background: linear-gradient(135deg, var(--gold2), var(--gold)) !important;
  border-color: transparent !important;
  color: var(--ink) !important;
}

html[data-theme="light"] #pinBar .pin-t {
  color: var(--ink);
}

html[data-theme="light"] .langsw button.on,
html[data-theme="light"] .tab.on,
html[data-theme="light"] .ep-tabs button.on,
html[data-theme="light"] .pfact.on,
html[data-theme="light"] .pfhead .sp2,
html[data-theme="light"] .tile .t-v,
html[data-theme="light"] .cab-hero .spirit,
html[data-theme="light"] a.pftag,
html[data-theme="light"] a.pfurl {
  color: #68408b;
}

html[data-theme="light"] .langsw button.on,
html[data-theme="light"] .ep-tabs button.on {
  background: rgba(112, 64, 154, .13);
  border-color: rgba(112, 64, 154, .25);
}

/* Конверт и лупа стоят с луной в один ряд и одеваются здесь же:
   раньше луна брала белую подложку .70 и рамку .20, а те двое —
   var(--glass) и var(--line). Оттого луна и была «из другой оперы». */
html[data-theme="light"] .themebtn,
html[data-theme="light"] #hlDmTop,
html[data-theme="light"] #hlFindTop,
html[data-theme="light"] .rback,
html[data-theme="light"] .emobtn,
html[data-theme="light"] .pfbtn,
html[data-theme="light"] .give button,
html[data-theme="light"] .logout,
html[data-theme="light"] .dmhead button,
html[data-theme="light"] .dma,
html[data-theme="light"] .pfact,
html[data-theme="light"] .pfedit button {
  background: rgba(255, 255, 255, .70);
  border-color: rgba(104, 59, 139, .20);
  color: #644e71;
}

html[data-theme="light"] .pfmenu,
html[data-theme="light"] .dmpanel,
html[data-theme="light"] #hlci,
html[data-theme="light"] #hlregEd .box,
html[data-theme="light"] #hlPr .sh,
html[data-theme="light"] #hlAnWrap .card {
  background: linear-gradient(180deg, #fdfbfe, #f5eef9) !important;
  border-color: rgba(104, 59, 139, .22) !important;
  color: var(--ink) !important;
  box-shadow: 0 22px 64px rgba(55, 28, 76, .20) !important;
}

html[data-theme="light"] #dmSheet,
html[data-theme="light"] #actSheet,
html[data-theme="light"] #reactSheet,
html[data-theme="light"] #attachSheet,
html[data-theme="light"] #hlregEd,
html[data-theme="light"] #hlAnWrap,
html[data-theme="light"] #hlPr {
  background: rgba(45, 25, 58, .28) !important;
}

html[data-theme="light"] .dmrow,
html[data-theme="light"] .dmsw,
html[data-theme="light"] .dmitem,
html[data-theme="light"] .dmtabs button:not(.on),
html[data-theme="light"] .dma:not(.pri),
html[data-theme="light"] #hlregEd .rrow,
html[data-theme="light"] #hlregEd select,
html[data-theme="light"] #hlregEd input,
html[data-theme="light"] #hlregEd textarea,
html[data-theme="light"] #hlPr .alt,
html[data-theme="light"] #hlci .mute {
  background: rgba(255, 255, 255, .60) !important;
  border-color: rgba(104, 59, 139, .18) !important;
  color: var(--ink) !important;
}

html[data-theme="light"] .dmnm,
html[data-theme="light"] .dmhead b,
html[data-theme="light"] #hlregEd h4,
html[data-theme="light"] #hlPr .nm,
html[data-theme="light"] #hlci .hd b {
  color: var(--ink) !important;
}

html[data-theme="light"] .dmsub,
html[data-theme="light"] .dmnote,
html[data-theme="light"] #hlPr .sub,
html[data-theme="light"] #hlci .sub {
  color: var(--ink-dim) !important;
}

html[data-theme="light"] .pfchoice,
html[data-theme="light"] .atitem {
  background: rgba(255, 255, 255, .76);
  border-color: rgba(104, 59, 139, .17);
  color: var(--ink);
}

html[data-theme="light"] .pfmode:active,
html[data-theme="light"] .pfchoice:active,
html[data-theme="light"] .atitem:active,
html[data-theme="light"] .dmrow:active {
  background: rgba(112, 64, 154, .10) !important;
}

html[data-theme="light"] .pfupload > i,
html[data-theme="light"] .pfpendingbar,
html[data-theme="light"] .voice .bar,
html[data-theme="light"] .vbar {
  background: rgba(74, 42, 94, .11);
}

html[data-theme="light"] .pfupload > i > b,
html[data-theme="light"] .pfpendingbar > i {
  background: linear-gradient(90deg, #6f4098, #b486d0);
}

html[data-theme="light"] #pfList .pfpost {
  border-bottom-color: rgba(104, 59, 139, .16) !important;
}

html[data-theme="light"] .pffilter,
html[data-theme="light"] .pftabs,
html[data-theme="light"] .flsw,
html[data-theme="light"] .hllive-card,
html[data-theme="light"] .hlcreate-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, .84), rgba(244, 237, 249, .58));
  border-color: rgba(104, 59, 139, .20);
}

html[data-theme="light"] .pftab.on,
html[data-theme="light"] .flsw button.on,
html[data-theme="light"] .flbtn.on {
  background: linear-gradient(135deg, rgba(212, 175, 75, .18), rgba(112, 64, 154, .08));
  box-shadow: inset 0 0 0 1px rgba(177, 132, 36, .12);
  color: #8f6415;
}

html[data-theme="light"] .hllive-card,
html[data-theme="light"] .hllive-one {
  box-shadow: none;
}

html[data-theme="light"] .hllive-badge,
html[data-theme="light"] .hllive-flag,
html[data-theme="light"] .hall .pinbadge,
html[data-theme="light"] #hlPr .rl {
  background: linear-gradient(135deg, rgba(212, 175, 75, .18), rgba(112, 64, 154, .09));
  border-color: var(--hl-light-gold-edge);
  color: #805713;
}

html[data-theme="light"] .tabbar .tab .newdot,
html[data-theme="light"] #pullInd {
  background: var(--hl-light-gold-2);
  border-color: rgba(255, 255, 255, .86);
  box-shadow: 0 0 0 2px rgba(112, 64, 154, .13);
}

html[data-theme="light"] .daysep::before,
html[data-theme="light"] .daysep::after,
html[data-theme="light"] .hl-unread-div::before,
html[data-theme="light"] .hl-unread-div::after {
  background: linear-gradient(90deg, transparent, rgba(112, 64, 154, .36), transparent);
}

html[data-theme="light"] .daysep span,
html[data-theme="light"] .hl-unread-div span {
  background: rgba(250, 247, 252, .90);
  border-color: rgba(104, 59, 139, .17);
  color: #70409a;
}

html[data-theme="light"] #stBar .st-one.mine .st-ring .st-plus {
  border-color: var(--bg0);
}

html[data-theme="light"] .dmtoast,
html[data-theme="light"] .toast {
  background: rgba(53, 29, 71, .94) !important;
  border-color: rgba(190, 150, 217, .34) !important;
  color: #fbf8fd !important;
}

@media (max-width: 560px) {
  html[data-theme="light"] body,
  html[data-theme="light"] #room {
    background-image:
      radial-gradient(520px 330px at 18% -4%, rgba(122, 75, 159, .11), transparent 68%),
      linear-gradient(180deg, #f2ebf8 0%, #f6f1fb 50%, #efe7f6 100%);
  }
}

/* rc.32: механическая доводка жёстко зашитых хвостов старой палитры.
   Только светлая тема; тёмная тема, роли, запись/удаление и плеер не меняются. */
html[data-theme="light"] #hlTrCard {
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(244,237,249,.94));
  border-color: rgba(104,59,139,.20);
  color: var(--ink);
  box-shadow: 0 8px 28px rgba(61,30,82,.10);
}
html[data-theme="light"] #hlTrCard h3,
html[data-theme="light"] #hlTrCard b { color: var(--ink); }
html[data-theme="light"] #hlTrCard p,
html[data-theme="light"] #hlTrCard ul,
html[data-theme="light"] #hlTrCard li,
html[data-theme="light"] #hlTrBtns { color: var(--ink); }
html[data-theme="light"] #hlTrOk,
html[data-theme="light"] #hlTrOk.gold {
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  border-color: transparent;
  color: var(--ink);
}
html[data-theme="light"] #hlTrData {
  background: rgba(255,255,255,.70);
  border-color: rgba(104,59,139,.20);
  color: var(--ink);
}
html[data-theme="light"] .na-yes {
  background: linear-gradient(135deg, var(--gold2), var(--gold)) !important;
  border-color: transparent !important;
  color: var(--ink) !important;
}
html[data-theme="light"] .hlpen {
  border-color: rgba(104,59,139,.20);
  color: var(--hl-light-accent);
}
html[data-theme="light"] #dmCount,
html[data-theme="light"] .dmbadge {
  background: var(--hl-light-accent) !important;
  color: #fff !important;
}
html[data-theme="light"] .hllive-badge {
  background: linear-gradient(135deg, rgba(212,175,75,.20), rgba(112,64,154,.10)) !important;
  border-color: rgba(177,132,36,.34) !important;
  color: #805713 !important;
}
html[data-theme="light"] .hllive-manage {
  background: rgba(112,64,154,.12);
  border-color: rgba(112,64,154,.26);
  color: #60407f;
}
html[data-theme="light"] .newpill { border-color: rgba(112,64,154,.30) !important; }
html[data-theme="light"] .hlfi { background: rgba(112,64,154,.12); }
html[data-theme="light"] #cpHold { border-color: rgba(112,64,154,.35); }
html[data-theme="light"] .quote {
  border-color: rgba(112,64,154,.18);
  background: rgba(112,64,154,.05);
}
html[data-theme="light"] #hlFontBox .row button { border-color: rgba(104,59,139,.22); }
html[data-theme="light"] #hlFontBox .row button.on {
  background: linear-gradient(135deg, var(--gold2), var(--gold));
  border-color: transparent;
  color: var(--ink);
}
html[data-theme="light"] select option { color: var(--ink); }

/* rc.33: золото снова задаёт иерархию, фиолетовый остаётся основой темы. */
html[data-theme="light"] .pffilter,
html[data-theme="light"] .pftabs,
html[data-theme="light"] .flsw,
html[data-theme="light"] .pfcomp {
  border-color: rgba(177,132,36,.24);
}
html[data-theme="light"] .pfmode::before,
html[data-theme="light"] .pfmodehead b,
html[data-theme="light"] .pfact.on,
html[data-theme="light"] .tab.on {
  color: var(--hl-light-gold);
}
html[data-theme="light"] .pfmode::before {
  background: linear-gradient(180deg, var(--hl-light-gold-2), var(--hl-light-gold));
}
html[data-theme="light"] #pfList .pfpost {
  border-bottom-color: rgba(177,132,36,.22) !important;
}
/* :not(.hasface) — то же самое: у кольца с лицом сокращённая запись отняла бы
   вписывание снимка. В #stBar эта оговорка была, здесь её забыли. */
html[data-theme="light"] .hllesson-one .st-ring:not(.hasface) {
  border-color: rgba(177,132,36,.72) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(225,211,237,.88)) !important;
  color: var(--hl-light-gold) !important;
  box-shadow: 0 0 0 2px rgba(177,132,36,.08), inset 0 0 22px rgba(112,64,154,.08) !important;
}
html[data-theme="light"] .hllesson-one .st-nm {
  color: #805713 !important;
}

/* rc.34: оставшиеся тёмные поверхности в светлой оболочке. */
html[data-theme="light"] #notifAsk {
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(242,233,248,.96));
  border-color: rgba(104,59,139,.22);
  box-shadow: 0 14px 38px rgba(61,30,82,.15);
}
html[data-theme="light"] #notifAsk .na-t { color: var(--ink); }
html[data-theme="light"] #notifAsk .na-no { color: var(--ink-dim); }
html[data-theme="light"] #notifAsk .na-ic { color: var(--hl-light-gold); }

html[data-theme="light"] #stBar .st-one.mine .st-ring:not(.hasface) {
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(232,220,241,.92));
  border-color: rgba(112,64,154,.42);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 7px 18px rgba(61,30,82,.10);
}

html[data-theme="light"] .playerframe { background: var(--bg0); }
html[data-theme="light"] #musicBar {
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,237,249,.97));
  border-bottom-color: rgba(104,59,139,.20);
  box-shadow: 0 10px 28px rgba(61,30,82,.10);
}
html[data-theme="light"] #musicBar .mb-b {
  background: rgba(112,64,154,.09);
  color: var(--ink);
}
html[data-theme="light"] #musicBar .mb-vol { background: rgba(112,64,154,.20); }

html[data-theme="light"] .bgsw {
  background: #fbf8fd;
  border-color: rgba(104,59,139,.22);
  color: var(--ink-dim);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
}
html[data-theme="light"] .bgsw[data-bg="aurora"] {
  background: radial-gradient(120% 90% at 50% -10%, rgba(166,120,202,.36), transparent 62%), #fbf8fd;
}
html[data-theme="light"] .bgsw[data-bg="plum"] {
  background: linear-gradient(180deg, #e5d5ef, #faf6fc);
}
html[data-theme="light"] .bgsw[data-bg="gold"] {
  background: radial-gradient(120% 100% at 50% 0%, rgba(230,198,106,.42), transparent 60%), #fffdf7;
}
html[data-theme="light"] .bgsw[data-bg="stars"] {
  background: radial-gradient(circle at 30% 30%, rgba(112,64,154,.24) 1px, transparent 1.6px) 0 0/12px 12px, var(--bg0);
}
html[data-theme="light"] .bgcustom { color: var(--hl-light-gold); }

/* СЕРДЦЕ ЗАПОЛНЯЕТСЯ, КОГДА ЛАЙКНУЛ. Решение Лираз 24.09.2026.
   Значок рисуется маской по currentColor, поэтому «залить» его — значит дать
   цвет; отдельной заливки у маски нет. Красный берём тёплый, не сигнальный:
   рядом с золотом общины алый выглядит тревогой, а не теплом. */
html[data-theme="light"] .pfact.like.on,
.pfact.like.on { color: #d94b5c; }
html[data-theme="light"] .pfact.like.on::before,
.pfact.like.on::before { transform: scale(1.06); }

/* ---------- обои чертога в светлой теме ---------- */
/* Приём тёмной темы — тёмная пелена и почти чёрные пузыри поверх фотографии —
   в светлой превращал ленту в чёрные плашки на лавандовом поле. Здесь то же
   самое, но светлым: пелена молочная, пузыри белые, текст остаётся тушью. */
html[data-theme="light"] #msgs.has-wall {
  box-shadow: inset 0 0 0 9999px rgba(250, 247, 253, .46);
}
html[data-theme="light"] #msgs.has-wall .msg.them:not(.m-stk):not(.m-circ) {
  background: rgba(255, 255, 255, .88);
  border-color: rgba(104, 59, 139, .20);
}
html[data-theme="light"] #msgs.has-wall .msg.me:not(.m-stk):not(.m-circ) {
  background: linear-gradient(135deg, rgba(var(--gold-rgb), .26), rgba(255, 255, 255, .92));
}
html[data-theme="light"] #msgs.has-wall .msg {
  background-image: linear-gradient(rgba(255, 255, 255, .5), rgba(255, 255, 255, .5)) !important;
}
html[data-theme="light"] #msgs.has-wall .daysep,
html[data-theme="light"] #msgs.has-wall .sep,
html[data-theme="light"] #msgs.has-wall .msg .bd {
  text-shadow: none;
}

/* ---------- листы и панели, у которых не было светлой пары ---------- */
/* Обход 27.09.2026 нашёл 36 правил с тёмной заливкой без пары для дня.
   Двадцать пять из них — подложки под фото и видео: там тёмное уместно в
   обеих темах, пока снимок грузится. А одиннадцать — листы и панели, и
   они оставались чёрными прямоугольниками на лавандовом поле.
   Это тот же класс, что дал чёрные пузыри под обоями, тёмную подсказку
   «на экран Домой» и тёмную шапку на десктопе: правило писали для ночи и
   не писали пару для дня. Поэтому все одиннадцать — ОДНИМ правилом: пока
   они в одном селекторе, разойтись им нечем. */
html[data-theme="light"] #reactTip,
html[data-theme="light"] #hlmSheet,
html[data-theme="light"] #hlIvPick .card,
html[data-theme="light"] #hlDmAct .hlcard,
html[data-theme="light"] #hllkSheet,
html[data-theme="light"] #hlUpBar,
html[data-theme="light"] .sticker-suggest,
html[data-theme="light"] #photoCompose,
html[data-theme="light"] #photoCompose .pc-bar {
  background: var(--glass2);
  color: var(--ink);
  border-color: var(--line);
}
/* Держатель и призрак наклейки — подложка под прозрачным рисунком.
   Тёмный квадрат за наклейкой в светлой теме читался как дыра. */
html[data-theme="light"] #hlstHold,
html[data-theme="light"] .hlstGhost {
  background: var(--glass);
}
