/* Незачёт — чёрно-красная тема (03.11.2026, Настя, m=6532: «как на карточках FORAMEN CAECUM — фон чёрный, кнопки
   красные»). Подключается после app.css и перекрывает светлую ч/б тему: текст белый, поверхности тёмные, всё, что было
   чёрной кнопкой, стало красным. Откатить тему = убрать <link theme.css> из index.html. */
:root {
  --bg: #000;
  --ink: #f5f5f5;
  --ink-2: #c8c8c8;
  --muted: #8b8b8b;
  --line: rgba(255, 255, 255, .1);
  --glass: rgba(22, 16, 17, .72);
  --glass-strong: rgba(28, 20, 22, .9);
  --glass-edge: rgba(255, 255, 255, .08);
  --shadow: 0 10px 40px rgba(0, 0, 0, .55);
  --red: #e0242e;
  --red-2: #ff3b3b;
  --red-dark: #2a1215;
  --surface: #120c0e;
  --surface-2: #1b1214;
}
html, body { background: #000; color-scheme: dark; }
.b1 { background: radial-gradient(circle at 30% 30%, rgba(224, 36, 46, .55), rgba(90, 10, 16, .4) 55%, transparent 70%); opacity: .35; }
.b2 { background: radial-gradient(circle at 60% 40%, rgba(255, 59, 59, .3), rgba(40, 8, 10, .3) 55%, transparent 70%); opacity: .25; }
.b3 { display: none; }
.grain { opacity: .04; }
.composer textarea::placeholder { color: #777; }
a { color: inherit; }

/* красные кнопки — всё, что было чёрной заливкой */
.btn, .btn-new, .orb-cta, .voice-btn, .send.typing, .send.streaming, .chip.on, .upsell button, .round.end, .round.muted,
.save, .mat .mi, .tool.primary, .opt.right, .fcard .back, .mm > ul > li > .node, .lesson .n, .vm-row.on, .tool-chip,
.suggest button, .msg-tools button.on, .dive:hover, .badge-n, .pnode, .lo-opt.right, .rv-g.main, .low, .ava {
  background: var(--red); color: #fff; border-color: var(--red);
}
.btn:not(:disabled):hover, .btn-new:hover, .voice-btn:hover, .send.typing:hover, .upsell button:hover { background: var(--red-2); }
.btn.ghost { background: rgba(255, 255, 255, .08); color: var(--ink); }
.low .btn { background: #fff; color: var(--red); }
.toast { background: #1d1d1d; color: #fff; border: 1px solid rgba(255, 255, 255, .1); }
.logo .dot, .typing i, .dots span.on, .use-row em, .progress i, .bar i, .tl li::before, .plan.on .radio::after, .streak-chip i { background: var(--red); }
.feat li::before { background-color: var(--red); }
.evil input:checked + .sw { background: var(--red); }
.evil input:focus-visible + .sw { outline-color: var(--red); }
.pnode { box-shadow: 0 7px 0 #8d1219, 0 14px 24px rgba(0, 0, 0, .4); }
.lo-opt.right, .rv-g.main { box-shadow: 0 4px 0 #8d1219; }
.msg.user { background: var(--red-dark); color: #fff; border: 1px solid rgba(255, 59, 59, .25); box-shadow: none; }

/* тёмные поверхности вместо белых */
.side-link:hover, .thread:hover, .acct:hover { background: rgba(255, 255, 255, .06); }
.thread.on { background: rgba(255, 255, 255, .09); box-shadow: none; }
.upsell, .usage, .art, .preview { background: rgba(255, 255, 255, .05); }
.icon-btn:hover, .msg-tools button:hover, .tm-item.on, .tm-item:hover, .vm-row:not(.on) .vm-pick:hover { background: rgba(255, 255, 255, .08); }
.md code, .cite, .mat-chip, .dive, .td-ans, .notice, .score, .mat .fold, .vm-play, .tools-btn, .seg, .pv { background: rgba(255, 255, 255, .08); }
.mat-chip button:hover, .tools-btn:hover { background: rgba(255, 255, 255, .14); }
.md pre { background: #0d0d0d; border: 1px solid rgba(255, 255, 255, .08); }
.send { background: rgba(255, 255, 255, .1); color: #8a8a8a; }
.sw { background: rgba(255, 255, 255, .16); }
.use-row i, .progress, .bar, .tl::before { background: rgba(255, 255, 255, .1); }
.dots span { background: rgba(255, 255, 255, .14); }
.sheet, .tools-menu, .voice-menu, .panel { background: rgba(18, 12, 14, .96); border-color: rgba(255, 255, 255, .08); }
.modal { background: rgba(0, 0, 0, .6); }
.field, .side-search, .tm-search { background: #0b0809; border-color: rgba(255, 255, 255, .14); color: var(--ink); }
.field:focus, .side-search:focus { background: #0b0809; border-color: var(--red); }
.plan { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .14); }
.plan.on { background: var(--red-dark); border-color: var(--red); box-shadow: none; }
.seg button.on { background: var(--red); color: #fff; box-shadow: none; }
.mat, .add-row button, .tool, .opt, .mk, .mm .node, .voice-name, .streak-chip, .share-btn, .chip { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .1); color: var(--ink); }
.mat:hover, .add-row button:hover, .tool:hover, .opt:hover, .mk:hover, .chip:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.chip.on { border-color: var(--red); }
.opt.wrong { background: rgba(255, 255, 255, .04); }
.fcard .front { background: var(--surface-2); }
.voice { background: rgba(0, 0, 0, .94); }
.lesson-ov { background: #000; }
.lo-opt, .chip-o, .rv-card, .rv-g, .lo-stats div { background: var(--surface); border-color: rgba(255, 255, 255, .12); box-shadow: 0 3px 0 rgba(255, 255, 255, .08); color: var(--ink); }
.lo-foot { background: var(--surface); border-color: rgba(255, 255, 255, .1); }
.lo-foot.ok { background: var(--red); border-color: var(--red); }
.lo-foot.ok .btn { background: #fff; color: var(--red); }
.lo-foot.bad { background: var(--surface); border-top-color: var(--red); }
.pnode.done { background: var(--surface); color: var(--ink); border-color: var(--red); box-shadow: 0 7px 0 #3a1a1d; }
.pnode.locked { background: #1d1d1d; color: #666; box-shadow: 0 7px 0 #111; }
.confetti i { background: var(--red); }
#endCard { background: rgba(0, 0, 0, .86); }
#endCard .ec { background: var(--surface); }
@media (max-width: 860px) { .side { background: rgba(14, 10, 11, .96); } .app.side-on::after { background: rgba(0, 0, 0, .5); } }
@media (max-width: 1180px) { .panel { background: rgba(14, 10, 11, .97); } }

/* первый экран: «ПОПРОБУЙ СЕБЯ» и карточки ор-разборов; серия дней, подзаголовок и прежние примеры убраны */
.streak-chip, .today, #heroSub, .hero .orb-cta, .hero .ex { display: none !important; }
.hero { margin-top: 3vh; max-width: 760px; padding: 0 4px; }
.hero h1 { font-size: clamp(38px, 9vw, 72px); letter-spacing: -.03em; font-weight: 900; text-transform: uppercase; margin: 0 0 20px; color: #fff; }
.try { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.try-card { display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 8px 8px 10px; border-radius: 18px; background: var(--surface);
  border: 1px solid rgba(255, 59, 59, .22); color: #fff; text-align: center; box-shadow: 0 12px 30px rgba(0, 0, 0, .5); transition: transform .2s var(--ease), border-color .2s; }
.try-card:hover { transform: translateY(-2px); border-color: var(--red-2); }
.try-img { display: block; aspect-ratio: 4 / 3; border-radius: 12px; overflow: hidden; background: #fff; }
.try-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.try-card b { min-height: 2.2em; display: flex; align-items: center; justify-content: center; font-size: clamp(12px, 3.4vw, 18px); line-height: 1.1; font-weight: 900; letter-spacing: -.01em; overflow-wrap: anywhere; }
.try-go { margin-top: auto; }
.try-go { display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 7px 8px; border-radius: 999px; background: var(--red); color: #fff;
  font-size: clamp(11px, 3vw, 13px); font-weight: 800; }
.try-go .ic { width: 15px; height: 15px; }
@media (max-width: 400px) { .try { gap: 7px; } .try-card { padding: 6px 6px 8px; border-radius: 14px; gap: 6px; } .try-go { gap: 3px; padding: 7px 4px; } .try-go .ic { width: 13px; height: 13px; } }

/* сцена в окне */
.scene { position: fixed; inset: 0; z-index: 55; background: #000; display: flex; flex-direction: column; animation: fade .2s; }
.scene iframe { flex: 1; width: 100%; border: 0; background: #000; }
.scene-x { position: absolute; z-index: 2; top: max(10px, env(safe-area-inset-top)); right: 10px; background: rgba(255, 255, 255, .12); color: #fff; }
.scene-x:hover { background: rgba(255, 255, 255, .2); }

/* цели под полем: Медицина, Ветеринария, Другое */
.goal-list { justify-content: flex-start; margin: 0; flex-wrap: wrap !important; overflow: visible !important; padding: 0 !important; mask-image: none !important; -webkit-mask-image: none !important; }


/* без подписки 2 карточки (m=6584): остальные — «По подписке» и ведут в оплату */
.try-card.locked .try-img img { filter: grayscale(1) brightness(.55); }
.try-card.locked .try-go { background: rgba(255, 255, 255, .1); color: #d8d8d8; }
