/* The previous LDP palette is the default. The LOTTE palette remains in the page styles. */
html[data-theme="classic"] {
  --brand-red:#6548c9; --brand-red-dark:#4f38ad; --brand-red-weak:#eeeaff;
  --brand-gold:#fff0bd; --ink:#1b2941; --muted:#60718b; --line:#dbe3ef;
  --paper:#f6f8fc; --violet:#6548c9; --violet-weak:#eeeaff;
  --green:#1f9c69; --orange:#ea8a25; --red:#c6455e;
  --shadow:0 7px 24px rgba(30,51,83,.08);
}
html[data-theme="classic"] .sidebar { background:#202c4b; border-top:0; }
html[data-theme="classic"] .brand-mark { color:#ffc849; }
html[data-theme="classic"] .school-name span { color:#bdc8e3; }
html[data-theme="classic"] .nav-link { color:#d6def2; }
html[data-theme="classic"] .nav-link:hover,
html[data-theme="classic"] .nav-link:focus-visible,
html[data-theme="classic"] .nav-link.active { color:#fff; background:#4f3cb1; }
html[data-theme="classic"] .role-badge { background:#3c547f; }
html[data-theme="classic"] .topbar { border-bottom:1px solid var(--line); }
html[data-theme="classic"] .demo-badge { color:#65501b; }
html[data-theme="classic"] .primary { box-shadow:0 3px 10px rgba(101,72,201,.18); }
html[data-theme="classic"] .secondary { border-color:#b9afea; }
html[data-theme="classic"] .danger { color:#9b304a; background:#fff0f3; }
html[data-theme="classic"] .launch-board { background:linear-gradient(120deg,#30256d,#6049c3); }
html[data-theme="classic"] .launch-board p { color:#e7e1ff; }
html[data-theme="classic"] .join-card small { color:#ded5ff; }
html[data-theme="classic"] .action-card:hover,
html[data-theme="classic"] .material:hover { border-color:#b9afea; }
html[data-theme="classic"] .action-icon { color:var(--violet); }
html[data-theme="classic"] .lesson-reuse-note,
html[data-theme="classic"] .ai-setting-card,
html[data-theme="classic"] .project-lookup,
html[data-theme="classic"] .shared-library-head { border-color:#cbc2f2; background:linear-gradient(135deg,#fff,#f8f6ff); }
html[data-theme="classic"] .ai-permission,
html[data-theme="classic"] .source-picker { border-color:#d7cff7; background:#fff; }
html[data-theme="classic"] .lesson-permissions label:has(input:checked),
html[data-theme="classic"] .lesson-ai-permission label:has(input:checked) { border-color:#b9afea; background:#f3f0ff; }
html[data-theme="classic"] .lesson-permissions label:has(input:focus-visible),
html[data-theme="classic"] .lesson-ai-permission label:has(input:focus-visible) { outline-color:#d9d1ff; }
html[data-theme="classic"] .material-visual { background:linear-gradient(135deg,#6548c9,#3d2b83); }
html[data-theme="classic"] .material:nth-child(2) .material-visual { background:linear-gradient(135deg,#259c72,#17694f); }
html[data-theme="classic"] .material:nth-child(3) .material-visual { background:linear-gradient(135deg,#ed9b3b,#bd6c1a); }
html[data-theme="classic"] .analysis-result .teacher-voice-guide { border-color:#c7bdf1; background:linear-gradient(135deg,#fff,#f6f3ff); }
html[data-theme="classic"] .teacher-voice-guide li { border-color:#ded8f5; }
html[data-theme="classic"] .teacher-voice-guide li > span { background:#6049c3; }
html[data-theme="classic"] .support-start { background:linear-gradient(120deg,#30256d,#6049c3); }
html[data-theme="classic"] .support-start p { color:#e7e1ff; }
html[data-theme="classic"] .support-start .eyebrow { color:#d9d0ff; }
html[data-theme="classic"] .support-qa-card summary:hover { background:#faf9ff; }
html[data-theme="classic"] .support-qa-card[open] summary { color:#49329f; border-bottom-color:#ece8fb; background:#f8f6ff; }
html[data-theme="classic"] .support-qa-toggle { color:#6049c3; background:#eeeaff; }
html[data-theme="classic"] .support-use-case { border-left-color:#89c30f; color:#4d5a70; background:#f7faef; }
html[data-theme="classic"] .support-use-case strong { color:#34470e; }
html[data-theme="classic"] .material-library-tabs button.active { border-color:#51449c; background:#51449c; box-shadow:0 5px 16px rgba(81,68,156,.2); }
html[data-theme="classic"] .material-library-tabs button.active span { color:#e9e4ff; }
html[data-theme="classic"] .shared-material-meta span { color:#54429c; background:#f0ecff; }
html[data-theme="classic"] .share-scope input:checked + span,
html[data-theme="classic"] .symptom-options input:checked + span,
html[data-theme="classic"] .source-picker input:checked + span,
html[data-theme="classic"] .selected-source { color:#4e36ad; border-color:#725bd1; background:#f0ecff; }
html[data-theme="classic"] .source-picker input:focus-visible + span,
html[data-theme="classic"] .symptom-options input:focus-visible + span { outline-color:#d9d1ff; }
html[data-theme="classic"] .remaining-count { color:#4f3cb1; background:#eeeaff; }
html[data-theme="classic"] .learner-check { background:#f3f0ff; border-color:#d8d0f6; }
html[data-theme="classic"] .join-page { background:radial-gradient(circle at 15% 15%,#ebe7ff,transparent 35%),var(--paper); }
html[data-theme="classic"] .code-input:focus { border-color:var(--violet); outline-color:#ded7ff; }
html[data-theme="classic"] .achievement-options input:checked + span { color:#3d5511; border-color:#89c30f; background:#f1f8e3; }
html[data-theme="classic"] .achievement-options input:focus-visible + span { outline-color:#dbe9bd; }

/* Teacher onboarding, material drive, and operator screens. */
html[data-theme="classic"] .guide-home-banner { border-color:#d1c8f5; background:linear-gradient(110deg,#fff,#f4f1ff); }
html[data-theme="classic"] .guide-time-badge { color:#4f3cb1; background:#eeeaff; }
html[data-theme="classic"] .guide-hero,
html[data-theme="classic"] .guide-cta { background:linear-gradient(120deg,#30256d,#6049c3); }
html[data-theme="classic"] .guide-hero .eyebrow,
html[data-theme="classic"] .guide-cta .eyebrow { color:#d9d1ff; }
html[data-theme="classic"] .guide-hero p,
html[data-theme="classic"] .guide-cta p,
html[data-theme="classic"] .guide-complete-button { color:#e7e2ff; }
html[data-theme="classic"] .guide-role-card { border-top-color:#6548c9; }
html[data-theme="classic"] .guide-step-number,
html[data-theme="classic"] .guide-check-list li::before { background:#6548c9; }
html[data-theme="classic"] .support-step { border-color:#d1c8f5; background:#fbfaff; }
html[data-theme="classic"] .guide-cta-actions .primary { color:var(--violet); }
html[data-theme="classic"] .guide-cta-actions .primary:hover { background:#f0ecff; }
html[data-theme="classic"] .drive-shell { --drive-accent:#51449c; }
html[data-theme="classic"] .drive-sidebar .is-current { background:#f0edff; color:#51449c; }
html[data-theme="classic"] .drive-search:focus-within { outline-color:#b5a9e1; }
html[data-theme="classic"] .drive-view button[aria-pressed=true] { color:#51449c; background:#f0edff; }
html[data-theme="classic"] .drive-section-title>button,
html[data-theme="classic"] .drive-notice a { color:#564094; }
html[data-theme="classic"] .drive-more summary:hover { background:#eae7f8; }
html[data-theme="classic"] .drive-menu button:hover { background:#f2f0fa; }
html[data-theme="classic"] .drive-drop-target { outline-color:#8172cb!important; background:#f0edff!important; }
html[data-theme="classic"] .drive-progress { background:#51449c; box-shadow:0 5px 20px #382e7440; }
html[data-theme="classic"] .drive-picker { border-color:#c4bcdf; background:#faf9fd; }
html[data-theme="classic"] .drive-picker .drive-icon { color:#8172bb; }
html[data-theme="classic"] .drive-selection { background:#f3f1fb; }
html[data-theme="classic"] .drive-selection input,
html[data-theme="classic"] .drive-check input { accent-color:#51449c; }
html[data-theme="classic"] .drive-item.is-selected { background:#f0edfc; box-shadow:inset 0 0 0 1px #b4a8e0; }
html[data-theme="classic"] .drive-print-order button { background:#f3f1fb; border-color:#ddd7ed; }
html[data-theme="classic"] .admin-page { background:#f6f8fc; }
html[data-theme="classic"] .admin-topbar { background:#202c4b; border-top:0; }
html[data-theme="classic"] .admin-topbar nav a,
html[data-theme="classic"] .admin-topbar nav button { color:#d6def2; }
html[data-theme="classic"] .admin-badge { color:#65501b; }
html[data-theme="classic"] .admin-tabs a.active { background:#51449c; }
html[data-theme="classic"] .budget-bar span { background:#6548c9; }
html[data-theme="classic"] .shared-review-meta span { color:#51449c; background:#f0ecff; }
html[data-theme="classic"] .view-controls .selected { background:#6548c9; }
html[data-theme="classic"] .role-school_admin { color:#4a329e; background:#eeeaff; }
html[data-theme="classic"] .ai-service-card { border-color:#cfc6f5; background:linear-gradient(135deg,#fff,#f7f4ff); }
html[data-theme="classic"] .admin-ai-metrics div,
html[data-theme="classic"] .ai-model-catalog,
html[data-theme="classic"] .ai-model-label { border-color:#ded8f5; }
html[data-theme="classic"] .ai-model-catalog { background:#faf9ff; }
html[data-theme="classic"] .ai-model-label b { color:#5b3fc0; background:#eee9ff; }

/* Login, student entry, and classroom projector also follow the saved mode. */
html[data-theme="classic"] body:has(.login-shell) { background:radial-gradient(circle at 10% 8%,#f5faec,transparent 30%),linear-gradient(145deg,#fff,#eef5ff); color:#253312; }
html[data-theme="classic"] .login-card { border-color:#dce8ca; border-top:0; box-shadow:0 20px 55px rgba(48,78,17,.12); }
html[data-theme="classic"] .login-brand { color:#31510a; }
html[data-theme="classic"] .login-brand span { color:#89c30f; }
html[data-theme="classic"] .preview-badge { background:#eef7dc; color:#4c700b; }
html[data-theme="classic"] .login-card p { color:#647052; }
html[data-theme="classic"] .login-card label { color:#3a472a; }
html[data-theme="classic"] .login-card input { border-color:#cbd7ba; }
html[data-theme="classic"] .login-card input:focus { outline-color:rgba(137,195,15,.2); border-color:#89c30f; }
html[data-theme="classic"] .login-card button { background:#679a00; }
html[data-theme="classic"] .login-card button:hover { background:#4f7900; }
html[data-theme="classic"] .login-note { border-top-color:#edf1e7; }
html[data-theme="classic"] .student-entry-page { --student-green:#89c30f; --student-green-dark:#4f7900; --student-ink:#203218; background:radial-gradient(circle at 12% 10%,rgba(137,195,15,.2),transparent 30%),radial-gradient(circle at 90% 88%,rgba(255,191,83,.2),transparent 30%),#f7faef; }
html[data-theme="classic"] .student-brand { color:#375700; }
html[data-theme="classic"] .student-brand-mark { box-shadow:0 5px 0 #5d9000; }
html[data-theme="classic"] .student-entry-panel { border-color:#dbe8bd; border-top-color:var(--student-green); box-shadow:0 18px 48px rgba(65,94,21,.14); }
html[data-theme="classic"] .join-steps { color:#76806f; }
html[data-theme="classic"] .join-steps span { background:#e9eee0; }
html[data-theme="classic"] .join-steps .current span { background:var(--student-green-dark); }
html[data-theme="classic"] .join-steps .done span { color:#476b05; background:#dff0ba; }
html[data-theme="classic"] .student-kicker { background:#eff8da; }
html[data-theme="classic"] .saved-device { background:#f4f8eb; border-color:#dce9c1; }
html[data-theme="classic"] .student-entry-page .code-input { border-color:#a7bd74; color:#263b17; }
html[data-theme="classic"] .student-entry-page .code-input:focus { outline-color:rgba(137,195,15,.22); }
html[data-theme="classic"] .student-entry-page .student-primary { box-shadow:0 4px 0 #355100; }
html[data-theme="classic"] .student-entry-page .student-primary:hover { background:#78ad09; }
html[data-theme="classic"] .lesson-name { background:#f4f8eb; }
html[data-theme="classic"] .student-entry-page .device-label select { border-color:#a7bd74; }
html[data-theme="classic"] .connection-spinner { border-color:#e6efd2; border-top-color:var(--student-green); }
html[data-theme="classic"] .projector-shell { background:radial-gradient(circle at 50% 45%,#fff 0,#fbfff3 48%,#eaf5d4 100%); border-top:0; }
html[data-theme="classic"] body:has(.projector-shell) { background:#f5f8ee; color:#17233b; }
html[data-theme="classic"] .projector-shell .brand span { color:#89c30f; }
html[data-theme="classic"] .projector-shell .group { color:#597129; }
html[data-theme="classic"] .projector-shell .code { color:#31410e; }
html[data-theme="classic"] .projector-shell .steps li { border-color:#cfd9bd; background:rgba(255,255,255,.86); }
html[data-theme="classic"] .projector-shell footer button { border-color:#6f8f2d; color:#31410e; }

/* A small, expandable settings section without nonfunctional controls. */
.settings-stack { display:grid; gap:1rem; max-width:850px; }
.settings-panel { padding:1.4rem; }
.settings-panel h2 { margin:0 0 .35rem; }
.settings-panel > p { margin:.2rem 0 1.15rem; color:var(--muted); }
.color-mode-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:0; padding:0; border:0; }
.color-mode-options legend { grid-column:1/-1; margin-bottom:.3rem; font-weight:800; }
.color-mode-option { position:relative; display:block; min-width:0; }
.color-mode-option input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; }
.color-mode-option-content { display:grid; gap:.6rem; min-height:145px; padding:1rem; border:2px solid var(--line); border-radius:.85rem; background:#fff; }
.color-mode-option input:checked + .color-mode-option-content { border-color:var(--violet); background:var(--violet-weak); }
.color-mode-option input:focus-visible + .color-mode-option-content { outline:3px solid var(--violet); outline-offset:2px; }
.color-mode-option strong { font-size:1rem; }
.color-mode-option small { color:var(--muted); line-height:1.5; }
.color-mode-swatch { display:flex; gap:.3rem; align-items:center; }
.color-mode-swatch i { width:1.2rem; height:1.2rem; border-radius:50%; border:1px solid rgba(0,0,0,.07); }
.color-mode-swatch.classic i:nth-child(1) { background:#202c4b; }
.color-mode-swatch.classic i:nth-child(2) { background:#6548c9; }
.color-mode-swatch.classic i:nth-child(3) { background:#89c30f; }
.color-mode-swatch.lotte i:nth-child(1) { background:#343638; }
.color-mode-swatch.lotte i:nth-child(2) { background:#da291c; }
.color-mode-swatch.lotte i:nth-child(3) { background:#877669; }
.settings-future { border-style:dashed; }
@media (max-width:560px) { .color-mode-options { grid-template-columns:1fr; } }
