/* ═══════════════════════════════════════════════════════════════════════════════
   🧵 МАТЕРИАЛИТЕ · всичко, което се пипа, става предмет (22.09.2026)
   Собственикът: „напудрихме всичко с генерирани неща — време е и кутиите, бутончетата и
   всичко интерактивно да станат на мега ниво“. Референциите: бутоните са лъскав розов гел с
   дълбочина, картите и чиповете — филц с шев, полетата — вдлъбнати капсули, иконките — в кръг.
   МЕРЕНО преди писане (dom_inventar.js, 9-те стаи + началото): 2182 интерактивни елемента в 187
   вида; първите 25 вида са над 85%. Системата облича ВИДОВЕТЕ по класа им — нищо в логиката.
   ЙЕРАРХИЯ (иначе всичко блести и нищо не се вижда): 1) ГЛАВНО действие — розов гел;
   2) второстепенно — кремав филц; 3) дребно — кръгче. Спешното (112, SOS) остава червено.
   КОНТРАСТ (изчислен по WCAG 2.1, не на око): бял текст върху досегашното #e56d99 = 3.0:1 —
   под 4.5. Гелът е по-наситен: под текста е #c8457a = 4.6:1; фонов цвят е същият, за четците.
   ФИЛЦЪТ: img/art/felt.webp — 3 КБ, безшевна (огледална) неутрална плочка от КиберНинджа
   (Seedream Lite, 2 кр.): бяло с фини влакна → background-blend-mode: multiply = филц в ВСЕКИ цвят.
   ПЪТ НАЗАД: махни <link> и <script> на pl-ui от index.html.
   ═══════════════════════════════════════════════════════════════════════════════ */

:root {
  --ui-felt: url(../img/art/felt.webp);
  --ui-cream: #fffaf3;
  --ui-edge: #e9d6c3;
  --ui-edge-2: #dcc3ab;
  --ui-ink: #1d2a5c;
  --ui-gel-top: #f39bbb;
  --ui-gel-mid: #d95a8e;
  --ui-gel: #c8457a;
  --ui-gel-bot: #b93a6e;
  --ui-pick: #fde6ef;
  --ui-pick-edge: #efa3c1;
  --ui-pick-ink: #9e2f5f;
  --ui-ring: 0 0 0 4px rgba(217, 90, 142, .28);
}

/* ═══ 1 · ГЛАВНОТО ДЕЙСТВИЕ — розов гел с блик, дъно и натискане ═══ */
html body .jr-btn.jr-btn, html body .btn.btn-pink, html body .pl-cta.pl-cta, html body .pl-gel.pl-gel,
html body #roomOverlay .ask-send.ask-send, html body #roForm button:last-child:not(#roMic),
html body #onbOverlay #onbSave, html body .tour-next.tour-next {
  position: relative; isolation: isolate;
  background-color: var(--ui-gel) !important;
  background-image:
    radial-gradient(120% 70% at 50% -10%, rgba(255, 255, 255, .62) 0, rgba(255, 255, 255, .18) 38%, rgba(255, 255, 255, 0) 55%),
    linear-gradient(180deg, var(--ui-gel-top) 0%, var(--ui-gel-mid) 32%, var(--ui-gel) 62%, var(--ui-gel-bot) 100%) !important;
  color: #fff !important; border: 0 !important;
  text-shadow: 0 1px 0 rgba(120, 20, 60, .35);
  box-shadow:
    inset 0 1.5px 0 rgba(255, 255, 255, .55),
    inset 0 -3px 0 rgba(120, 20, 60, .22),
    0 3px 0 #a83566,
    0 10px 20px rgba(200, 69, 122, .32) !important;
  transition: transform .14s ease, box-shadow .14s ease, filter .2s ease;
}
html body .jr-btn.jr-btn:active, html body .btn.btn-pink:active, html body .pl-cta.pl-cta:active, html body .pl-gel.pl-gel:active,
html body #roomOverlay .ask-send.ask-send:active, html body #roForm button:last-child:not(#roMic):active,
html body #onbOverlay #onbSave:active, html body .tour-next.tour-next:active {
  transform: translateY(3px) !important;
  box-shadow: inset 0 1.5px 0 rgba(255, 255, 255, .45), inset 0 -2px 0 rgba(120, 20, 60, .2), 0 0 0 #a83566, 0 4px 10px rgba(200, 69, 122, .28) !important;
}
html body .jr-btn.jr-btn:focus-visible, html body .pl-cta.pl-cta:focus-visible { outline: none; box-shadow: var(--ui-ring), 0 3px 0 #a83566 !important; }
html body .jr-btn.jr-btn:disabled, html body .jr-btn.jr-btn[aria-disabled="true"] { filter: grayscale(.55) opacity(.7); transform: none !important; }
/* работещото (напр. таймерът „Събуди се“) — пулсиращо сияние, не мигане */
html body .jr-btn.jr-btn.running { animation: uiGlow 2.4s ease-in-out infinite; }
@keyframes uiGlow { 50% { box-shadow: inset 0 1.5px 0 rgba(255,255,255,.55), inset 0 -3px 0 rgba(120,20,60,.22), 0 3px 0 #a83566, 0 0 0 7px rgba(217, 90, 142, .18), 0 10px 20px rgba(200,69,122,.32); } }

/* ═══ 2 · ВТОРОСТЕПЕННОТО — кремав филц: чипове, хапчета, отговори ═══ */
html body .jr-chip.jr-chip, html body #roChips .ro-chip.ro-chip, html body #roomOverlay .ask-chip.ask-chip, html body .pl-soft.pl-soft,
html body .wt-o.wt-o, html body .ct-b.ct-b, html body .cl-b.cl-b, html body .hs-chip.hs-chip, html body .fa-chip.fa-chip,
html body .tk-b.tk-b, html body .set-tgl.set-tgl, html body .plus-item.plus-item, html body .horo-b.horo-b, html body .shm-btn.shm-btn,
html body .onb-sexbtn.onb-sexbtn, html body .bb-sexbtn.bb-sexbtn, html body .toc-b.toc-b, html body .jr-winbtn.jr-winbtn {
  background-color: var(--ui-cream) !important;
  background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border: 1.5px solid var(--ui-edge) !important;
  color: var(--ui-ink) !important;
  box-shadow: inset 0 1px 0 #fff, 0 2px 0 var(--ui-edge-2), 0 5px 12px rgba(110, 76, 52, .10) !important;
  transition: transform .12s ease, box-shadow .12s ease, background-color .2s ease, border-color .2s ease;
}
html body .jr-chip.jr-chip:active, html body #roChips .ro-chip.ro-chip:active, html body #roomOverlay .ask-chip.ask-chip:active, html body .pl-soft.pl-soft:active,
html body .wt-o.wt-o:active, html body .ct-b.ct-b:active, html body .cl-b.cl-b:active, html body .hs-chip.hs-chip:active, html body .fa-chip.fa-chip:active,
html body .tk-b.tk-b:active, html body .set-tgl.set-tgl:active, html body .plus-item.plus-item:active, html body .horo-b.horo-b:active,
html body .shm-btn.shm-btn:active, html body .onb-sexbtn.onb-sexbtn:active, html body .bb-sexbtn.bb-sexbtn:active, html body .toc-b.toc-b:active, html body .jr-winbtn.jr-winbtn:active {
  transform: translateY(2px); box-shadow: inset 0 1px 0 #fff, 0 0 0 var(--ui-edge-2), 0 2px 6px rgba(110, 76, 52, .10) !important;
}
/* избраното — розов филц със шев отвътре; текстът #9e2f5f върху #fde6ef = 5.9:1 */
html body .jr-chip.jr-chip.on, html body .jr-chip.jr-chip[aria-pressed="true"], html body .pl-soft.pl-soft.on, html body .pl-soft.pl-soft[aria-pressed="true"], html body .pl-soft.pl-soft[aria-selected="true"], html body .wt-o.wt-o.on, html body .ct-b.ct-b.on,
html body .cl-b.cl-b.on, html body .tk-b.tk-b.on, html body .set-tgl.set-tgl.on, html body .set-tgl.set-tgl[aria-pressed="true"],
html body .onb-sexbtn.onb-sexbtn.on, html body .bb-sexbtn.bb-sexbtn.on, html body .hs-chip.hs-chip.on, html body .fa-chip.fa-chip.on {
  background-color: var(--ui-pick) !important; border-color: var(--ui-pick-edge) !important; color: var(--ui-pick-ink) !important;
  box-shadow: inset 0 0 0 3px var(--ui-pick), inset 0 0 0 4.5px rgba(217, 90, 142, .35), 0 2px 0 #e7a0bd, 0 5px 12px rgba(217, 90, 142, .18) !important;
}
html body .jr-chip.jr-chip:focus-visible, html body #roChips .ro-chip.ro-chip:focus-visible, html body .ask-chip.ask-chip:focus-visible { outline: none; box-shadow: var(--ui-ring), 0 2px 0 var(--ui-edge-2) !important; }
/* „мекият“ чип (↩ Върни…) — по-тих, без сянка */
html body .jr-chip.jr-chip.jr-chip-soft { background-color: transparent !important; background-image: none !important; box-shadow: none !important; border-style: dashed !important; }

/* ═══ 3 · РЕДОВЕТЕ-БУТОНИ (списъци в картите) — повдигнати с меко дъно; фонът им остава техен ═══ */
html body .gl-row.gl-row, html body .qd-row.qd-row, html body .nl-idea.nl-idea, html body .wm-cvrow.wm-cvrow, html body .wm-lrow.wm-lrow,
html body .pb-item.pb-item, html body .al-row.al-row, html body .fs-row.fs-row, html body .vx-row.vx-row, html body .faq-q.faq-q,
html body .fd-card.fd-card, html body .lb-card.lb-card, html body .jr-win.jr-win, html body .pg20-calrow.pg20-calrow, html body .ld-house.ld-house {
  border-radius: 16px !important;
  box-shadow: 0 1.5px 0 rgba(203, 176, 150, .55), 0 5px 12px rgba(110, 76, 52, .07) !important;
  transition: transform .12s ease, box-shadow .12s ease;
}
html body .gl-row.gl-row:active, html body .qd-row.qd-row:active, html body .nl-idea.nl-idea:active, html body .wm-cvrow.wm-cvrow:active,
html body .wm-lrow.wm-lrow:active, html body .pb-item.pb-item:active, html body .al-row.al-row:active, html body .fs-row.fs-row:active,
html body .vx-row.vx-row:active, html body .faq-q.faq-q:active, html body .fd-card.fd-card:active, html body .lb-card.lb-card:active,
html body .jr-win.jr-win:active, html body .pg20-calrow.pg20-calrow:active, html body .ld-house.ld-house:active {
  transform: translateY(1.5px); box-shadow: 0 0 0 rgba(203, 176, 150, .55), 0 2px 5px rgba(110, 76, 52, .07) !important;
}

/* ═══ 4 · ПОЛЕТАТА — вдлъбнати капсули (реф. 18), розов пръстен при писане ═══ */
html body .jr-word.jr-word, html body textarea.jr-paper, html body .lx-inp.lx-inp, html body textarea.jr-note,
html body #roomOverlay .ask-inp.ask-inp, html body #roInput, html body .ch-num.ch-num, html body #onbOverlay .jr-word {
  background-color: #fffdf9 !important; border: 1.5px solid var(--ui-edge) !important; color: var(--ui-ink) !important;
  box-shadow: inset 0 2px 4px rgba(110, 76, 52, .10), inset 0 -1px 0 #fff !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
html body textarea.jr-paper, html body textarea.jr-note, html body .lx-inp.lx-inp { border-radius: 18px !important; }
html body .jr-word.jr-word:focus, html body textarea.jr-paper:focus, html body .lx-inp.lx-inp:focus, html body textarea.jr-note:focus,
html body #roomOverlay .ask-inp.ask-inp:focus, html body #roInput:focus, html body .ch-num.ch-num:focus {
  outline: none; border-color: #d95a8e !important; box-shadow: var(--ui-ring), inset 0 2px 4px rgba(110, 76, 52, .08) !important;
}
html body input::placeholder, html body textarea::placeholder { color: #7a6f80; opacity: 1; }   /* #7a6f80 върху #fffdf9 = 4.7:1 (изчислено) */
/* отметки, радио, плъзгачи — в розово на приложението */
html body input[type="checkbox"], html body input[type="radio"], html body input[type="range"], html body progress { accent-color: #d95a8e; }
html body input[type="checkbox"], html body input[type="radio"] { width: 22px; height: 22px; }

/* ═══ 5 · КРЪГЧЕТАТА — 📍 и ▾ на всяка карта (251 + 251), микрофоните ═══ */
/* 📍 → линеен кабърчек; закаченото е розово и леко наклонено (както беше) */
html body .jr-card .pin-btn { font-size: 0 !important; opacity: 1 !important; color: #8d7f7a; }
html body .jr-card .pin-btn::before {
  content: ''; display: block; width: 16px; height: 16px; margin: auto; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3.5h6l-1 5 3.5 3.5v1.5h-11V12L10 8.5z'/%3E%3Cpath d='M12 13.5V21'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3.5h6l-1 5 3.5 3.5v1.5h-11V12L10 8.5z'/%3E%3Cpath d='M12 13.5V21'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body .jr-card .pin-btn.on { color: #d95a8e; }
/* ▾ → мека стрелка */
html body .jr-card .fold-btn { font-size: 0 !important; color: #8d7f7a; }
html body .jr-card .fold-btn::before {
  content: ''; display: block; width: 14px; height: 14px; margin: auto; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* 🎤 → линеен микрофон в бял филцов кръг */
html body .ask-mic.ask-mic, html body #roMic, html body .ro-mic.ro-mic, html body .nt-mic.nt-mic {
  font-size: 0 !important; color: var(--ui-ink) !important;
  background-color: #fff !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border: 1.5px solid var(--ui-edge) !important; box-shadow: inset 0 1px 0 #fff, 0 2px 0 var(--ui-edge-2) !important;
  display: grid !important; place-items: center;
}
/* 🪤 22.09: бележниковият микрофон (rooms2.js:2515) нямаше свой радиус — филцът го правеше квадратна кутийка
   („Свободна страница“ — видяно на снимка); сега е кръгъл като другите, 48 px */
html body .nt-mic.nt-mic { border-radius: 50% !important; width: 48px !important; height: 48px !important; min-width: 48px !important; padding: 0 !important; }
html body .ask-mic.ask-mic::before, html body #roMic::before, html body .ro-mic.ro-mic::before, html body .nt-mic.nt-mic::before {
  content: ''; width: 20px; height: 20px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='3' width='6' height='11' rx='3'/%3E%3Cpath d='M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5V21M8.5 21h7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='3' width='6' height='11' rx='3'/%3E%3Cpath d='M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5V21M8.5 21h7'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body .ask-mic.ask-mic.on, html body #roMic.on, html body .ro-mic.ro-mic.on, html body .ask-mic.ask-mic.rec, html body #roMic.rec { color: #d95a8e !important; border-color: var(--ui-pick-edge) !important; }
/* ➤ изпрати → линейна хартиена стрелка (гелът е от раздел 1) */
html body #roomOverlay .ask-send.ask-send { font-size: 0 !important; display: grid !important; place-items: center; }
html body #roomOverlay .ask-send.ask-send::before {
  content: ''; width: 20px; height: 20px; background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 3 10 14M21 3l-7 18-4-7-7-4z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 3 10 14M21 3l-7 18-4-7-7-4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ═══ 6 · БРОЯЧИТЕ −/+ (пелени и др.) — кръгли ушити копчета ═══ */
html body .bb-dipbtn.bb-dipbtn, html body .rg-mark.rg-mark {
  border-radius: 50% !important; background-color: #fff !important; color: #c8457a !important; font-weight: 800 !important;
  border: 2px solid #efb9cd !important; box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 4.5px rgba(217, 90, 142, .28), 0 2px 0 #e7a0bd !important;
  transition: transform .12s ease;
}
html body .bb-dipbtn.bb-dipbtn:active, html body .rg-mark.rg-mark:active { transform: translateY(2px) scale(.96); }
/* 🪤 НЕ сериф: цифрите на Georgia са „старинни“ — 0 се чете като „о“ (видяно на снимка: „о Мокри“) */
html body .bb-dipnum { font-family: Nunito, Nunito-fallback, system-ui, sans-serif !important; font-weight: 800 !important; font-size: 26px !important; color: var(--ui-ink) !important; font-variant-numeric: tabular-nums; }

/* ═══ 7 · ЕМОДЖИТО В БУТОНА — „стикер“ в кремав кръг (js/pl-ui.js го обвива) ═══ */
.pl-em {
  display: inline-grid; place-items: center; flex: none;
  width: 1.75em; height: 1.75em; margin: -.3em .12em -.3em -.35em; vertical-align: middle;   /* интервалът след него остава в текста */
  border-radius: 50%; font-size: 1em; line-height: 1;
  background: #fff; box-shadow: inset 0 0 0 1.5px var(--ui-edge), 0 1px 0 var(--ui-edge-2);
}
.jr-btn .pl-em { background: rgba(255, 255, 255, .92); box-shadow: 0 1px 0 rgba(120, 20, 60, .25); text-shadow: none; }
.on > .pl-em, [aria-pressed="true"] > .pl-em { box-shadow: inset 0 0 0 1.5px var(--ui-pick-edge), 0 1px 0 #e7a0bd; }

/* ═══ 8 · ОБЩИТЕ КЛАСОВЕ ЗА НОВИТЕ ЕКРАНИ — за да не прави всеки свой вариант ═══
   .pl-gel  — главно действие (розов гел)       .pl-soft — второстепенно (кремав филц; .on/aria-pressed/aria-selected = избрано)
   .pl-felt — панел от филц с пунктирен шев (като картите на сцената)                               */
html body .pl-felt.pl-felt {
  position: relative;
  background-color: #fffaf3 !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border: 1px solid rgba(214, 186, 158, .6) !important; border-radius: 26px !important;
  box-shadow: 0 16px 34px rgba(110, 76, 52, .20), 0 3px 8px rgba(110, 76, 52, .10), inset 0 2px 0 rgba(255, 255, 255, .9) !important;
}
html body .pl-felt.pl-felt::after { content: ''; position: absolute; inset: 6px; border-radius: 21px; pointer-events: none; border: 1.5px dashed rgba(196, 160, 124, .55); }
html[data-theme="dark"] body .pl-felt.pl-felt { background-color: #26336b !important; border-color: rgba(255, 255, 255, .14) !important; box-shadow: 0 16px 34px rgba(0, 0, 0, .35) !important; }
html[data-theme="dark"] body .pl-felt.pl-felt::after { border-color: rgba(255, 255, 255, .22); }
html[data-theme="dark"] body .pl-soft.pl-soft { background-color: #2b3872 !important; border-color: rgba(255, 255, 255, .16) !important; color: #f1f2fb !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 2px 0 #18214a !important; }
html[data-theme="dark"] body .pl-soft.pl-soft.on, html[data-theme="dark"] body .pl-soft.pl-soft[aria-pressed="true"], html[data-theme="dark"] body .pl-soft.pl-soft[aria-selected="true"] { background-color: #5a2c55 !important; border-color: rgba(245, 156, 187, .6) !important; color: #ffe1ec !important; }

/* ═══ 9 · СОС ЦЕНТЪРЪТ (BL_SOS_CENTER, mega.css:403) — екранът с треперещите ръце ═══
   Пазя старите решения: пулсът на 112 е transform/opacity на ::after (12.08 — батерията!),
   контрастът от 05.08. 112 = ЧЕРВЕН гел (бяло върху #c5303f = 5.4:1, изчислено), останалите
   номера = филц с тъмносин текст (#1d2a5c; подредът #5d596f = 6.4:1). Цифрите — Nunito, не сериф. */
html body .sos-ov .sos-panel.sos-panel {
  background-color: #fffaf3 !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border: 1px solid rgba(214, 186, 158, .6) !important; border-radius: 30px !important; position: relative;
}
html body .sos-ov .sos-panel.sos-panel::before { content: ''; position: absolute; inset: 7px; border-radius: 24px; pointer-events: none; border: 1.5px dashed rgba(196, 160, 124, .5); }
html body .sos-ov .sos-head h3 { font-family: Georgia, 'Noto Serif', serif !important; font-weight: 700 !important; font-size: 24px !important; color: #9b2335 !important; letter-spacing: -.3px; }
html body .sos-ov .sos-big.sos-big {
  font-family: Nunito, Nunito-fallback, system-ui, sans-serif !important; font-weight: 800 !important; text-align: left !important;
  border-radius: 22px !important; padding: 14px 16px !important;
  transition: transform .12s ease, box-shadow .12s ease;
}
html body .sos-ov .sos-big.sos-big.sos-112 {
  background-color: #c5303f !important;
  background-image: radial-gradient(120% 70% at 50% -10%, rgba(255, 255, 255, .5) 0, rgba(255, 255, 255, .12) 40%, rgba(255, 255, 255, 0) 56%), linear-gradient(180deg, #ef6a5f 0%, #d23c46 30%, #c5303f 60%, #a8233a 100%) !important;
  box-shadow: inset 0 1.5px 0 rgba(255, 255, 255, .5), inset 0 -3px 0 rgba(90, 10, 25, .25), 0 4px 0 #86192d, 0 12px 24px rgba(170, 30, 50, .35) !important;
  color: #fff !important; font-size: 23px !important; text-shadow: 0 1px 0 rgba(90, 10, 25, .35);
}
html body .sos-ov .sos-big.sos-big.sos-112:active { transform: translateY(3px); box-shadow: inset 0 1.5px 0 rgba(255, 255, 255, .4), 0 1px 0 #86192d, 0 5px 12px rgba(170, 30, 50, .3) !important; }
html body .sos-ov .sos-big.sos-big.sos-fast {
  background-color: #b8521c !important; background-image: linear-gradient(180deg, #f39a55 0%, #d0692b 40%, #b8521c 100%) !important;
  box-shadow: inset 0 1.5px 0 rgba(255, 255, 255, .45), 0 4px 0 #8a3b12, 0 10px 20px rgba(184, 82, 28, .3) !important; color: #fff !important;
}
html body .sos-ov .sos-big.sos-big:not(.sos-112):not(.sos-fast) {
  background-color: #fffaf3 !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border: 1.5px solid var(--ui-edge) !important; color: #1d2a5c !important; font-size: 16px !important;
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 var(--ui-edge-2), 0 8px 16px rgba(110, 76, 52, .12) !important;
}
html body .sos-ov .sos-big.sos-big:not(.sos-112):not(.sos-fast):active { transform: translateY(2px); box-shadow: inset 0 1px 0 #fff, 0 1px 0 var(--ui-edge-2) !important; }
html body .sos-ov .sos-big.sos-big:not(.sos-112):not(.sos-fast) span { color: #5d596f !important; opacity: 1 !important; }
html body .sos-ov .sos-big.sos-big span { font-size: 12.5px !important; margin-top: 4px !important; }
/* 🪤 mega.css:430 `.sos-big span { display:block; font-size:11.5px }` хващаше и кръга (и той е span) —
   кръгът падаше на свой ред над заглавието, мъничък (видяно на снимка) */
html body .sos-ov .sos-big .pl-em.pl-em { display: inline-grid !important; width: 44px; height: 44px; font-size: 21px !important; margin: 0 !important; opacity: 1 !important; grid-row: 1 / span 2; align-self: center; }
/* решетка: кръгът вляво на два реда, заглавието (гол текст = анонимна клетка) и подредът вдясно —
   иначе номерът се пречупваше по средата („02 / 9154 233“, „112“ сам на ред) */
html body .sos-ov .sos-big.sos-big[data-plem] { display: grid !important; grid-template-columns: 44px 1fr; column-gap: 12px; align-items: center; text-wrap: balance; }
html body .sos-ov .sos-big.sos-big[data-plem] > span:not(.pl-em) { grid-column: 2; }
html body .sos-ov .sos-big.sos-big.sos-112 { font-size: 21px !important; }
html body .sos-ov .sos-row.sos-row, html body .sos-ov .gr-open.gr-open {
  background-color: #fffaf3 !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border-radius: 20px !important;
}
html body .sos-ov .gr-open.gr-open { border: 2px solid #c5303f !important; color: #9b2335 !important; font-weight: 800 !important; box-shadow: 0 3px 0 #e8b4bc !important; min-height: 52px; }
html body .sos-ov .sos-edit.sos-edit, html body .sos-ov .sos-x.sos-x { min-width: 44px; min-height: 44px; background: #fff !important; border: 1.5px solid #efcfd4 !important; color: #9b2335 !important; }
html body .sos-ov .sos-roomlink { color: #9b2335 !important; }
html[data-theme="dark"] body .sos-ov .sos-panel.sos-panel { background-color: #2a2144 !important; border-color: rgba(255, 255, 255, .14) !important; }
html[data-theme="dark"] body .sos-ov .sos-head h3, html[data-theme="dark"] body .sos-ov .sos-roomlink, html[data-theme="dark"] body .sos-ov .gr-open.gr-open { color: #ffc2cb !important; }
html[data-theme="dark"] body .sos-ov .sos-big.sos-big:not(.sos-112):not(.sos-fast), html[data-theme="dark"] body .sos-ov .sos-row.sos-row, html[data-theme="dark"] body .sos-ov .gr-open.gr-open {
  background-color: #2b3872 !important; border-color: rgba(255, 255, 255, .16) !important; color: #fff !important; box-shadow: 0 3px 0 #18214a !important;
}
html[data-theme="dark"] body .sos-ov .sos-big.sos-big:not(.sos-112):not(.sos-fast) span { color: #d6d8ee !important; }
html[data-theme="dark"] body .sos-ov .sos-edit.sos-edit, html[data-theme="dark"] body .sos-ov .sos-x.sos-x { background: rgba(255, 255, 255, .08) !important; border-color: rgba(255, 255, 255, .18) !important; color: #ffc2cb !important; }

/* ═══ 10 · СЕКЦИЯТА „ДНЕС“ под началото (#todaySection) — беше голяма бяла плоча с бели карти,
   „Здравей!“ на стария Comfortaa и безшевни хапчета (мерено: 11 вида карти, dom_dnes.js).
   Плочата става прозрачна (сцената се вижда), картите — филц; шевът е outline (следва ъглите),
   не ::after — картите може да ползват псевдоелементите си за друго. ═══ */
html body #todaySection .td-inner.td-inner { background: transparent !important; box-shadow: none !important; border: 0 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html body #todaySection .big-now.big-now, html body #todaySection .brief-card.brief-card, html body #todaySection .td-tip.td-tip,
html body #todaySection .wk-card.wk-card, html body #todaySection .qa-card.qa-card, html body #todaySection .ch-card.ch-card,
html body #todaySection .td-trick.td-trick, html body #todaySection .td-myth.td-myth, html body #todaySection .td-game.td-game,
html body #todaySection .fd-tone.fd-tone, html body #todaySection .fd-q30.fd-q30 {
  background-color: #fffaf3 !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border: 1px solid rgba(214, 186, 158, .6) !important; border-radius: 24px !important;
  box-shadow: 0 14px 30px rgba(110, 76, 52, .18), 0 3px 8px rgba(110, 76, 52, .08), inset 0 2px 0 rgba(255, 255, 255, .9) !important;
  outline: 1.5px dashed rgba(196, 160, 124, .55); outline-offset: -7px;
}
html body #todaySection .wk-cnt.wk-cnt:not(.full) { color: #9e2f5f !important; }   /* --pink-deep върху бяло = 3.0:1 (одит) → 5.9:1 */
html body #todaySection .wk-cnt.wk-cnt.full { background: #c8457a !important; color: #fff !important; }
html body #todaySection .td-hello.td-hello { font-family: Georgia, 'Noto Serif', serif !important; font-weight: 700 !important; font-size: 24px !important; color: #1d2a5c !important; }
html body #todaySection .wk-title, html body #todaySection .qa-title, html body #todaySection .ch-title, html body #todaySection .wk-head,
html body #todaySection .td-myth strong, html body #todaySection .td-game strong, html body #todaySection .fd-tone strong, html body #todaySection .fd-q30 strong {
  font-family: Georgia, 'Noto Serif', serif !important; font-weight: 700 !important; font-size: 18.5px !important; color: #1d2a5c !important; letter-spacing: -.2px;
}
html body #todaySection .td-chip.td-chip, html body #todaySection .t8-chip.t8-chip, html body #todaySection .ch-add-b.ch-add-b, html body #todaySection .ch-cancel.ch-cancel,
html body #todaySection .fd-tb.fd-tb, html body #todaySection .td-mbtn.td-mbtn {
  background-color: var(--ui-cream) !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border: 1.5px solid var(--ui-edge) !important; color: var(--ui-ink) !important;
  box-shadow: inset 0 1px 0 #fff, 0 2px 0 var(--ui-edge-2), 0 5px 12px rgba(110, 76, 52, .10) !important;
  transition: transform .12s ease, box-shadow .12s ease;
}
html body #todaySection .ch-add-b.ch-add-b { border-style: dashed !important; box-shadow: none !important; }
html body #todaySection .td-chip.td-chip.td-accent { background-color: var(--ui-pick) !important; border-color: var(--ui-pick-edge) !important; color: var(--ui-pick-ink) !important; }
html body #todaySection .td-chip.td-chip:active, html body #todaySection .t8-chip.t8-chip:active, html body #todaySection .ch-add-b.ch-add-b:active, html body #todaySection .fd-tb.fd-tb:active { transform: translateY(2px); box-shadow: inset 0 1px 0 #fff !important; }
html body #todaySection .qa-b.qa-b, html body #todaySection .fd-qb.fd-qb, html body #todaySection .ch-ok.ch-ok {
  background-color: var(--ui-gel) !important;
  background-image: radial-gradient(120% 70% at 50% -10%, rgba(255, 255, 255, .6) 0, rgba(255, 255, 255, 0) 55%), linear-gradient(180deg, var(--ui-gel-top) 0%, var(--ui-gel-mid) 32%, var(--ui-gel) 62%, var(--ui-gel-bot) 100%) !important;
  color: #fff !important; border: 0 !important; box-shadow: inset 0 1.5px 0 rgba(255, 255, 255, .55), 0 3px 0 #a83566, 0 8px 16px rgba(200, 69, 122, .3) !important;
}
html body #todaySection .qa-inp.qa-inp, html body #todaySection .fd-qi.fd-qi {
  background-color: #fffdf9 !important; border: 1.5px solid var(--ui-edge) !important; color: var(--ui-ink) !important;
  box-shadow: inset 0 2px 4px rgba(110, 76, 52, .10) !important;
}
html body #todaySection .qa-inp.qa-inp:focus, html body #todaySection .fd-qi.fd-qi:focus { outline: none; border-color: #d95a8e !important; box-shadow: var(--ui-ring) !important; }
html[data-theme="dark"] body #todaySection .big-now.big-now, html[data-theme="dark"] body #todaySection .brief-card.brief-card, html[data-theme="dark"] body #todaySection .td-tip.td-tip,
html[data-theme="dark"] body #todaySection .wk-card.wk-card, html[data-theme="dark"] body #todaySection .qa-card.qa-card, html[data-theme="dark"] body #todaySection .ch-card.ch-card,
html[data-theme="dark"] body #todaySection .td-trick.td-trick, html[data-theme="dark"] body #todaySection .td-myth.td-myth, html[data-theme="dark"] body #todaySection .td-game.td-game,
html[data-theme="dark"] body #todaySection .fd-tone.fd-tone, html[data-theme="dark"] body #todaySection .fd-q30.fd-q30 {
  background-color: #26336b !important; border-color: rgba(255, 255, 255, .14) !important; outline-color: rgba(255, 255, 255, .22); box-shadow: 0 14px 30px rgba(0, 0, 0, .35) !important;
}
html[data-theme="dark"] body #todaySection .td-hello.td-hello, html[data-theme="dark"] body #todaySection .wk-title, html[data-theme="dark"] body #todaySection .qa-title,
html[data-theme="dark"] body #todaySection .ch-title, html[data-theme="dark"] body #todaySection .wk-head { color: #fff !important; }
html[data-theme="dark"] body #todaySection .td-chip.td-chip, html[data-theme="dark"] body #todaySection .t8-chip.t8-chip, html[data-theme="dark"] body #todaySection .ch-add-b.ch-add-b,
html[data-theme="dark"] body #todaySection .ch-cancel.ch-cancel, html[data-theme="dark"] body #todaySection .fd-tb.fd-tb, html[data-theme="dark"] body #todaySection .td-mbtn.td-mbtn {
  background-color: #2b3872 !important; border-color: rgba(255, 255, 255, .16) !important; color: #f1f2fb !important; box-shadow: 0 2px 0 #18214a !important;
}
html[data-theme="dark"] body #todaySection .qa-inp.qa-inp, html[data-theme="dark"] body #todaySection .fd-qi.fd-qi { background-color: #1b2554 !important; border-color: rgba(255, 255, 255, .18) !important; color: #f1f2fb !important; }

/* ═══ 11 · КАРТАТА НА СТАЯТА (#roomMap .rm-veil, roommap.js / rooms.css:1899) — долен лист от филц ═══ */
html body .rm-veil .rm-box.rm-box {
  position: relative; padding-top: 22px !important; border-radius: 30px 30px 0 0 !important; color: #1d2a5c !important;
  background-color: #fffaf3 !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border-top: 1px solid rgba(214, 186, 158, .7); box-shadow: 0 -12px 40px rgba(60, 40, 50, .28) !important;
}
html body .rm-veil .rm-box.rm-box::before { content: ''; position: absolute; top: 9px; left: 50%; width: 44px; height: 5px; margin-left: -22px; border-radius: 3px; background: #dcc3ab; }
html body .rm-veil .rm-h.rm-h { font-family: Georgia, 'Noto Serif', serif !important; font-size: 19px !important; color: #1d2a5c !important; letter-spacing: -.2px; white-space: nowrap; }
html body .rm-veil .rm-count { opacity: 1 !important; color: #5d596f; font-size: 12px !important; }
html body .rm-veil .rm-x { opacity: 1 !important; min-width: 44px; min-height: 44px; border-radius: 50% !important; background: #fff !important; border: 1.5px solid var(--ui-edge) !important; color: #1d2a5c !important; }
html body .rm-veil .rm-g.rm-g { opacity: 1 !important; color: #9e2f5f; font-size: 11.5px !important; }
html body .rm-veil .rm-item.rm-item {
  background-color: #fffdf9 !important; border: 1.5px solid var(--ui-edge) !important; border-radius: 16px !important; font-size: 14.5px !important; font-weight: 700;
  box-shadow: 0 2px 0 var(--ui-edge-2) !important; margin-bottom: 3px; transition: transform .12s ease;
}
html body .rm-veil .rm-item.rm-item:active { transform: translateY(2px); box-shadow: none !important; }
html body .rm-veil .rm-item.seen { opacity: 1 !important; background-color: #fbf3ea !important; }
html body .rm-veil .rm-item.seen .rm-n { color: #5d596f; }
html body .rm-veil .rm-e.rm-e { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 1.5px var(--ui-edge); font-size: 17px !important; }
html body .rm-veil .rm-check { color: #1f7a64 !important; }
html[data-theme="dark"] body .rm-veil .rm-box.rm-box { background-color: #26336b !important; color: #fff !important; border-top-color: rgba(255, 255, 255, .14); }
html[data-theme="dark"] body .rm-veil .rm-h.rm-h { color: #fff !important; }
html[data-theme="dark"] body .rm-veil .rm-count, html[data-theme="dark"] body .rm-veil .rm-item.seen .rm-n { color: #d6d8ee; }
html[data-theme="dark"] body .rm-veil .rm-g.rm-g { color: #ffc2d6; }
html[data-theme="dark"] body .rm-veil .rm-item.rm-item { background-color: #2b3872 !important; border-color: rgba(255, 255, 255, .16) !important; color: #fff !important; box-shadow: 0 2px 0 #18214a !important; }
html[data-theme="dark"] body .rm-veil .rm-item.seen { background-color: #243066 !important; }
html[data-theme="dark"] body .rm-veil .rm-e.rm-e { background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .18); }
html[data-theme="dark"] body .rm-veil .rm-x { background: rgba(255, 255, 255, .08) !important; border-color: rgba(255, 255, 255, .18) !important; color: #fff !important; }
html[data-theme="dark"] body .rm-veil .rm-check { color: #8fd0aa !important; }

/* ═══ 12 · ДРЕБНИТЕ ЛЕНТИ ═══
   · предупреждението в дъното на стаята (p.ro-disc) — беше бяла лента с лилава черта върху сцената;
     сега кремав филц без черта, същият текст (не се пипа — медицинско предупреждение);
   · нощната лампа (#blLamp) нарочно е тъмночервена (светлина, която не буди) — НЕ се украсява;
     само подсказката падаше на системния сериф (Times) — на шрифта на приложението. */
html body #roomOverlay .ro-disc.ro-disc {
  background-color: rgba(255, 250, 243, .96) !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border-top: 1px solid rgba(214, 186, 158, .7) !important; box-shadow: 0 -6px 16px rgba(110, 76, 52, .10) !important;
  color: #4a4660 !important; font-size: 11.5px !important;
}
html[data-theme="dark"] body #roomOverlay .ro-disc.ro-disc { background-color: rgba(27, 37, 84, .96) !important; border-top-color: rgba(255, 255, 255, .12) !important; color: #d6d8ee !important; }
html body #roomOverlay .ask-chip.ask-chip { min-height: 46px !important; }
html body #roomOverlay .ask-mic.ask-mic, html body #roomOverlay .ask-send.ask-send { width: 48px !important; height: 48px !important; min-width: 48px !important; min-height: 48px !important; flex: none; }   /* агентът мери 42–43px */   /* мерено 43.9px — на косъм под 44 */
html body .bl-lamp .bl-lamp-hint { font-family: Nunito, Nunito-fallback, system-ui, sans-serif !important; }

/* ═══ 13 · ВЪТРЕШНОСТТА НА КАРТИТЕ (мерено в 9-те стаи, dom_vatre.js) ═══
   · 53 гел бутона + имената на храните, датите на ваксините, часовниците и броячите бяха на стария
     Comfortaa → шрифтът на приложението (Nunito), цифрите — равни (tabular-nums);
   · ~150 реда в картите бяха в старата лилава палитра (#faf6fb, #f7f4fc, #fbeef5, #faf8ff) → кремаво с
     топъл кант. Цветните ПО СМИСЪЛ (сол/захар, да/не, предупреждение, „направи“) остават техни.
     Само денем — нощните им правила са отделни и не се пипат. */
html body .jr-btn.jr-btn, html body .fd-name, html body .vx-when, html body .jr-card strong, html body .pg20-week, html body .nr-disp,
html body .jr-clock, html body .bt-clock, html body .br-word, html body .sos-btn {
  font-family: Nunito, Nunito-fallback, system-ui, sans-serif !important; font-variant-numeric: tabular-nums;
}
html body .jr-btn.jr-btn { font-weight: 800 !important; letter-spacing: .1px; }
html:not([data-theme="dark"]) body #roomOverlay .jr-card :is(.cm-row:not(.ob-row), .tk-row, .ld-row, div.jr-win, .rp-card, .wd-cell, .wm-ritrow, .sg-row, .ev-row, .pt-row, .rgz-row, .th-row, .hr-row, .wd-row, .bk-row, .cs-row, .sz-row, .bb-dipbox, .bb-empty, .cv-tbl) {
  background-color: #fffdf9 !important; box-shadow: inset 0 0 0 1px #f1e4d9 !important;
}
/* бутоните-редове (мерено: jr-win 63, gl-row 60, pho-cell 17, al-row, vx-row, mn-cell…) — само НЕизбраното състояние;
   отметнатото/днешното пази цвета си, защото той носи смисъл */
html:not([data-theme="dark"]) body #roomOverlay .jr-card :is(button.jr-win, .gl-row, .pho-cell.empty, .al-row, .vx-row, .mn-cell, .dv-msrow, .wm-slot, .g5-box, .we-box, .cl-box):not(.on):not(.done):not(.sel):not(.today):not([aria-pressed="true"]):not([aria-checked="true"]) {
  background-color: #fffdf9 !important; border-color: #efdccf !important;
}

/* редовете-отметки (div.jr-win > button.jr-winbtn, напр. „План за раждане“): рамката е на реда,
   копчето вътре е прозрачно — иначе се виждаше двойна рамка (снимка 22.09) */
html body .jr-win .jr-winbtn.jr-winbtn { background: transparent !important; background-image: none !important; border: 0 !important; box-shadow: none !important; }
html body .jr-win .jr-winbtn.jr-winbtn:active { transform: none; }

/* табовете в картите (напр. „Напъване / Задавяне“, style.css:1551) — бяха бледи с opacity .62;
   сега филцови хапчета, избраното — розово */
html body .fs-tab.fs-tab { opacity: 1 !important; background-color: var(--ui-cream) !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important; border: 1.5px solid var(--ui-edge) !important; color: var(--ui-ink) !important; box-shadow: 0 2px 0 var(--ui-edge-2) !important; transform: none !important; }
html body .fs-tab.fs-tab.is-on { background-color: var(--ui-pick) !important; border-color: var(--ui-pick-edge) !important; color: var(--ui-pick-ink) !important; box-shadow: inset 0 0 0 3px var(--ui-pick), inset 0 0 0 4.5px rgba(217, 90, 142, .35), 0 2px 0 #e7a0bd !important; }
html[data-theme="dark"] body .fs-tab.fs-tab { background-color: #2b3872 !important; border-color: rgba(255, 255, 255, .16) !important; color: #f1f2fb !important; box-shadow: 0 2px 0 #18214a !important; }
html[data-theme="dark"] body .fs-tab.fs-tab.is-on { background-color: #5a2c55 !important; border-color: rgba(245, 156, 187, .6) !important; color: #ffe1ec !important; }

/* ═══ 14 · СЪОБЩЕНИЯТА (BL_FX.cheer → .fx-cheer, style.css:1464) и прозорците .modal ═══
   Тостът беше розов градиент на Comfortaa с бял текст (#f7a8cb→#e56ba4 ≈ 2.6–3.0:1) → кремаво
   филцово хапче с тъмносин текст и розов кант; анимацията (fxCheer) е старата. .modal → филц със шев. */
html body .fx-cheer.fx-cheer {
  background-color: #fffaf3 !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  color: #1d2a5c !important; font-family: Nunito, Nunito-fallback, system-ui, sans-serif !important; font-weight: 800 !important;
  border: 2px solid #efa3c1; box-shadow: 0 3px 0 #e7a0bd, 0 14px 30px rgba(200, 69, 122, .28) !important;
  /* 🪤 мерено: „Записах го! 💜 Малките мигове са големите.“ = 407px на 390px екран (white-space: nowrap
     в style.css) — излизаше извън екрана от двете страни. Сега се пренася. */
  white-space: normal !important; width: max-content; max-width: calc(100vw - 32px); text-align: center; line-height: 1.35;
}
html body .modal-backdrop .modal.modal {
  position: relative;
  background-color: #fffaf3 !important; background-image: var(--ui-felt) !important; background-size: 160px 160px !important; background-blend-mode: multiply !important;
  border: 1px solid rgba(214, 186, 158, .6); box-shadow: 0 30px 70px rgba(80, 60, 70, .32) !important;
  outline: 1.5px dashed rgba(196, 160, 124, .55); outline-offset: -9px;
}
html body .modal-backdrop .modal h3 { font-family: Georgia, 'Noto Serif', serif !important; color: #1d2a5c !important; }
html body .modal-backdrop .modal p { color: #4a4660 !important; }
html[data-theme="dark"] body .fx-cheer.fx-cheer { background-color: #2b3872 !important; color: #fff !important; border-color: rgba(245, 156, 187, .6); box-shadow: 0 3px 0 #18214a, 0 14px 30px rgba(0, 0, 0, .35) !important; }
html[data-theme="dark"] body .modal-backdrop .modal.modal { background-color: #26336b !important; border-color: rgba(255, 255, 255, .14); outline-color: rgba(255, 255, 255, .22); }
html[data-theme="dark"] body .modal-backdrop .modal h3 { color: #fff !important; }
html[data-theme="dark"] body .modal-backdrop .modal p { color: #d6d8ee !important; }

/* нощем долната лента: неактивните надписи бяха 4.47:1 (мерено) — на косъм под 4.5 */
html[data-theme="dark"] body .bottom-nav .bn-item:not(.bn-active) { color: #d9dcf2 !important; }

/* ═══ НОЩ — същите предмети в нощно синьо ═══ */
html[data-theme="dark"] body .jr-chip.jr-chip, html[data-theme="dark"] body #roChips .ro-chip.ro-chip, html[data-theme="dark"] body #roomOverlay .ask-chip.ask-chip,
html[data-theme="dark"] body .wt-o.wt-o, html[data-theme="dark"] body .ct-b.ct-b, html[data-theme="dark"] body .cl-b.cl-b, html[data-theme="dark"] body .hs-chip.hs-chip,
html[data-theme="dark"] body .fa-chip.fa-chip, html[data-theme="dark"] body .tk-b.tk-b, html[data-theme="dark"] body .set-tgl.set-tgl, html[data-theme="dark"] body .plus-item.plus-item,
html[data-theme="dark"] body .horo-b.horo-b, html[data-theme="dark"] body .shm-btn.shm-btn, html[data-theme="dark"] body .onb-sexbtn.onb-sexbtn, html[data-theme="dark"] body .bb-sexbtn.bb-sexbtn,
html[data-theme="dark"] body .toc-b.toc-b, html[data-theme="dark"] body .jr-winbtn.jr-winbtn {
  background-color: #2b3872 !important; border-color: rgba(255, 255, 255, .16) !important; color: #f1f2fb !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 2px 0 #18214a, 0 5px 12px rgba(0, 0, 0, .25) !important;
}
html[data-theme="dark"] body .jr-chip.jr-chip.on, html[data-theme="dark"] body .jr-chip.jr-chip[aria-pressed="true"], html[data-theme="dark"] body .wt-o.wt-o.on,
html[data-theme="dark"] body .set-tgl.set-tgl.on, html[data-theme="dark"] body .onb-sexbtn.onb-sexbtn.on, html[data-theme="dark"] body .bb-sexbtn.bb-sexbtn.on {
  background-color: #5a2c55 !important; border-color: rgba(245, 156, 187, .6) !important; color: #ffe1ec !important;
  box-shadow: inset 0 0 0 3px #5a2c55, inset 0 0 0 4.5px rgba(245, 156, 187, .45), 0 2px 0 #2c1530 !important;
}
html[data-theme="dark"] body .jr-word.jr-word, html[data-theme="dark"] body textarea.jr-paper, html[data-theme="dark"] body .lx-inp.lx-inp, html[data-theme="dark"] body textarea.jr-note,
html[data-theme="dark"] body #roomOverlay .ask-inp.ask-inp, html[data-theme="dark"] body #roInput, html[data-theme="dark"] body .ch-num.ch-num {
  background-color: #1b2554 !important; border-color: rgba(255, 255, 255, .18) !important; color: #f1f2fb !important;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, .35) !important;
}
html[data-theme="dark"] body input::placeholder, html[data-theme="dark"] body textarea::placeholder { color: #aeb2d4; }
html[data-theme="dark"] body .ask-mic.ask-mic, html[data-theme="dark"] body #roMic, html[data-theme="dark"] body .ro-mic.ro-mic, html[data-theme="dark"] body .nt-mic.nt-mic {
  background-color: #2b3872 !important; color: #fff !important; border-color: rgba(255, 255, 255, .16) !important; box-shadow: 0 2px 0 #18214a !important;
}
html[data-theme="dark"] body .jr-card .pin-btn, html[data-theme="dark"] body .jr-card .fold-btn { color: #c9cbe3; background: transparent !important; border: 0 !important; }
html[data-theme="dark"] body .jr-card .pin-btn.on { color: #f59cbb; }
html[data-theme="dark"] body .bb-dipbtn.bb-dipbtn, html[data-theme="dark"] body .rg-mark.rg-mark { background-color: #2b3872 !important; color: #ffd6e5 !important; border-color: rgba(245, 156, 187, .5) !important; box-shadow: 0 2px 0 #18214a !important; }
html[data-theme="dark"] body .bb-dipnum { color: #fff !important; }
html[data-theme="dark"] .pl-em { background: rgba(255, 255, 255, .12); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .18); }

/* ═══ 15 · ЖИВОТЪТ — леки, ЕДНОКРАТНИ движения (само transform/opacity — композиторът ги движи
   без прерисуване; нито една безкрайна: безкрайните ядат батерията, мерено на babylandeu 22.09).
   · плюшената иконка подскача при докосване (pl-ui.js слага .pl-hop, маха го на animationend);
   · плочката със заглавието на стаята изплува, сърчицето над нея тупва два пъти. ═══ */
@keyframes plHop { 0% { transform: none; } 30% { transform: translateY(-5px) rotate(-7deg) scale(1.08); } 60% { transform: translateY(1px) rotate(5deg) scale(.98); } 100% { transform: none; } }
.pl-hop { animation: plHop .46s cubic-bezier(.3, 1.4, .5, 1) both; }
@keyframes plRise { from { opacity: .4; transform: translateY(14px); } /* 24.10: от .4 (скрит таб) */ to { opacity: 1; transform: none; } }
@keyframes plBeat { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.28); } 70% { transform: scale(.94); } }
.pl-rhero .pl-rhero-t { animation: plRise .5s cubic-bezier(.2, .9, .3, 1) .08s both; }
.pl-rhero .pl-rhero-t::before { animation: plBeat .9s ease .6s 2; transform-origin: 50% 70%; display: inline-block; }

/* движението е по избор — при „по-малко движение“ натисканията не подскачат */
@media (prefers-reduced-motion: reduce) {
  .pl-hop, .pl-rhero .pl-rhero-t, .pl-rhero .pl-rhero-t::before { animation: none !important; }
  html body .jr-btn.jr-btn.running { animation: none; }
  html body .jr-btn.jr-btn, html body .jr-chip.jr-chip, html body .gl-row.gl-row { transition: none; }
}

/* ═══ 06.10 · ЗАГЛАВИЯТА НА КАРТИТЕ ВЪВ ВСИЧКИ СТАИ ═══
   МЕРЕНО (обиколка на „Моето бебе“): 26 от 32 заглавия са на 3–4 реда, и редовете
   след първия падаха ПОД медальона (.jr-medal), вместо до текста — най-видно при
   „Профилактичните прегледи“, където „прегледи“ стоеше сам, под иконата.
   Дневникът (pl-dnevnik.css, 23.09) вече го беше решил с flex — само за себе си.
   Тук същото, доказано решение важи за всяка стая, но само за заглавие С медальон:
   заглавието се пречупва в своята колона, подзаглавието пада на цял ред отдолу.
   Карфицата и стрелката са absolute — flex не ги мести; полето вдясно не се пипа.
   ПЪТ НАЗАД: махни този блок. */
html body #roomOverlay .jr-card > h4.jr-title:has(> .jr-medal) {
  display: flex; flex-wrap: wrap; align-items: center; column-gap: 9px; row-gap: 2px;
}
html body #roomOverlay .jr-card > h4.jr-title:has(> .jr-medal) > .jr-medal { flex: 0 0 auto; margin-right: 0; }
html body #roomOverlay .jr-card > h4.jr-title:has(> .jr-medal) > .jr-sub { flex: 1 0 100%; margin-top: 1px; }
html body #roomOverlay .jr-card > h4.jr-title:has(> .jr-medal) > .pin-btn,
html body #roomOverlay .jr-card > h4.jr-title:has(> .jr-medal) > .fold-btn { flex: 0 0 auto; }

/* 06.10 · СТИКЕРЪТ СЛЕД ТЕКСТ не ляга върху точката — навсякъде, не само в дневника.
   js/pl-plyush.js слага .pl-em-sled, когато преди емоджито в същия елемент има текст
   („…млякото стига.👆 Броя само“). Стойностите са доказаните от дневника (pl-dnevnik.css §13).
   ПЪТ НАЗАД: махни тези два реда. */
html body .pl-em.pl-em-sled { margin-left: .2em !important; margin-right: -.06em !important; }

/* 🔖 06.10 МЕРЕНО (razpyani.js, „Жената в мен“ → „Репликата в джоба“): иконката в
   бутона „Запази при моите“ (.jr-x) ставаше 48×24 — 400%-овият лист се разтягаше на овал
   (15 бутона). Иконката е квадрат; бутонът си остава 40×40 (touch.css).
   ПЪТ НАЗАД: махни това правило. */
html body .jr-x > .pl-em.pl-pl { width: 24px !important; height: 24px !important; min-width: 0 !important; margin: 0 !important; flex: none !important; }

/* ═══ 21.10 · НОЩЕМ ИЗБРАНОТО Е ДЪЛБОКА РОЗА, НЕ СЛИВА ═══
   Отчетите на визуалните агенти (20.10) посочиха общ дефект в този файл (§ 6 ред ~197, § 13 ред ~425):
   избраният чип/превключвател нощем беше #5a2c55 — кафеникава слива, извън палитрата (нощта е тъмносиньо
   + розови акценти). Сега: дълбока роза, бял текст (бяло върху #8f2f61 ≈ 7,6:1), розов ръб — личи
   кое е избрано, без да свети. Същите селектори като по-горе (§ 6 и § 13), затова този блок ги бие.
   ПЪТ НАЗАД: махни този блок (до „край 21.10“). */
html[data-theme="dark"] body .pl-soft.pl-soft.on, html[data-theme="dark"] body .pl-soft.pl-soft[aria-pressed="true"], html[data-theme="dark"] body .pl-soft.pl-soft[aria-selected="true"],
html[data-theme="dark"] body .jr-chip.jr-chip.on, html[data-theme="dark"] body .jr-chip.jr-chip[aria-pressed="true"], html[data-theme="dark"] body .wt-o.wt-o.on,
html[data-theme="dark"] body .set-tgl.set-tgl.on, html[data-theme="dark"] body .onb-sexbtn.onb-sexbtn.on, html[data-theme="dark"] body .bb-sexbtn.bb-sexbtn.on {
  background-color: #8f2f61 !important; border-color: rgba(245, 156, 187, .75) !important; color: #fff !important;
  box-shadow: inset 0 0 0 3px #8f2f61, inset 0 0 0 4.5px rgba(245, 156, 187, .5), 0 2px 0 #3d1430 !important;
}
/* край 21.10 */

/* ═══ 21.10 · ФИНАЛНИЯТ ОДИТ (workflow babyland-final-audit, група „бебе/захранване/здраве“) ═══
   ПЪТ НАЗАД: махни този блок (до „край 21.10 · одит“) и двете функции „стрелки“/„лупа“ в js/pl-ui.js. */
/* 1 · нощем плюшеният микрофон беше тъмен знак върху тъмносиньо кръгче (§ 13 по-горе: background #2b3872) —
   рисунката е тъмна, затова кръгчето под нея е кремаво, както лицата на помощничките в чата */
html[data-theme="dark"] body .ask-mic.ask-mic.pl-pl, html[data-theme="dark"] body #roMic.pl-pl,
html[data-theme="dark"] body .ro-mic.ro-mic.pl-pl, html[data-theme="dark"] body .nt-mic.nt-mic.pl-pl {
  background-color: #fdf1e8 !important; border-color: rgba(255, 255, 255, .5) !important;
}
/* 2 · SOS в шапката на стаите: голото 🆘 (index.html #roSos) нощем се сливаше с тъмния кръг. Сега — ясен червен
   бутон с бял надпис „SOS“ и в двете теми; aria-label и задържането за 112 (sos.js:206) не се пипат */
html body #roomOverlay .ro-panel .ro-head #roSos.ro-sosbtn {
  font-size: 0 !important; color: transparent !important;
  background: linear-gradient(180deg, #e0485f, #b52a42) !important;
  border: 1.5px solid rgba(255, 255, 255, .75) !important;
  box-shadow: 0 3px 10px rgba(181, 42, 66, .35) !important;
}
html body #roomOverlay .ro-panel .ro-head #roSos.ro-sosbtn::before {
  content: 'SOS'; font: 800 13px/1 Nunito, Nunito-fallback, system-ui, sans-serif; letter-spacing: .4px; color: #fff;
}
/* 3 · стрелките ⬅️ ➡️ в бутоните (напр. „Лява / Дясна“ гърда): плюшът няма рисунка, едната седеше в кръгче, другата
   гола. Сега — чиста текстова стрелка в цвета на бутона (js/pl-ui.js „стрелки“; текстът на бутона е същият) */
.pl-ar { display: inline-block; font-size: 0 !important; line-height: 1; vertical-align: -.05em; margin: 0 .15em; }
.pl-ar::before { content: attr(data-ar); font: 800 18px/1 Nunito, Nunito-fallback, system-ui, sans-serif; color: currentColor; }
/* 4 · „в стаята…“ — една и съща линейна лупа във всички стаи (js/pl-ui.js „лупа“ маха 🔍 от подсказката САМО
   заедно с това правило; Захранване и Дневник имат свои, по-силни правила — остават) */
html body #roomOverlay #roRoom .sec-nav .sec-find[data-pl-lupa] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238d7f7a' stroke-width='2.1' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.4 15.4L21 21'/%3E%3C/svg%3E") !important;
  background-size: 22px 22px !important; background-position: 16px center !important; background-repeat: no-repeat !important;
  padding-left: 48px !important;
}
html[data-theme="dark"] body #roomOverlay #roRoom .sec-nav .sec-find[data-pl-lupa] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c9cbe3' stroke-width='2.1' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.4 15.4L21 21'/%3E%3C/svg%3E") !important;
}
/* 5 · ниските от одита — МЕРЕНО на живо (dev/proba/fa21_kontrast_niski.js, светла тема):
   брояч до заглавието в „Моето бебе“ 3.82:1 (#c24d7b) → #8e2350 като в другите стаи (7.08:1);
   „Изпито днес“ — розово #e56ba4 върху крем ≈ 3:1 при 32px → #b83a72;
   „Напъване · нормално“ — #5a5470 с прозрачност .86 → плътно мастило;
   картичките на храните — лилав ръб #eae3f7 (стар стил) → топлата бежова линия. „Мокри/Каки“ — 5.16:1, не е дефект. */
html:not([data-theme="dark"]) body #roomOverlay .ro-panel #roRoom .sec-head .sec-n.sec-n { color: #8e2350 !important; }
html:not([data-theme="dark"]) body #roomOverlay .ro-panel #roRoom .ml-big strong { color: #b83a72 !important; }
html:not([data-theme="dark"]) body #roomOverlay .ro-panel #roRoom .fs-pane .fs-pt { opacity: 1 !important; color: #3b3f5c !important; }
html:not([data-theme="dark"]) body #roomOverlay .ro-panel #roRoom .fd-grid .fd-card:not(.tried) { border-color: #ead8c7 !important; }
/* 6 · група „Бременност / Жената / Дневник“ на одита:
   а) денем банерът на стаята (img/art/stai/banner_*.webp, кремав фон; premium.css:930) оставаше като кремаво
      петно върху картината на стаята в „Жената в мен“ (покрива чашата и ръцете) и в „Бременност“ (корема) —
      снимка fa21_zhena_L_00. Нощем радиалната маска (premium.css:1521) го скрива. В тези две стаи — без банер денем;
   б) нощем микрофонът в „Бременност“ и „Жената“ — по-силен селектор от стайните правила (кремав кръг под рисунката);
   в) неактивните табове „Статии“/помощничката: 10.5px, 3.63:1 → 11.5px, мастило 5f5878;
   г) „Записвай колкото често ИСКАШ…“ (Дневник на наддаването) нощем 4.28:1 → #c9cbe3. */
html:not([data-theme="dark"]) body #roomOverlay .ro-panel.ro-rose #roRoom > .pl-rhero > img,
html:not([data-theme="dark"]) body #roomOverlay .ro-panel.ro-peach #roRoom > .pl-rhero > img { display: none !important; }
html[data-theme="dark"] body #roomOverlay .ro-panel .ask-mic.ask-mic.ask-mic.pl-pl { background-color: #fdf1e8 !important; border-color: rgba(255, 255, 255, .5) !important; }
html body #roomOverlay #roTabs .st-seg .st-n.st-n { font-size: 11.5px !important; }
html:not([data-theme="dark"]) body #roomOverlay #roTabs .st-seg:not(.on) { color: #5f5878 !important; }
html[data-theme="dark"] body #roomOverlay .ro-panel #roRoom .pw-box p.jr-privacy { color: #c9cbe3 !important; opacity: 1 !important; }
/* 7 · шапката на стаята нощем: ←/SOS/× стояха 12–14 px по-ниско от хапчето с табовете (мерено fa21_shapka.js:
   нощем .ro-who е 88 px висок срещу 60 денем → шапката 116 срещу 88, а бутоните се центрират по нея).
   Закотвени горе: денем остават на y = 22 (14 + 8), нощем се изравняват с табовете. */
html body #roomOverlay .ro-panel .ro-head > .ro-nav { align-self: flex-start !important; margin-top: 8px !important; }
/* 8 · 22.10 проверката „като майка“ (fp22): балонът #roFab (долу вдясно) покриваше последните „+“/микрофон в стаите —
   място под съдържанието, за да може всеки бутон да се избута над балона (докато превърташ, балонът избледнява — pl-zhivo.js). */
html body #roomOverlay .ro-panel #roRoom { padding-bottom: 120px !important; }
/* край 21.10 · одит */

/* ═══ 16 · 22.10 ЗНАНИЕТО НА ЕДИН ДОПИР — „Тази седмица“ · „Този месец“ · „След раждането“ ═══
   Картата е от js/pl-statii.js (блок 22.10); стаите я слагат: Бременност — първа в .pl-br (под банера),
   Развитие и игри — под „Нашият етап“, Жената в мен — под медальона. Една рисунка навсякъде.
   Материалът: панелът е .pl-felt (§ 8), „Прочети цялото“ е .pl-soft (§ 2) — четенето е тихо действие;
   гелът в тези стаи остава за записите. Медальонът: златен пръстен, числото на Nunito (Georgia има
   старинни цифри — „10“ се чете „1о“). Без анимации: картата идва с блока си.
   КОНТРАСТ (изчислен по WCAG 2.1, scratchpad kontrast.js, спрямо крема #fffaf3, нощем спрямо #26336b):
     етикетът #b43a6b → 5.4:1 (12px/800); заглавието #1d2a5c → 13.1:1; текстът #3b3f5c → 9.9:1;
     числото #b43a6b върху бяло → 5.6:1; „седмица“ #6b5a4e → 6.6:1; бележката #6b5a4e → 6.3:1.
     нощем: етикетът #ffc2d8 → 7.9:1; заглавието #fff → 11.9:1; текстът #e3e5f5 → 9.5:1;
     числото #ffd6e5 върху #1b2554 → 11.1:1; стрелката #ffc2d8 върху бутона #2b3872 → 7.3:1.
   ПЪТ НАЗАД: махни този раздел (до „край 22.10“) — без него картите са гол текст, нищо не се чупи. */
html body .pl-zn.pl-zn {
  flex: none; display: flex; flex-direction: column; gap: 11px;
  padding: 16px 16px 15px;
  font-family: Nunito, Nunito-fallback, system-ui, sans-serif; color: var(--pl-ink, #3b3f5c); text-align: left;
}
.pl-zn > * { position: relative; z-index: 1; }           /* над шева (::after на .pl-felt) */
.pl-zn-top { display: flex; align-items: center; gap: 13px; }
.pl-zn-medal {
  flex: none; width: 60px; height: 60px; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background: radial-gradient(circle at 50% 30%, #fff 0, #fff 55%, #fdf3e6 100%);
  box-shadow: 0 0 0 2.5px #fff, 0 0 0 4.5px #d9b46a, 0 0 0 5.5px rgba(169, 122, 38, .35), 0 6px 12px rgba(169, 122, 38, .22);
  margin: 4px 2px 4px 4px;
}
.pl-zn-medal b {
  font-family: Nunito, Nunito-fallback, system-ui, sans-serif; font-weight: 900; font-size: 23px; line-height: 1;
  font-variant-numeric: lining-nums tabular-nums; letter-spacing: -.3px; color: #b43a6b;
}
.pl-zn-medal small { margin-top: 3px; font-size: 9.5px; font-weight: 800; line-height: 1; letter-spacing: .2px; color: #6b5a4e; }
.pl-zn-hd { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pl-zn-eye { font-size: 12px; font-weight: 800; line-height: 1.2; letter-spacing: .6px; text-transform: uppercase; color: #b43a6b; }
.pl-zn-t {
  margin: 0; font-family: var(--pl-serif, Georgia, serif); font-weight: 700; font-size: 18.5px; line-height: 1.22;
  letter-spacing: -.2px; color: var(--pl-navy, #1d2a5c); text-wrap: balance; overflow-wrap: anywhere;
}
.pl-zn-note { font-style: normal; font-size: 12px; font-weight: 700; line-height: 1.25; color: #6b5a4e; }
.pl-zn-txt, .pl-zn-more p { margin: 0; font-size: 14.5px; font-weight: 600; line-height: 1.5; color: var(--pl-ink, #3b3f5c); }
.pl-zn-more { display: flex; flex-direction: column; gap: 9px; }
.pl-zn-more[hidden] { display: none; }
.pl-zn-more p.pl-zn-tip {
  padding: 10px 12px; border-radius: 16px;
  background: rgba(253, 230, 239, .55); box-shadow: inset 0 0 0 1px rgba(239, 163, 193, .45);
}
.pl-zn-more p.pl-zn-tip::before { content: '✨ '; }
html body .pl-zn .pl-zn-go.pl-zn-go {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 4px;
  min-height: 44px; margin: 1px 0 0; padding: 0 12px 0 18px; border-radius: 999px;
  font-family: Nunito, Nunito-fallback, system-ui, sans-serif; font-size: 15.5px; font-weight: 800; line-height: 1;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.pl-zn-go svg { display: block; width: 18px; height: 18px; flex: none; color: #b43a6b; }
.pl-zn-go[aria-expanded="true"] svg { transform: rotate(-90deg); }
.pl-zn-go:focus-visible { outline: 3px solid #d0508a; outline-offset: 3px; }
.pl-zn-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
/* нощ: филцът и бутонът са нощни от § 8; медальонът става тъмносин със златен пръстен */
html[data-theme="dark"] body .pl-zn.pl-zn { color: #e3e5f5; }
html[data-theme="dark"] .pl-zn-medal { background: radial-gradient(circle at 50% 30%, #24306a 0, #1b2554 100%); box-shadow: 0 0 0 2.5px #1b2554, 0 0 0 4.5px #e6c27a, 0 6px 14px rgba(0, 0, 0, .35); }
html[data-theme="dark"] .pl-zn-medal b { color: #ffd6e5; }
html[data-theme="dark"] .pl-zn-medal small, html[data-theme="dark"] .pl-zn-note { color: #d0d3ea; }
html[data-theme="dark"] .pl-zn-eye { color: #ffc2d8; }
html[data-theme="dark"] .pl-zn-t { color: #fff; }
html[data-theme="dark"] .pl-zn-txt, html[data-theme="dark"] .pl-zn-more p { color: #e3e5f5; }
html[data-theme="dark"] .pl-zn-more p.pl-zn-tip { background: rgba(255, 255, 255, .07); box-shadow: inset 0 0 0 1px rgba(245, 156, 187, .35); }
html[data-theme="dark"] .pl-zn-go svg { color: #ffc2d8; }
/* край 22.10 */
