/* Shared JD Lectures colors. Layout and resource behavior stay in styles.css. */
:root {
  background: #403f2b;
}
body.jd-theme {
  --home-olive: #403f2b;
  --home-cream: #f3f1c4;
  --home-muted: #d6d3b9;
  --surface: #484832;
  --surface-deep: #333421;
  --surface-hover: #55553b;
  background: var(--home-olive);
  color: var(--home-cream);
  color-scheme: dark;
}
body.jd-theme:not(.home-page) {
  --green: #f3f1c4;
  --deep: #292a1d;
  --mint: #55553b;
  --gold: #e6c488;
  --ink: #f3f1c4;
  --muted: #d6d3b9;
  --line: #777450;
  --paper: #403f2b;
  --white: #484832;
}
.jd-theme ::selection {
  background: #e6c488;
  color: #292a1d;
}
.jd-theme .skip {
  background: var(--home-cream);
  color: #292a1d;
}
.jd-theme .demo-bar {
  background: #302f21;
  color: #e0dec9;
  border-color: #58563c;
}
.jd-theme .demo-role {
  color: var(--home-muted);
}
.jd-theme .demo-role select {
  color: var(--home-cream);
}
.jd-theme .demo-role option {
  background: var(--surface-deep);
  color: var(--home-cream);
}
.jd-theme .site-header,
.jd-theme .mobile-nav {
  background: var(--home-olive);
  color: var(--home-cream);
  border-color: #686549;
}
.jd-theme .brand small {
  color: var(--home-muted);
}
.jd-theme .site-header nav a:hover,
.jd-theme .site-header nav a.active {
  color: var(--home-cream);
}
.jd-theme .icon-button {
  color: var(--home-cream);
}
.jd-theme .icon-button:hover {
  background: var(--surface-hover);
}
.jd-theme .site-header .account-button {
  background: var(--home-cream);
  color: #383823;
  border-color: var(--home-cream);
  border-radius: 40px;
}
.jd-theme .site-header .account-button:hover {
  background: #fffde4;
}
.jd-theme footer {
  background: #292a1d;
  color: var(--home-cream);
  border-color: #595b40;
}
.jd-theme footer p {
  color: #c0c1a9;
}
.jd-theme dialog {
  background: var(--surface);
  color: var(--home-cream);
  border-color: #777450;
}
.jd-theme dialog::backdrop {
  background: #17180fd4;
}
.jd-theme .toast {
  background: #292a1d;
  border-color: #928b5f;
  color: var(--home-cream);
}
body.jd-theme:not(.home-page)
  :is(
    .panel,
    .filters,
    .lesson-card,
    .study-aside,
    .lecture-notes,
    .visual-card,
    .admin-table,
    .quiz-sidebar,
    .lightbox-toolbar,
    .lightbox-bottom,
    .note-figure,
    .subject-card
  ) {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
}
body.jd-theme:not(.home-page)
  :is(.lesson-top, .toc, .note-editor, .billing-toggle, th) {
  background: var(--surface-deep);
  border-color: var(--line);
}
body.jd-theme:not(.home-page) :is(.button, .big-play) {
  background: var(--home-cream);
  color: #333421;
  border-color: var(--home-cream);
}
body.jd-theme:not(.home-page) .button:hover {
  background: #fffde4;
}
body.jd-theme:not(.home-page) .button.gold {
  background: var(--gold);
  color: #333421;
  border-color: var(--gold);
}
body.jd-theme:not(.home-page) .button.gold:hover {
  background: #f2d49e;
}
body.jd-theme:not(.home-page) .button.outline {
  background: transparent;
  color: var(--home-cream);
  border-color: #aca883;
}
body.jd-theme:not(.home-page) .button.outline:hover {
  background: var(--surface-hover);
}
body.jd-theme:not(.home-page) :is(.text-link, .download-link) {
  color: var(--home-cream);
}
body.jd-theme:not(.home-page) label {
  color: var(--home-cream);
}
body.jd-theme:not(.home-page) :is(input, select, textarea) {
  background: var(--surface-deep);
  color: #f4f0d9;
  border-color: #92906c;
}
body.jd-theme:not(.home-page) :is(input, textarea)::placeholder {
  color: #b8b598;
  opacity: 1;
}
body.jd-theme:not(.home-page) :is(input, select, textarea):disabled {
  color: #b8b598;
}
body.jd-theme:not(.home-page) input::file-selector-button {
  background: var(--home-cream);
  color: #333421;
  border: 1px solid var(--home-cream);
}
body.jd-theme:not(.home-page) :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: #e6c488;
}
body.jd-theme:not(.home-page) .search-field {
  border-color: #92906c;
}
body.jd-theme:not(.home-page) .search-field input {
  background: transparent;
}
body.jd-theme:not(.home-page)
  :is(
    .page-title .eyebrow,
    .lesson-heading .eyebrow,
    .lesson-tabs a,
    .resource-badge,
    .toc nav span,
    .section-number,
    .source-page,
    .visual-card > b,
    .note-figure figcaption,
    .subject-card > span
  ) {
  color: var(--muted);
}
body.jd-theme:not(.home-page) :is(.note-section p, .note-section li) {
  color: #eeebd5;
}
body.jd-theme:not(.home-page) .lesson-tabs a.active {
  color: var(--home-cream);
  border-bottom-color: #e6c488;
}
body.jd-theme:not(.home-page)
  :is(.lesson-tabs a:hover, .toc nav a:hover, .subject-card:hover) {
  background: var(--surface-hover);
}
body.jd-theme:not(.home-page)
  :is(.lesson-tabs small, .resource-row > span, .lock-symbol, .count, .badge) {
  background: #626044;
  color: var(--home-cream);
}
body.jd-theme:not(.home-page) .access-tag {
  background: #eee2c1;
  color: #514321;
  border-color: #d6c692;
}
body.jd-theme:not(.home-page) .access-tag.free {
  background: #dce1b4;
  color: #394625;
  border-color: #bcc58f;
}
body.jd-theme:not(.home-page) .card-play {
  background: #333421d9;
}
body.jd-theme:not(.home-page) .card-image,
body.jd-theme:not(.home-page) .lightbox-canvas {
  background: #232419;
}
body.jd-theme:not(.home-page) .paywall {
  background: linear-gradient(145deg, #514e33, #3d3f2a);
  border-color: #928b5f;
}
body.jd-theme:not(.home-page) .notice {
  background: #52482e;
  border-color: #aa915b;
  color: #f4e6bd;
}
body.jd-theme:not(.home-page) .notice p {
  color: inherit;
}
body.jd-theme:not(.home-page) .notice.error {
  background: #583c30;
  border-color: #c49377;
  color: #ffe0cd;
}
body.jd-theme:not(.home-page) .button.danger {
  background: #583c30;
  color: #ffe0cd;
  border-color: #c49377;
}
body.jd-theme:not(.home-page) .button.danger:hover {
  background: #6c4636;
}
body.jd-theme:not(.home-page)
  :is(
    .video-status[data-state="error"],
    .video-status[data-state="autoplay-blocked"]
  ) {
  color: #efd3a1;
}
body.jd-theme:not(.home-page) .option {
  background: var(--surface);
  border-color: #92906c;
}
body.jd-theme:not(.home-page) .option-letter {
  background: var(--surface-deep);
  border-color: #92906c;
}
body.jd-theme:not(.home-page) .option.selected {
  background: #61573a;
  border-color: #e6c488;
}
body.jd-theme:not(.home-page) .option.selected .option-letter {
  background: var(--home-cream);
  color: #333421;
  border-color: var(--home-cream);
}
body.jd-theme:not(.home-page) :is(.option.correct, .answer-feedback) {
  background: #424f32;
  border-color: #a1b782;
  color: #eef2d2;
}
body.jd-theme:not(.home-page)
  :is(.option.incorrect, .answer-feedback.incorrect) {
  background: #5d4232;
  border-color: #d4a684;
  color: #ffebd6;
}
body.jd-theme:not(.home-page) .question-dots button {
  background: var(--surface-deep);
  color: var(--home-muted);
  border-color: #92906c;
}
body.jd-theme:not(.home-page) .question-dots button.current {
  border-color: #e6c488;
  color: var(--home-cream);
}
body.jd-theme:not(.home-page) .question-dots button.correct {
  background: #424f32;
  color: #eef2d2;
}
body.jd-theme:not(.home-page) .question-dots button.incorrect {
  background: #5d4232;
  color: #ffebd6;
}
body.jd-theme:not(.home-page) .score-ring {
  background: var(--surface-deep);
  border-color: #a4ad78;
}
body.jd-theme:not(.home-page) progress {
  background: var(--surface-deep);
  accent-color: #d1bd7b;
}
body.jd-theme:not(.home-page) progress::-webkit-progress-bar {
  background: var(--surface-deep);
}
body.jd-theme:not(.home-page) progress::-webkit-progress-value {
  background: #d1bd7b;
}
body.jd-theme:not(.home-page) progress::-moz-progress-bar {
  background: #d1bd7b;
}
body.jd-theme:not(.home-page) .billing-toggle button.active {
  background: var(--home-cream);
  color: #333421;
}
body.jd-theme:not(.home-page) .premium-plan {
  background: linear-gradient(145deg, #5b5738, #3d3f2a);
  color: var(--home-cream);
  border-color: #b4a471;
}
body.jd-theme:not(.home-page) :is(.premium-plan > p, .price small) {
  color: var(--home-muted);
}
body.jd-theme:not(.home-page) .account-choices button {
  background: var(--surface);
  border-color: #92906c;
  color: var(--home-cream);
}
body.jd-theme:not(.home-page) .account-choices button:hover {
  background: var(--surface-hover);
}
@media (max-width: 600px) {
  .jd-theme .site-header .brand {
    gap: 9px;
  }
  .jd-theme .site-header .brand > span {
    font-size: 0.96rem;
  }
  .jd-theme .site-header .brand small {
    font-size: 0.38rem;
    letter-spacing: 0.1em;
  }
  .jd-theme .site-header .account-button {
    padding: 8px 14px;
  }
}
