/* 밝은 화면(라이트 모드) — scripts/build_light_theme.py 가 만든 파일. 직접 고치지 말고
   scripts/light_theme_manual.css 를 고친 뒤 다시 생성한다. html.theme-light 일 때만 적용된다. */
html.theme-light { color-scheme: light; }
/* ── app/assets/styles.css ── */
html.theme-light {
  --bg: #f5f6f8;
  --panel: #ffffff;
  --panel-alt: #f9fafb;
  --text: #1f2933;
  --muted: #667085;
  --line: #d7dde6;
  --primary-soft: #e6f1f2;
  --shadow: 0 8px 22px rgba(18, 38, 63, 0.08);
}
html.theme-light body {
  background: var(--bg);
  color: var(--text);
}
html.theme-light a {
  color: inherit;
}
html.theme-light button {
  border: 1px solid var(--primary);
  border-radius: 6px;
  background: var(--primary);
  color: #191919;
}
html.theme-light button.secondary {
  background: white;
  color: var(--primary);
}
html.theme-light button.ghost {
  border-color: transparent;
  background: transparent;
  color: var(--primary);
}
html.theme-light input, html.theme-light select, html.theme-light textarea {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: white;
  color: var(--text);
}
html.theme-light label {
  color: var(--muted);
}
html.theme-light .topbar {
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.94);
}
html.theme-light .brand strong {
  color: var(--primary);
}
html.theme-light .brand span {
  color: var(--muted);
}
html.theme-light .nav a {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: white;
  color: var(--text);
}
html.theme-light .nav a.active {
  border-color: var(--primary);
  background: var(--primary-soft);
  color: var(--primary);
}
html.theme-light .hero-panel, html.theme-light .panel, html.theme-light .list, html.theme-light .detail, html.theme-light .card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
html.theme-light .hero-panel p {
  color: var(--muted);
}
html.theme-light .metric {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}
html.theme-light .metric strong {
  color: var(--primary);
}
html.theme-light .metric span {
  color: var(--muted);
}
html.theme-light .list-head, html.theme-light .detail-head {
  border-bottom: 1px solid var(--line);
  background: var(--panel-alt);
}
html.theme-light .passage-item {
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  background: white;
  color: var(--text);
}
html.theme-light .passage-item:hover, html.theme-light .passage-item.active {
  background: var(--primary-soft);
}
html.theme-light .meta {
  color: var(--muted);
}
html.theme-light .badge {
  border-radius: 999px;
  background: #eef2f6;
  color: #344054;
}
html.theme-light .badge.ok {
  background: #e7f5ec;
  color: var(--ok);
}
html.theme-light .badge.warn {
  background: #fff2df;
  color: var(--warn);
}
html.theme-light .badge.danger {
  background: #fbe9e4;
  color: var(--danger);
}
html.theme-light .section {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}
html.theme-light .thesis-card ol {
  color: var(--text);
}
html.theme-light .body-text {
  color: #344054;
}
html.theme-light .paragraph {
  border-bottom: 1px solid var(--line);
}
html.theme-light .paragraph:last-child {
  border-bottom: 0;
}
html.theme-light .status-line {
  color: var(--muted);
}
html.theme-light .feedback {
  border-left: 4px solid var(--primary);
  background: var(--primary-soft);
}
html.theme-light .score {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
}
html.theme-light .score strong {
  color: var(--primary);
}
html.theme-light .score span {
  color: var(--muted);
}
html.theme-light .score.score-high {
  border-color: #22c55e;
  background: #f0fdf4;
}
html.theme-light .score.score-high strong {
  color: #16a34a;
}
html.theme-light .score.score-mid {
  border-color: #f59e0b;
  background: #fffbeb;
}
html.theme-light .score.score-mid strong {
  color: #d97706;
}
html.theme-light .score.score-low {
  border-color: #ef4444;
  background: #fef2f2;
}
html.theme-light .score.score-low strong {
  color: #9e1919;
}
html.theme-light .score-tooltip {
  background: #ffffff;
  color: #121e2a;
  border-radius: 7px;
}
html.theme-light .score-tooltip::after {
  border: 6px solid transparent;
  border-top-color: #c7d2e3;
}
html.theme-light .feedback-section h4 {
  color: var(--muted);
}
html.theme-light .feedback-list li {
  color: #1f2933;
}
html.theme-light .feedback-strengths li {
  color: #16a34a;
}
html.theme-light .feedback-improvements li {
  color: #b45309;
}
html.theme-light .feedback-summary-box {
  background: var(--primary-soft);
  border-radius: 8px;
}
html.theme-light .feedback-brief-box {
  background: white;
  border-radius: 6px;
}
html.theme-light .feedback-brief-label {
  color: #0369a1;
}
html.theme-light .feedback-brief-text {
  color: #1e3a5f;
}
html.theme-light .feedback-qa-item {
  background: white;
  border-radius: 6px;
}
html.theme-light .feedback-qa-q {
  color: #1e3a5f;
}
html.theme-light .feedback-qa-a {
  color: #374151;
}
html.theme-light .feedback-next-practice {
  color: #92400e;
  border-top: 1px solid rgba(0,0,0,0.08);
}
html.theme-light .grade-card {
  border-radius: 14px;
  border: 2px solid transparent;
}
html.theme-light .grade-card .grade-category {
  color: var(--muted);
}
html.theme-light .grade-top {
  background: #fffbeb;
  border-color: #f59e0b;
}
html.theme-light .grade-top .grade-label {
  color: #b45309;
}
html.theme-light .grade-mid {
  background: #f0fdf4;
  border-color: #22c55e;
}
html.theme-light .grade-mid .grade-label {
  color: #16a34a;
}
html.theme-light .grade-low {
  background: #eff6ff;
  border-color: #60a5fa;
}
html.theme-light .grade-low .grade-label {
  color: #0f3fa8;
}
html.theme-light .feedback-blue-item {
  background: #eff6ff;
  border-left: 4px solid #3b82f6;
  border-radius: 6px;
}
html.theme-light .feedback-blue-header {
  color: #163aa2;
}
html.theme-light .feedback-blue-guide {
  background: white;
  border-radius: 4px;
  color: #374151;
}
html.theme-light .feedback-red-item {
  background: #fff5f5;
  border-left: 4px solid #ef4444;
  border-radius: 6px;
}
html.theme-light .feedback-red-header {
  color: #9e1919;
}
html.theme-light .feedback-red-missing {
  background: #fecaca;
  border-radius: 3px;
  color: #991b1b;
}
html.theme-light .feedback-red-guide {
  background: white;
  border-radius: 4px;
  color: #374151;
}
html.theme-light .admin-dashboard {
  --bg: #eef1f9;
  --panel: #ffffff;
  --panel-alt: #ffffff;
  --text: #121b2d;
  --muted: #4f5c75;
  --line: #c2cae0;
  --primary-soft: #ffffff;
  --shadow: 0 18px 42px rgba(15, 23, 42, 0.098);
  background: radial-gradient(circle at 50% 12%, rgba(72, 52, 141, 0.28), transparent 26%),
    linear-gradient(180deg, #eef1f9 0%, #eef0f9 58%, #eef2f9 100%);
}
html.theme-light .admin-dashboard .dashboard-topbar {
  background: #eef1f9;
  border-bottom: 1px solid #7047d7;
  color: #002bb8;
}
html.theme-light .admin-dashboard .brand strong {
  color: #191919;
}
html.theme-light .admin-dashboard .brand span {
  color: #191919;
}
html.theme-light .admin-dashboard .nav a {
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #27324a;
}
html.theme-light .admin-dashboard .nav a.active {
  border-bottom: 2px solid #a16eff;
  background: #ffffff;
  color: #191919;
}
html.theme-light .admin-gate {
  background: #eef3f9;
}
html.theme-light .admin-gate-form {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 14px;
  color: #222e44;
}
html.theme-light .admin-gate-form h2 {
  color: #191919;
}
html.theme-light .admin-gate-form label {
  color: #445374;
}
html.theme-light .admin-gate-form input, html.theme-light .admin-gate-form select {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 7px;
  color: #222e44;
}
html.theme-light .admin-gate-form button[type="submit"] {
  background: #1d6fa3;
  color: #fff;
  border: 0;
  border-radius: 8px;
}
html.theme-light .admin-gate-form button[type="submit"]:hover {
  background: #1a5f8e;
}
html.theme-light .link-btn {
  background: none;
  border: 0;
  color: #255e92;
}
html.theme-light .stu-filter-btn {
  border-radius: 20px;
  border: 1.5px solid #bfcfe4;
  background: transparent;
  color: #6b82a0;
}
html.theme-light .stu-filter-btn.active[data-filter="master-note"] {
  background: #1d6fa3;
  border-color: #b6cfe0;
  color: #fff;
}
html.theme-light .stu-filter-btn.active[data-filter="reading-club"] {
  background: #7c3aed;
  border-color: #7c3aed;
  color: #fff;
}
html.theme-light .stu-filter-btn.active[data-filter="grammar"] {
  background: #059669;
  border-color: #bbe2d6;
  color: #fff;
}
html.theme-light .mm-print-choice {
  background: rgba(238, 241, 249, 0.6);
}
html.theme-light .mm-print-card {
  border-radius: 16px;
  background: #ffffff;
  border: 1px solid #bfcfe4;
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.14);
}
html.theme-light .mm-print-card h2 {
  color: #121e2a;
}
html.theme-light .mm-print-card .mm-print-opt {
  border-radius: 12px;
  border: 1px solid #c1cade;
  background: #ffffff;
  color: #222e44;
}
html.theme-light .mm-print-card .mm-print-opt:hover, html.theme-light .mm-print-card .mm-print-opt:focus-visible {
  border-color: #b6cfe0;
  background: #ffffff;
  outline: none;
}
html.theme-light .mm-print-opt strong {
  color: #121e2a;
}
html.theme-light .mm-print-opt span {
  color: #445374;
}
html.theme-light .mm-print-card .mm-print-cancel {
  border: 0;
  background: none;
  color: #445374;
}
html.theme-light .gv-perm-title {
  color: #6b82a0;
}
html.theme-light .gv-perm-item {
  color: #222e44;
}
html.theme-light .gv-perm-msg {
  color: #21976c;
}
html.theme-light .admin-reg-shortcut-btn {
  background: none;
  border: 1.5px dashed #bfcfe4;
  border-radius: 8px;
  color: #255e92;
}
html.theme-light .admin-reg-shortcut-btn:hover {
  border-color: #b6cfe0;
  color: #0357b4;
}
html.theme-light .dual-update-col {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 10px;
}
html.theme-light .dual-col-title {
  color: #0357b4;
}
html.theme-light .dual-note {
  color: #64748b;
}
html.theme-light .academy-home-link {
  color: inherit;
}
html.theme-light .mgmt-dropdown {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.144);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.175);
}
html.theme-light .mgmt-dropdown-item {
  background: none;
  border: none;
  color: #2c3b4d;
}
html.theme-light .mgmt-dropdown-item:hover {
  background: rgba(15, 23, 42, 0.042);
  color: #191919;
}
html.theme-light .mgmt-dropdown-item.mgmt-student {
  color: #0357b4;
}
html.theme-light .mgmt-dropdown-item.mgmt-student:hover {
  background: rgba(59,130,246,0.12);
  color: #0352b5;
}
html.theme-light .mgmt-dropdown-sep {
  border: none;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
}
html.theme-light .dashboard-page > .admin-mgmt-btns {
  border: 1px solid #bccde2;
  border-radius: 12px;
  background: #ffffff;
}
html.theme-light .mgmt-sep {
  color: #2a3f5a;
}
html.theme-light .link-btn.mgmt-admin {
  color: #255e92;
}
html.theme-light .link-btn.mgmt-student {
  color: #222e44;
}
html.theme-light .link-btn-divider {
  color: #334155;
}
html.theme-light .admin-left, html.theme-light .admin-center, html.theme-light .admin-right {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 12px;
}
html.theme-light .admin-panel-head {
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .admin-panel-head h2 {
  color: #222e44;
}
html.theme-light .admin-print-feedback-btn {
  border: 1px solid #38bdf8;
  border-radius: 8px;
  background: rgba(56, 189, 248, 0.12);
  color: #0577b2;
}
html.theme-light .admin-print-feedback-btn:hover, html.theme-light .admin-print-feedback-btn:focus-visible {
  background: rgba(56, 189, 248, 0.24);
  color: #191919;
}
html.theme-light .admin-student-btn {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #222e44;
}
html.theme-light .admin-student-btn:hover {
  background: rgba(30, 100, 160, 0.2);
  border-color: #bfcfe4;
}
html.theme-light .admin-student-btn.selected {
  background: rgba(30, 100, 160, 0.35);
  border-color: #b6cfe0;
}
html.theme-light .admin-student-btn strong {
  color: #191919;
}
html.theme-light .admin-student-btn span, html.theme-light .admin-student-btn small {
  color: #445374;
}
html.theme-light .left-summary {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 10px;
}
html.theme-light .left-summary-label {
  color: #445374;
}
html.theme-light .left-summary-label strong {
  color: #222e44;
}
html.theme-light .score-high-text {
  color: #1b9d4b;
}
html.theme-light .score-mid-text {
  color: #b07107;
}
html.theme-light .score-low-text {
  color: #a90e0e;
}
html.theme-light .session-list-head h3 {
  color: #445374;
}
html.theme-light .session-row {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 8px;
}
html.theme-light .session-no {
  color: #222e44;
}
html.theme-light .session-date {
  color: #445374;
}
html.theme-light .session-course {
  color: #445374;
}
html.theme-light .submission-course {
  color: #222e44;
}
html.theme-light .submission-meta {
  color: #445374;
}
html.theme-light .submission-transcript {
  color: #445374;
}
html.theme-light .submission-feedback {
  color: #217797;
}
html.theme-light .admin-cumul-section, html.theme-light .admin-trend-section {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 10px;
}
html.theme-light .admin-cumul-section:hover {
  border-color: #b1c6de;
}
html.theme-light .admin-section-head {
  color: #445374;
}
html.theme-light .admin-cumul-label {
  color: #445374;
}
html.theme-light .admin-cumul-track {
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.042);
}
html.theme-light .admin-cumul-score {
  color: #222e44;
}
html.theme-light .trend-legend-item {
  color: #445374;
}
html.theme-light .trend-legend-dot {
  border-radius: 50%;
}
html.theme-light .admin-session-btn {
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #445374;
}
html.theme-light .admin-session-btn:hover {
  background: rgba(30, 100, 160, 0.18);
  border-color: #bfcfe4;
  color: #222e44;
}
html.theme-light .admin-session-btn.selected {
  background: rgba(30, 100, 160, 0.35);
  border-color: #b6cfe0;
  color: #191919;
}
html.theme-light .session-today {
  color: #222e44;
}
html.theme-light .session-today-dot {
  border-radius: 50%;
  background: #4ade80;
}
html.theme-light .detail-section {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 10px;
}
html.theme-light .detail-section-title {
  color: #182437;
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .detail-sub-label {
  color: #267991;
  border-left: 3px solid #5bb8d4;
}
html.theme-light .detail-sub-body {
  color: #222e44;
}
html.theme-light .fb-tab-nav {
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .fb-tab-btn {
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #4a6580;
}
html.theme-light .fb-tab-btn:hover {
  color: #406381;
}
html.theme-light .fb-tab-btn.active {
  color: #267991;
  border-bottom-color: #5bb8d4;
}
html.theme-light .fb-suggestion {
  background: rgba(91, 184, 212, 0.07);
  border-left: 3px solid #5bb8d4;
  border-radius: 0 8px 8px 0;
  color: #222e44;
}
html.theme-light .guide-para-table {
  border-collapse: collapse;
}
html.theme-light .guide-para-table th {
  background: #eef3f9;
  color: #217797;
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .guide-para-table td {
  color: #233553;
  border-bottom: 1px solid #c7d5e7;
}
html.theme-light .guide-para-table td:first-child {
  color: #217797;
}
html.theme-light .guide-para-table tr:last-child td {
  border-bottom: none;
}
html.theme-light .phrase-tag {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  color: #0357b4;
  border-radius: 4px;
}
html.theme-light .session-avg-line {
  color: #445374;
}
html.theme-light .diagnosis-card, html.theme-light .insight-card {
  border: 1px solid #c1cade;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow);
}
html.theme-light .eyebrow {
  color: #445374;
}
html.theme-light .diagnosis-card h1 {
  color: #191919;
}
html.theme-light .ability-pill {
  border: 1px solid #c1c5d0;
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.036);
  color: #3f00b8;
}
html.theme-light .ability-pill small {
  color: #343b4e;
}
html.theme-light .profile-list div {
  border-bottom: 1px solid #c6ccdc;
}
html.theme-light .profile-list dt {
  color: #69758d;
}
html.theme-light .profile-list dd {
  color: #121e2a;
}
html.theme-light .profile-list dd.good {
  color: #199f79;
}
html.theme-light .admin-dashboard label {
  color: #445374;
}
html.theme-light .admin-dashboard input, html.theme-light .admin-dashboard select, html.theme-light .admin-dashboard textarea {
  border-color: #c1cade;
  background: #eff1f8;
  color: #121e2a;
}
html.theme-light .admin-dashboard input::placeholder, html.theme-light .admin-dashboard textarea::placeholder {
  color: #66728d;
}
html.theme-light .dashboard-list {
  background: rgba(255, 255, 255, 0.96);
  border-color: #c1cade;
}
html.theme-light .admin-dashboard .list-head, html.theme-light .admin-dashboard .detail-head {
  background: #ffffff;
  border-color: #c2cae0;
}
html.theme-light .admin-dashboard .passage-item {
  background: transparent;
  border-color: #c3cce1;
  color: #121e2a;
}
html.theme-light .student-meta-inline {
  color: #5c7490;
}
html.theme-light .online-dot {
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 6px #22c55e;
}
html.theme-light .online-label {
  color: #1b9d4b !important;
  background: rgba(34, 197, 94, 0.15);
  border-radius: 99px;
}
html.theme-light .student-result-item.student-online {
  border-left: 3px solid #22c55e;
  background: rgba(34, 197, 94, 0.06);
}
html.theme-light .admin-student-item.student-online .admin-student-btn, html.theme-light .admin-student-item.student-online .admin-student-btn.expanded {
  border-left: 3px solid #22c55e !important;
  background: rgba(34, 197, 94, 0.10) !important;
}
html.theme-light .admin-student-item.student-online .admin-student-btn strong {
  color: #1b9d4b;
}
html.theme-light .student-result-item {
  border: 0;
  border-bottom: 1px solid #c3cce1;
  border-radius: 0;
  background: transparent;
  color: #121e2a;
}
html.theme-light .student-result-item:hover {
  background: rgba(33, 209, 159, 0.1);
}
html.theme-light .student-result-item span, html.theme-light .student-result-item small {
  color: #445374;
}
html.theme-light .submission-card {
  border: 1px solid #c1cade;
  border-radius: 8px;
  background: #eff1f8;
}
html.theme-light .submission-card > div:first-child span {
  color: #445374;
}
html.theme-light .submission-card p {
  color: #222e44;
}
html.theme-light .admin-dashboard .passage-item:hover, html.theme-light .admin-dashboard .passage-item.active {
  background: #f3f2fa;
}
html.theme-light .dashboard-report {
  background: transparent;
  border: 0;
  box-shadow: none;
}
html.theme-light .dashboard-report .detail-head {
  border: 1px solid #c1cade;
  border-radius: 12px 12px 0 0;
}
html.theme-light .report-paper {
  background: #ffffff;
  color: #314054;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 20px 52px rgba(15, 23, 42, 0.098);
}
html.theme-light .report-score p {
  color: #64748b;
}
html.theme-light .report-score p span {
  color: #51627a;
}
html.theme-light .report-score p b {
  border: 1px solid #8ee7b8;
  border-radius: 999px;
  background: #e8fff2;
  color: #20b96f;
}
html.theme-light .report-score strong {
  color: #1b9d4b;
}
html.theme-light .report-score em {
  color: #2f3b4f;
}
html.theme-light .score-bar {
  color: #51627a;
}
html.theme-light .score-bar i {
  border-radius: 999px;
  background: linear-gradient(90deg, #3b82f6 0%, #84cc16 100%);
}
html.theme-light .report-columns {
  border-top: 1px solid #dce3ee;
}
html.theme-light .report-columns h3 {
  color: #64748b;
}
html.theme-light .muted-dot::before, html.theme-light .hot-dot::before {
  border-radius: 50%;
  border: 1px solid #aeb9ca;
}
html.theme-light .hot-dot::before {
  background: #ef4444;
  border-color: #ef4444;
}
html.theme-light .dashboard-editor {
  border-color: #c1cade;
  background: rgba(255, 255, 255, 0.96);
}
html.theme-light .admin-dashboard .section {
  border-color: #c1cade;
  background: rgba(255, 255, 255, 0.96);
  color: #272b33;
}
html.theme-light .admin-dashboard .body-text, html.theme-light .admin-dashboard .paragraph p {
  color: #2c3b4d;
}
html.theme-light .insight-card {
  border-left: 3px solid #21d19f;
}
html.theme-light .insight-card h3 {
  border-bottom: 1px dashed #c1c9db;
  color: #272b33;
}
html.theme-light .insight-card h3 span {
  border-radius: 8px;
  background: rgba(33, 209, 159, 0.18);
  color: #199f79;
}
html.theme-light .insight-card p {
  color: #232f43;
}
html.theme-light .insight-card b {
  border: 1px solid rgba(33, 209, 159, 0.5);
  border-radius: 999px;
  color: #199f79;
}
html.theme-light .student-experience {
  --student-bg: #eef3f9;
  --student-panel: #ffffff;
  --student-ink: #222e44;
  --student-muted: #445374;
  --student-line: #bfcfe4;
  --student-navy: #222e44;
  background: #eef3f9;
  color: #222e44;
}
html.theme-light .student-experience input, html.theme-light .student-experience textarea, html.theme-light .student-experience select {
  background: #ffffff;
  border-color: #bfcfe4;
  color: #222e44;
}
html.theme-light .student-experience input::placeholder, html.theme-light .student-experience textarea::placeholder {
  color: #4a5a72;
}
html.theme-light .student-experience .student-topbar {
  background: rgba(238, 243, 249, 0.96);
  border-bottom-color: #bfcfe4;
}
html.theme-light .student-experience .student-topbar .brand strong {
  color: #226795;
}
html.theme-light .student-experience .student-topbar .brand span {
  color: #445374;
}
html.theme-light .student-experience .student-topbar .nav a {
  color: #445374;
}
html.theme-light .student-experience .student-topbar .nav a:hover {
  color: #222e44;
}
html.theme-light .student-experience .course-button {
  background: #ffffff;
  border-color: #bfcfe4;
  color: #445374;
}
html.theme-light .student-experience .course-button.active {
  background: rgba(77, 159, 214, 0.15);
  border-color: #4d9fd6;
  color: #226795;
  box-shadow: 0 0 0 4px rgba(77, 159, 214, 0.1);
}
html.theme-light .student-experience .lesson-picker, html.theme-light .student-experience .student-card, html.theme-light .student-experience .student-detail {
  background: #ffffff;
  border-color: #bfcfe4;
  box-shadow: 0 2px 12px rgba(15, 23, 42, 0.14);
}
html.theme-light .student-experience .student-card h2, html.theme-light .student-experience .student-card h3 {
  color: #222e44;
}
html.theme-light .student-experience .lesson-tab {
  background: #ffffff;
  border-color: #bfcfe4;
  color: #445374;
}
html.theme-light .student-experience .lesson-tab.active {
  background: #1d6fa3;
  color: #fff;
  border-color: #b6cfe0;
}
html.theme-light .student-experience .passage-item {
  background: #ffffff;
  border-color: #bfcfe4;
  color: #222e44;
}
html.theme-light .student-experience .passage-item:hover {
  background: #ffffff;
}
html.theme-light .student-experience .passage-item.active {
  background: rgba(29, 111, 163, 0.2);
  border-color: #b6cfe0;
}
html.theme-light .student-experience .body-text {
  color: #233553;
}
html.theme-light .student-experience .muted-text {
  color: #445374;
}
html.theme-light .student-experience .badge {
  background: #ebf0f7;
  color: #445374;
}
html.theme-light .student-experience button:not(.banner-btn):not(.lesson-tab):not(.course-button):not(.secondary):not(.admin-student-btn):not(.grammar-option) {
  background: #1d6fa3;
  color: #fff;
  border: 0;
}
html.theme-light .student-experience .rc-lesson-tile {
  background: rgba(139, 92, 246, 0.12) !important;
  border: 1px solid #c4b2de !important;
  color: #2905b3 !important;
}
html.theme-light .student-experience .rc-lesson-tile:hover {
  background: rgba(139, 92, 246, 0.28) !important;
  border-color: #8b5cf6 !important;
}
html.theme-light .student-experience .rc-lesson-tile b {
  color: #3208b0 !important;
}
html.theme-light .student-experience .rc-lesson-tile span {
  color: #2304b3 !important;
}
html.theme-light .student-experience button.secondary {
  background: #ffffff;
  color: #226795;
  border: 1px solid #bfcfe4;
}
html.theme-light .student-experience button.secondary:hover {
  background: #ffffff;
}
html.theme-light .student-experience .score {
  background: #ffffff;
  border-color: #bfcfe4;
}
html.theme-light .student-experience .score strong {
  color: #226795;
}
html.theme-light .student-experience .score span {
  color: #445374;
}
html.theme-light .student-experience .feedback-section h4 {
  color: #445374;
}
html.theme-light .student-experience .feedback-summary-box {
  background: #ffffff;
}
html.theme-light .student-experience .feedback-summary-box h4 {
  color: #b49004;
}
html.theme-light .student-experience .feedback-summary-box p {
  color: #233553;
}
html.theme-light .student-experience .feedback-blue-item {
  background: #eef3f9;
  border-color: #3b82f6;
}
html.theme-light .student-experience .feedback-blue-header {
  color: #0653b2;
}
html.theme-light .student-experience .feedback-blue-guide {
  background: #f1f3f6;
  color: #0357b4;
}
html.theme-light .student-experience .feedback-brief-box {
  background: #eef4f9;
}
html.theme-light .student-experience .feedback-brief-label {
  color: #067db1;
}
html.theme-light .student-experience .feedback-brief-text {
  color: #047bb3;
}
html.theme-light .student-experience .feedback-qa-item {
  background: #ffffff;
}
html.theme-light .student-experience .feedback-qa-q {
  color: #233553;
}
html.theme-light .student-experience .feedback-qa-a {
  color: #445374;
}
html.theme-light .student-experience .feedback-next-practice {
  color: #b48303;
  border-color: rgba(15, 23, 42, 0.064);
}
html.theme-light .student-experience .feedback-red-item {
  background: #f8efef;
  border-color: #ef4444;
}
html.theme-light .student-experience .feedback-red-header {
  color: #af0909;
}
html.theme-light .student-experience .feedback-red-missing {
  background: #ffffff;
  color: #b20606;
}
html.theme-light .student-experience .feedback-red-guide {
  background: #f1f3f6;
  color: #b49004;
}
html.theme-light .student-experience .feedback-improvements li {
  color: #b49004;
}
html.theme-light .student-experience .grade-top {
  background: #f9f5ee;
  border-color: #f59e0b;
}
html.theme-light .student-experience .grade-top .grade-label {
  color: #b48303;
}
html.theme-light .student-experience .grade-mid {
  background: #eef9f2;
  border-color: #22c55e;
}
html.theme-light .student-experience .grade-mid .grade-label {
  color: #1c9b4b;
}
html.theme-light .student-experience .grade-low {
  background: #eef4f9;
  border-color: #60a5fa;
}
html.theme-light .student-experience .grade-low .grade-label {
  color: #0357b4;
}
html.theme-light .student-experience .grade-card .grade-category {
  color: #6b7a99;
}
html.theme-light .student-experience .result-entry {
  border-color: #bfcfe4;
}
html.theme-light .student-experience .result-transcript {
  background: #ffffff;
  border-color: #bfcfe4;
}
html.theme-light .student-experience .result-transcript p {
  color: #233553;
}
html.theme-light .student-experience .score-tooltip {
  background: #ffffff;
  border: 1px solid #bfcfe4;
}
html.theme-light .student-topbar {
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid var(--student-line);
}
html.theme-light .student-topbar .brand strong {
  color: #0b6170;
}
html.theme-light .student-topbar .brand span {
  color: #697789;
}
html.theme-light .nav-student-info {
  border-radius: 20px;
  background: var(--primary-soft);
  color: var(--primary);
}
html.theme-light .nav button.ghost {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: white;
  color: var(--text);
}
html.theme-light .student-banner {
  background: linear-gradient(135deg, #ffffff 0%, #ecf6f7 45%, #e5edf5 100%);
}
html.theme-light .student-banner::before {
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.03);
}
html.theme-light .student-banner::after {
  border-radius: 50%;
  background: rgba(15, 23, 42, 0.024);
}
html.theme-light .banner-icon {
  color: rgba(25, 25, 25, 0.85);
}
html.theme-light .banner-text strong {
  color: #191919;
}
html.theme-light .banner-text span {
  color: rgba(25, 25, 25, 0.72);
}
html.theme-light .banner-student-info strong {
  color: #191919;
}
html.theme-light .banner-student-info span {
  color: rgba(25, 25, 25, 0.75);
}
html.theme-light .banner-divider {
  color: rgba(25, 25, 25, 0.35) !important;
}
html.theme-light .banner-btn {
  border-radius: 6px;
  border: 1px solid rgba(15, 23, 42, 0.28);
  background: rgba(15, 23, 42, 0.072);
  color: #191919;
}
html.theme-light .course-rail-hidden {
  border: 0;
  border-radius: 8px;
  background: var(--student-panel);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.06);
}
html.theme-light .rail-title {
  color: var(--student-navy);
}
html.theme-light .course-button {
  border: 1px solid var(--student-line);
  background: #f8fafc;
  color: var(--student-ink);
  border-radius: 5px;
}
html.theme-light .course-button.active {
  border: 2px solid var(--student-blue);
  background: #eaf1ff;
  color: var(--student-blue);
  box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.08);
}
html.theme-light .student-login-layout {
  border: 1px solid var(--student-line);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: var(--shadow);
}
html.theme-light .student-login-hero {
  border-right: 28px solid #ff8b26;
  background: linear-gradient(rgba(174, 130, 76, 0.25), rgba(248, 244, 240, 0.28)),
    linear-gradient(135deg, #d5c0a1 0%, #91745a 42%, #e6d9c2 100%);
}
html.theme-light .student-login-hero::before {
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.9) 0%, rgba(15, 23, 42, 0.09) 54%, transparent 68%),
    repeating-linear-gradient(96deg, rgba(241, 236, 232, 0.3) 0 2px, transparent 2px 18px);
  filter: blur(1px);
}
html.theme-light .student-login-panel {
  background: #e2e5e7;
  color: #121e2a;
}
html.theme-light .student-login-panel .register-box {
  border-top: 1px dotted rgba(15, 23, 42, 0.28);
}
html.theme-light .student-login-panel .register-box .ghost {
  border-color: transparent;
  background: transparent;
  color: #b86e00;
}
html.theme-light .student-login-shell {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 24px 60px rgba(24, 40, 64, 0.12);
}
html.theme-light .student-login-shell .student-login-hero {
  border-right: 0;
  background: linear-gradient(90deg, rgba(240, 243, 247, 0.78), rgba(255, 255, 255, 0.5)),
    linear-gradient(135deg, #d7c4a7 0%, #94775d 44%, #f1e4cf 100%);
}
html.theme-light .hero-copy {
  color: #191919;
}
html.theme-light .hero-copy span {
  border: 1px solid rgba(15, 23, 42, 0.28);
  border-radius: 999px;
}
html.theme-light .hero-copy p {
  color: rgba(25, 25, 25, 0.84);
}
html.theme-light .student-login-shell .today-callout {
  border: 1px solid rgba(15, 23, 42, 0.224);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.084);
  color: #191919;
}
html.theme-light .student-login-shell .student-login-panel {
  background: linear-gradient(180deg, #5b6872 0%, #ebeef0 100%);
}
html.theme-light .student-login-card {
  border: 1px solid rgba(15, 23, 42, 0.144);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.06);
}
html.theme-light .login-title span {
  color: #213245;
}
html.theme-light .login-title h2 {
  color: #191919;
}
html.theme-light .student-login-row label {
  color: #142230;
}
html.theme-light .student-login-row input, html.theme-light .register-grid input, html.theme-light .register-grid select {
  border: 1px solid rgba(15, 23, 42, 0.144);
  background: #eef4ff;
  color: #0f172a;
  border-radius: 4px;
}
html.theme-light .student-login-row button {
  border: 0;
  background: #ff8b26;
  border-radius: 4px;
}
html.theme-light .remember-fixed {
  color: #1e2a3a;
}
html.theme-light .remember-fixed::before {
  border-radius: 3px;
  background: #ff8b26;
  box-shadow: inset 0 0 0 3px #fff4e8;
}
html.theme-light .login-tools button {
  border: 0;
  background: #f4f6f7;
  color: #b86200;
}
html.theme-light .training-launcher {
  border-radius: 0;
  background: #e2e5e6;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 -1px 0 rgba(15, 23, 42, 0.084);
}
html.theme-light .training-title {
  border-right: 0;
}
html.theme-light .training-title strong {
  color: #191919;
  text-shadow: none;
}
html.theme-light .training-item {
  border: 0;
  border-bottom: 1px dotted rgba(22, 28, 32, 0.95);
  border-radius: 0;
  background: transparent;
  color: #202b32;
}
html.theme-light .training-item svg {
  fill: none;
  stroke: #cdd5da;
  filter: drop-shadow(1px 1px 0 rgba(255, 255, 255, 0.13))
    drop-shadow(-1px -1px 0 rgba(15, 23, 42, 0.084));
}
html.theme-light .training-item svg text {
  fill: #2b353b;
  stroke: none;
}
html.theme-light .training-item span {
  border-radius: 3px;
  background: #ff8b26;
  color: #ffffff;
}
html.theme-light .training-item:hover, html.theme-light .training-item:focus-visible {
  background: transparent;
}
html.theme-light .page-loading {
  color: var(--muted);
}
html.theme-light .page-loading-spinner {
  border: 3px solid var(--line);
  border-top-color: var(--primary);
  border-radius: 50%;
}
html.theme-light .landing-half {
  border: 1px solid var(--student-line);
  border-radius: 24px;
  background: var(--student-panel);
  box-shadow: var(--shadow);
}
html.theme-light .rc-half {
  border-color: var(--student-line);
  background: var(--student-panel);
}
html.theme-light .landing-grid.expand-mn .rc-half {
  border-width: 0;
}
html.theme-light .landing-grid.expand-rc .mn-half {
  border-width: 0;
}
html.theme-light .lsl-prefix {
  color: var(--student-muted);
}
html.theme-light .lsl-mn {
  color: var(--student-blue);
}
html.theme-light .lsl-rc {
  color: #2905b3;
}
html.theme-light .student-mark {
  color: var(--student-blue);
}
html.theme-light .student-label {
  color: var(--student-muted);
}
html.theme-light .landing-half h1 {
  color: var(--student-ink);
}
html.theme-light .landing-half h1 strong {
  color: var(--student-blue);
}
html.theme-light .rc-half h1 strong {
  color: #2905b3;
}
html.theme-light .landing-empty-msg {
  color: var(--student-muted);
}
html.theme-light .landing-rc-continue {
  color: #2304b3;
}
html.theme-light .landing-rc-btn {
  background: #8b5cf6;
  color: #ffffff;
  border-radius: 6px;
  border: 1px solid #8b5cf6;
}
html.theme-light .landing-rc-btn:hover {
  background: #7c3aed;
  border-color: #7c3aed;
}
html.theme-light .landing-actions > button, html.theme-light .landing-actions > .landing-rc-btn, html.theme-light .landing-actions > .landing-rc-chooser-btn {
  border-radius: 6px;
}
html.theme-light .rc-half button.secondary {
  background: var(--student-panel);
  color: #2905b3;
  border-color: var(--student-line);
}
html.theme-light .rc-half button.secondary:hover {
  background: #ffffff;
}
html.theme-light .landing-rc-chooser-btn {
  background: transparent !important;
  color: #2905b3 !important;
  border: 1px solid #c4b5fd !important;
  border-radius: 6px;
}
html.theme-light .landing-rc-chooser-btn:hover {
  background: rgba(196, 181, 253, 0.08) !important;
}
html.theme-light .rc-student-label {
  color: #2905b3 !important;
}
html.theme-light .rc-half .picker-course-tab {
  background: rgba(139, 92, 246, 0.10) !important;
  border-color: #6d28d9 !important;
  color: #2905b3 !important;
}
html.theme-light .rc-half .picker-course-tab.active {
  background: #8b5cf6 !important;
  border-color: #8b5cf6 !important;
  color: #ffffff !important;
}
html.theme-light .rc-half .landing-inner-picker .picker-course-tabs {
  background: rgba(139, 92, 246, 0.06);
  border-bottom: 1px solid #cdc0e4;
}
html.theme-light .mn-half .landing-inner-picker .picker-course-tabs {
  background: #ffffff;
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .landing-inner-picker .picker-head p {
  color: var(--student-muted);
}
html.theme-light .landing-inner-picker .picker-head h2 {
  color: var(--student-ink);
}
html.theme-light .rc-lesson-tile {
  background: rgba(139, 92, 246, 0.12);
  border: 1px solid #c4b2de;
  color: #2905b3;
  border-radius: 8px;
}
html.theme-light .rc-lesson-tile:hover {
  background: rgba(139, 92, 246, 0.28);
  border-color: #8b5cf6;
}
html.theme-light .rc-lesson-tile b {
  color: #3208b0;
}
html.theme-light .rc-lesson-tile span {
  color: #2304b3;
}
html.theme-light .rc-tile-empty {
  background: rgba(15, 23, 42, 0.012);
  border: 1px dashed #bfcfe4;
  border-radius: 8px;
}
html.theme-light .rc-tile-empty b {
  color: #1e3a5f;
}
html.theme-light .rc-picker-loading {
  color: #2905b3;
}
html.theme-light .landing-sub {
  color: var(--student-muted);
}
html.theme-light .lesson-picker, html.theme-light .student-card, html.theme-light .student-detail {
  border: 1px solid var(--student-line);
  border-radius: 16px;
  background: var(--student-panel);
  box-shadow: var(--shadow);
}
html.theme-light .picker-head p {
  color: var(--student-muted);
}
html.theme-light .picker-head h2 {
  color: var(--student-ink);
}
html.theme-light .picker-head span {
  color: var(--student-blue);
}
html.theme-light .lesson-tile {
  border-color: var(--student-line);
  background: #f8fafc;
  color: var(--student-ink);
}
html.theme-light .lesson-tile b {
  color: var(--student-blue);
}
html.theme-light .lesson-tile span {
  color: var(--student-muted);
}
html.theme-light .lesson-frame {
  border-radius: 0;
  border: none;
}
html.theme-light .lesson-head {
  background: #ffffff;
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .lesson-head p {
  color: #226795;
}
html.theme-light .lesson-head h1 {
  color: #191919;
}
html.theme-light .lesson-tabs {
  background: #ffffff;
  border-bottom: 2px solid #bfcfe4;
}
html.theme-light .lesson-tabs button {
  background: transparent !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  color: #226795 !important;
  border-radius: 0;
}
html.theme-light .lesson-tabs button:hover {
  color: #1b6d9d !important;
}
html.theme-light .lesson-tabs button.active {
  background: transparent !important;
  color: #191919 !important;
  border-bottom: 3px solid #4d9fd6 !important;
}
html.theme-light .student-card h2, html.theme-light .student-card h3 {
  color: var(--student-ink);
}
html.theme-light .lesson-meta span {
  border: 1px solid var(--student-line);
  border-radius: 999px;
  background: #f8fafc;
  color: var(--student-muted);
}
html.theme-light .retranscribe-btn {
  background: #f3f4f6;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  color: #374151;
}
html.theme-light .retranscribe-btn:hover {
  background: #e5e7eb;
  border-color: #9ca3af;
}
html.theme-light .hanja-section-head h2 {
  color: #0f172a;
}
html.theme-light .hanja-section-head p {
  color: #475569;
}
html.theme-light .mn-hanja-count {
  color: #0369a1;
}
html.theme-light .mn-hanja-list {
  background: #ffffff;
  border: 1px solid #bae6fd;
  border-radius: 12px;
}
html.theme-light .mn-hanja-row {
  border-bottom: 1px solid #e0f2fe;
  background: #ffffff;
}
html.theme-light .mn-hanja-row:last-child {
  border-bottom: none;
}
html.theme-light .mn-hanja-row-left {
  border-right: 1px solid #e0f2fe;
  background: #ffffff;
}
html.theme-light .mn-hanja-char-box {
  border: 1px solid #bae6fd;
  border-radius: 8px;
  background: #f8fafc;
}
html.theme-light .mn-hanja-char-box:hover {
  background: #f0f9ff;
  border-color: #38bdf8;
}
html.theme-light .mn-hanja-char-box:focus-visible {
  outline: 2px solid #0ea5e9;
  outline-offset: 2px;
}
html.theme-light .mn-hanja-char-box.is-playing {
  border-color: #0ea5e9;
  box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.16);
}
html.theme-light .hanzi-target {
  color: #0a7bad;
}
html.theme-light .hanzi-fallback-char {
  color: #0a7bad;
}
html.theme-light .hanzi-target.is-writing .hanzi-fallback-char {
  color: #51627a;
}
html.theme-light .mn-reading-line .reading-hun {
  color: #0369a1;
}
html.theme-light .mn-reading-line .reading-eum {
  color: #0f172a;
}
html.theme-light .mn-hanja-row-right {
  background: #ffffff;
}
html.theme-light .mn-hanja-reveal {
  color: #0f172a;
}
html.theme-light .mn-hanja-reveal:first-child {
  border-bottom: 1px solid #e0f2fe;
}
html.theme-light .mn-hanja-reveal:hover {
  background: #f0f9ff;
}
html.theme-light .mn-reveal-badge {
  border-radius: 4px;
  background: #0ea5e9;
  color: #ffffff;
}
html.theme-light .mn-reveal-badge-ex {
  background: #e0f2fe;
  border: 1px solid #bae6fd;
  color: #0369a1;
}
html.theme-light .mn-reveal-hint {
  color: #64748b;
}
html.theme-light .mn-reveal-body {
  color: #1e293b;
}
html.theme-light .mn-hanja-empty {
  color: #64748b;
}
html.theme-light .student-experience .mn-hanja-study-card {
  background: #ffffff;
  border-color: #7dd3fc;
  box-shadow: 0 2px 12px rgba(14, 165, 233, 0.12);
  color: #0f172a;
}
html.theme-light .student-experience .mn-hanja-study-card .hanja-section-head h2 {
  color: #0f172a;
}
html.theme-light .student-experience .mn-hanja-study-card .hanja-section-head p {
  color: #475569;
}
html.theme-light .cumul-bar-label {
  color: var(--student-muted);
}
html.theme-light .cumul-bar-track {
  border-radius: 7px;
  background: rgba(15, 23, 42, 0.048);
}
html.theme-light .tb-session-label {
  color: #0653b2;
}
html.theme-light .tb-label {
  color: #6080a0;
}
html.theme-light .tb-track {
  border-radius: 4px;
  background: rgba(15, 23, 42, 0.042);
}
html.theme-light .tb-fill {
  border-radius: 4px;
}
html.theme-light .tb-score {
  color: #677889;
}
html.theme-light .cumul-bar-fill {
  border-radius: 7px;
}
html.theme-light .cumul-bar-score {
  color: var(--student-ink);
}
html.theme-light .result-steps span {
  border-radius: 999px;
  background: #eaf1ff;
  color: var(--student-blue);
}
html.theme-light .result-attempt {
  color: var(--primary);
}
html.theme-light .result-date {
  color: var(--muted);
}
html.theme-light .result-transcript {
  border: 1px solid var(--line);
  border-radius: 8px;
}
html.theme-light .result-transcript summary {
  color: var(--muted);
}
html.theme-light .result-transcript p {
  color: #374151;
}
@media (max-width: 680px) {
  html.theme-light .landing-half {
    border-width: 1px !important;
  }
}
html.theme-light .login-experience {
  background: #ffffff;
  color: #111827;
}
html.theme-light .login-header {
  border-bottom: 1px solid #d6d6d6;
  background: #ffffff;
}
html.theme-light .training-logo span {
  color: #6b7280;
}
html.theme-light .training-logo strong {
  color: #222;
}
html.theme-light .login-course-menu {
  background: #ffffff;
  border-right: 1px solid #bfcfe4;
}
html.theme-light .login-course-menu h2 {
  border-bottom: 2px solid #bfcfe4;
  color: #222e44;
}
html.theme-light .login-course-menu button {
  border: none;
  border-bottom: 1px solid rgba(30, 58, 95, 0.7);
  border-radius: 0;
  background: transparent;
  color: #51627a;
}
html.theme-light .login-course-menu button:last-child {
  border-bottom: none;
}
html.theme-light .login-course-menu button:hover {
  background: transparent;
  color: #1e2a3a;
}
html.theme-light .login-course-menu button.active {
  border: none;
  border-bottom: 1px solid rgba(30, 58, 95, 0.7);
  border-radius: 0;
  background: transparent;
  color: #0073b8;
  box-shadow: none;
}
html.theme-light .login-hero {
  border-right: 32px solid #ff8b26;
  background: linear-gradient(rgba(174, 130, 76, 0.25), rgba(248, 244, 240, 0.28)),
    linear-gradient(135deg, #d5c0a1 0%, #91745a 42%, #e6d9c2 100%);
}
html.theme-light .login-hero::before {
  background: radial-gradient(ellipse at center, rgba(255,255,255,0.9) 0%, rgba(15, 23, 42, 0.09) 54%, transparent 68%),
    repeating-linear-gradient(96deg, rgba(241, 236, 232, 0.3) 0 2px, transparent 2px 18px);
  filter: blur(1px);
}
html.theme-light .book-scene {
  color: #191919;
  text-shadow: none;
}
html.theme-light .book-scene strong {
  color: #b89700;
}
html.theme-light .today-callout {
  color: #000;
}
html.theme-light .today-callout span {
  color: #0c6796;
}
html.theme-light .login-actions button {
  border: 2px solid #c8dae8;
  background: #0c6691;
  color: #ffffff;
}
html.theme-light .login-actions button.secondary {
  background: #0c6691;
  color: #ffffff;
}
html.theme-light .login-panel {
  background: #e2e5e7;
  color: #121e2a;
}
html.theme-light .login-box h2 {
  color: #121e2a;
}
html.theme-light .login-box input[type="text"], html.theme-light .login-box input[type="password"], html.theme-light .login-box input:not([type]) {
  border-radius: 3px;
  background: #e6eef9;
  color: #111827;
}
html.theme-light .login-row button {
  background: #ff8b26;
  border-color: #ff8b26;
  border-radius: 3px;
}
html.theme-light .remember {
  color: #272b33;
}
html.theme-light .parent-link {
  border: 0;
  border-radius: 3px;
  background: #eef0f2;
  color: #b85d00;
}
html.theme-light .login-message {
  color: #b86e00;
}
html.theme-light .student-login-panel .login-message {
  color: #b86e00;
}
html.theme-light .training-icons {
  color: rgba(14, 21, 30, 0.55);
}
html.theme-light .training-icons h3 {
  border-bottom: 1px dotted rgba(15, 23, 42, 0.256);
  color: #191919;
}
html.theme-light .training-icons span {
  border-bottom: 1px dotted rgba(15, 23, 42, 0.192);
}
html.theme-light .home-copy, html.theme-light .home-board, html.theme-light .home-flow article {
  border: 1px solid var(--student-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 44px rgba(16, 38, 70, 0.1);
}
html.theme-light .eyebrow {
  border: 1px solid rgba(11, 45, 66, 0.16);
  border-radius: 999px;
  background: #eef7f8;
  color: #0b6170;
}
html.theme-light .home-copy h1 {
  color: var(--student-navy);
}
html.theme-light .home-lead {
  color: var(--student-muted);
}
html.theme-light .home-actions button {
  border-radius: 7px;
}
html.theme-light .home-board div {
  border: 1px solid #dce5ef;
  border-radius: 12px;
  background: #f8fbff;
}
html.theme-light .home-board span {
  color: var(--student-muted);
}
html.theme-light .home-board strong {
  color: #0b6170;
}
html.theme-light .home-flow article b {
  border-radius: 999px;
  background: #ecf6f7;
  color: #191919;
}
html.theme-light .home-flow article h2 {
  color: var(--student-navy);
}
html.theme-light .home-flow article p {
  color: var(--student-muted);
}
html.theme-light .login-stage {
  border-radius: 16px;
}
html.theme-light .login-course-menu.refined {
  border-right: 0;
  border-radius: 14px;
  box-shadow: 0 16px 34px rgba(16, 38, 70, 0.08);
}
html.theme-light .login-col-header {
  border-radius: 6px;
  background: #4d9fd6;
  color: #fff;
}
html.theme-light .login-col-header.rc {
  background: #8b5cf6;
  color: #fff;
}
html.theme-light .login-course-col.rc-col button:hover {
  background: transparent;
  color: #2905b3;
}
html.theme-light .login-course-col.rc-col button.active {
  border: none;
  border-bottom: 1px solid rgba(30, 58, 95, 0.7);
  background: transparent;
  color: #2905b3;
  box-shadow: none;
}
html.theme-light .login-visual {
  border-right: 32px solid #ff8b26;
  border-radius: 10px 14px 14px 10px;
  background: url("/assets/classroom.jpg") center center / cover no-repeat;
}
html.theme-light .login-visual::after {
  background: rgba(255, 255, 255, 0.5);
}
html.theme-light .book-scene.refined span {
  border: 1px solid rgba(12, 59, 94, 0.4);
  border-radius: 999px;
  color: #0c3b5e;
  background: rgba(255, 255, 255, 0.6);
}
html.theme-light .book-scene.refined h1 {
  color: #0c2d4a;
  text-shadow: none;
}
html.theme-light .course-intro-box {
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(12, 59, 94, 0.18);
  border-radius: 10px;
}
html.theme-light .course-intro-box strong {
  color: #0c4a7a;
}
html.theme-light .course-intro-box p, html.theme-light .course-intro-box div {
  color: #183352;
}
html.theme-light .course-grade {
  border-radius: 999px;
  background: rgba(240, 245, 249, 0.12);
  border: 1px solid rgba(12, 59, 94, 0.2);
  color: #0c4a7a;
}
html.theme-light .course-points li {
  border-radius: 999px;
  background: rgba(29, 111, 163, 0.1);
  border: 1px solid rgba(29, 111, 163, 0.25);
  color: #0c4a7a;
}
html.theme-light .course-points li::before {
  color: #1d6fa3;
}
html.theme-light .login-actions.refined button {
  border-radius: 7px;
}
html.theme-light .login-side {
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #ffffff 100%);
  border-left: 1px solid #bfcfe4;
}
html.theme-light .login-box.refined {
  border: 1px solid rgba(15, 23, 42, 0.144);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.06);
}
html.theme-light .login-box.refined h2 {
  color: #213245;
}
html.theme-light .login-box.refined h2 strong {
  color: #191919;
}
html.theme-light .login-box.refined label {
  color: #142230;
}
html.theme-light .login-box.refined input, html.theme-light .login-box.refined select {
  border: 1px solid rgba(15, 23, 42, 0.144);
  border-radius: 4px;
  background: #eef4ff;
  color: #0f172a;
}
html.theme-light .login-box.refined > button {
  border: 0;
  border-radius: 4px;
  background: #ff8b26;
}
html.theme-light .logged-in-card .li-greeting {
  color: #2b4a69;
}
html.theme-light .logged-in-card .li-name {
  color: #191919;
}
html.theme-light .logged-in-card .li-meta {
  color: #406381;
}
html.theme-light .logged-in-card > button {
  border: 0;
  border-radius: 6px;
}
html.theme-light .logged-in-card #btnStartDirectly {
  background: #ff8b26;
}
html.theme-light .logged-in-card .li-btn-secondary {
  background: #ebf0f7;
  color: #1e5f99;
}
html.theme-light .logged-in-card .li-btn-logout {
  background: transparent;
  border: 1px solid rgba(15, 23, 42, 0.144) !important;
  color: #406381;
}
html.theme-light .account-dropdown {
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.144);
  border-radius: 6px;
}
html.theme-light .account-item {
  color: #213245;
  border-bottom: 1px solid rgba(15, 23, 42, 0.056);
}
html.theme-light .account-item:last-child {
  border-bottom: none;
}
html.theme-light .account-item:hover {
  background: rgba(15, 23, 42, 0.048);
}
html.theme-light .account-name {
  color: #1e2a3a;
}
html.theme-light .account-id {
  color: #51627a;
}
html.theme-light .login-tools.refined button {
  border: 0;
  background: #f4f6f7;
  color: #b86200;
}
html.theme-light .register-modal-overlay {
  background: rgba(238, 242, 249, 0.72);
}
html.theme-light .register-modal-card {
  background: linear-gradient(160deg, #f2f5f9 0%, #ffffff 100%);
  border: 1px solid rgba(15, 23, 42, 0.112);
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.193);
}
html.theme-light .register-modal-card h2 {
  color: #191919;
}
html.theme-light .register-modal-card input, html.theme-light .register-modal-card select {
  border: 1px solid rgba(15, 23, 42, 0.144);
  border-radius: 6px;
  background: #eef4ff;
  color: #0f172a;
}
html.theme-light .register-modal-actions button[type="submit"] {
  border: 0;
  border-radius: 6px;
  background: #ff8b26;
  color: #fff;
}
html.theme-light .register-modal-actions button[type="button"] {
  border: 1px solid rgba(15, 23, 42, 0.144);
  border-radius: 6px;
  background: transparent;
  color: #406381;
}
html.theme-light .register-modal-card .login-message {
  color: #af0909;
}
html.theme-light .training-launcher.refined .training-item b {
  color: #2b353b;
  filter: drop-shadow(1px 1px 0 rgba(255, 255, 255, 0.13))
    drop-shadow(-1px -1px 0 rgba(15, 23, 42, 0.084));
}
html.theme-light .training-launcher.two-items {
  border-radius: 12px;
}
html.theme-light .training-header {
  color: #182637;
}
html.theme-light .training-launcher.two-items .training-item {
  border: 1px solid rgba(15, 23, 42, 0.096);
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.036);
}
html.theme-light .training-launcher.two-items .training-item:hover, html.theme-light .training-launcher.two-items .training-item:active {
  background: rgba(15, 23, 42, 0.078);
  border-color: rgba(15, 23, 42, 0.224);
}
html.theme-light .training-launcher.two-items .training-item span {
  background: transparent;
  color: rgba(25, 25, 25, 0.85);
  text-shadow: none;
  border-radius: 0;
}
@media (max-width: 1040px) {
  html.theme-light .login-visual, html.theme-light .login-side {
    border-radius: 10px;
  }
}
html.theme-light .recording-popup {
  background: rgba(238, 242, 249, 0.6);
}
html.theme-light .recording-modal {
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.098);
}
html.theme-light .recording-pulse-ring::before, html.theme-light .recording-pulse-ring::after {
  border-radius: 50%;
  background: rgba(220, 38, 38, 0.2);
}
html.theme-light .recording-dot {
  border-radius: 50%;
  background: #dc2626;
}
html.theme-light .recording-dot svg {
  color: #191919;
}
html.theme-light .recording-timer {
  color: #1f2933;
}
html.theme-light .recording-label {
  color: #667085;
}
html.theme-light .recording-sub {
  color: #51627a;
}
html.theme-light .admin-sess-record-live {
  border-radius: 12px;
  background: rgba(220, 38, 38, 0.08);
  border: 1px solid rgba(220, 38, 38, 0.35);
}
html.theme-light .admin-sess-record-live .recording-timer {
  color: #003db8;
}
html.theme-light .admin-sess-record-live .recording-label {
  color: #3a4b6b;
}
html.theme-light .admin-sess-record-live .recording-sub {
  color: #6b7fa0;
}
html.theme-light .recording-modal .stop-btn {
  background: #dc2626;
  border-color: #dc2626;
}
html.theme-light .recording-modal .stop-btn:hover {
  background: #b91c1c;
  border-color: #deb3b3;
}
html.theme-light .recording-modal .restart-btn {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #374151;
}
html.theme-light .recording-modal .restart-btn:hover {
  background: #e2e8f0;
  border-color: #94a3b8;
}
html.theme-light .recording-live-text {
  border-radius: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}
html.theme-light .transcript-final {
  color: #1f2933;
}
html.theme-light .transcript-interim {
  color: #51627a;
}
html.theme-light .transcript-save-status {
  color: #3208b0;
}
html.theme-light .picker-course-tabs {
  border-bottom: 1px solid var(--student-line);
  background: #f8fafc;
}
html.theme-light .picker-course-tab {
  border-radius: 20px;
  border-color: var(--student-line);
  background: #ffffff;
  color: var(--student-muted);
}
html.theme-light .picker-course-tab.active {
  border-color: var(--student-blue);
  background: var(--student-blue);
  color: #191919;
}
html.theme-light .question-intro .passage-title-ref {
  color: var(--primary);
}
html.theme-light .muted-text {
  color: var(--muted);
}
html.theme-light .admin-student-item {
  border-radius: 8px;
}
html.theme-light .admin-student-btn .expand-arrow {
  color: #4a6080;
}
html.theme-light .admin-student-btn.expanded {
  background: rgba(30, 100, 160, 0.25);
  border-color: #b6cfe0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
html.theme-light .admin-student-actions {
  background: #ebf0f7;
  border: 1px solid #b6cfe0;
  border-top: none;
  border-radius: 0 0 8px 8px;
}
html.theme-light .admin-action-btn {
  border-radius: 0;
  border: none;
}
html.theme-light .admin-action-btn:last-child {
  border-radius: 0 0 8px 8px;
}
html.theme-light .admin-action-session {
  background: #1d6fa3;
  color: #fff;
}
html.theme-light .rc-experience {
  --student-bg: #eef3f9;
  --student-panel: #ffffff;
  --student-ink: #222e44;
  --student-muted: #445374;
  --student-line: #bfcfe4;
  --student-navy: #222e44;
  background: #eef3f9;
  color: #222e44;
}
html.theme-light .rc-topbar {
  background: #eef3f9 !important;
  border-bottom: 1px solid #bfcfe4 !important;
}
html.theme-light .rc-topbar .brand strong {
  color: #191919;
}
html.theme-light .rc-topbar .brand span {
  color: #2905b3;
}
html.theme-light .rc-topbar .nav a {
  background: #ffffff;
  border-color: #bfcfe4;
  color: #222e44;
}
html.theme-light .rc-topbar .nav a:hover, html.theme-light .rc-topbar .nav a.active {
  background: #8b5cf6;
  border-color: #8b5cf6;
  color: #ffffff;
}
html.theme-light .rc-banner {
  background: linear-gradient(135deg, #ffffff 0%, #ecf6f7 45%, #e5edf5 100%);
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .rc-banner .banner-text strong {
  color: #191919;
}
html.theme-light .rc-banner .banner-text span {
  color: #2905b3;
}
html.theme-light .rc-banner .banner-badge {
  background: #7c3aed;
  color: #ffffff;
  border-radius: 20px;
}
html.theme-light #bannerBadge span {
  color: #191919;
}
html.theme-light .rc-banner-back-btn {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 6px;
  color: #191919;
}
html.theme-light .rc-banner-back-btn:hover {
  background: #ffffff;
}
html.theme-light .banner-btn-rc {
  background: #8b5cf6 !important;
  color: #ffffff !important;
  border: 1px solid #c4b5fd !important;
}
html.theme-light .banner-btn-rc:hover {
  background: #7c3aed !important;
}
html.theme-light .rc-area-selector h2 {
  color: #191919;
}
html.theme-light .rc-area-selector-sub {
  color: #2905b3;
}
html.theme-light .rc-area-card {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 14px;
}
html.theme-light .rc-area-card:hover {
  background: #ffffff;
  border-color: #8b5cf6;
}
html.theme-light .rc-area-label {
  color: #191919;
}
html.theme-light .rc-rail {
  background: #ffffff;
  border-right: 1px solid #bfcfe4;
}
html.theme-light .rc-rail-header {
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .rc-rail-header span {
  color: #2905b3;
}
html.theme-light .rc-rail-header small {
  color: #3208b0;
}
html.theme-light .rc-change-area-btn {
  background: transparent;
  border: 1px solid #8b5cf6;
  border-radius: 6px;
  color: #2905b3;
}
html.theme-light .rc-change-area-btn:hover {
  background: rgba(139, 92, 246, 0.12);
}
html.theme-light .rc-rail-item {
  background: transparent;
  border: none;
  color: #2304b3;
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .rc-rail-item:hover {
  background: #ffffff;
}
html.theme-light .rc-rail-item.active {
  background: rgba(139, 92, 246, 0.18);
  color: #191919;
}
html.theme-light .rail-no {
  color: #3208b0;
}
html.theme-light .rc-dot {
  border-radius: 50%;
  background: #8b5cf6;
}
html.theme-light .rc-lesson-tabs {
  background: #ffffff;
  border-bottom: 2px solid #bfcfe4;
}
html.theme-light .rc-tab-btn {
  background: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  color: #3208b0;
}
html.theme-light .rc-tab-btn:hover {
  color: #2304b3;
}
html.theme-light .rc-tab-btn.active {
  color: #191919;
  border-bottom-color: #8b5cf6;
}
html.theme-light .rc-section {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 12px;
}
html.theme-light .rc-section-title {
  color: #2905b3;
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .rc-badge {
  background: #8b5cf6;
  color: #ffffff;
}
html.theme-light .rc-experience .lesson-head {
  background: #ffffff;
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .rc-experience .lesson-head h1 {
  color: #191919;
}
html.theme-light .rc-experience .lesson-head p {
  color: #2905b3;
}
html.theme-light .rc-spinner {
  border-color: #bfcfe4;
  border-top-color: #8b5cf6;
}
html.theme-light .rc-passage-body {
  color: #191919;
  background: #ffffff;
  border-radius: 8px;
}
html.theme-light .rc-hanja-hint {
  background: #ffffff;
  border-radius: 8px;
  color: #2304b3;
}
html.theme-light .rc-inline-hanja {
  background: rgba(139, 92, 246, 0.18);
  color: #2905b3;
  border-radius: 4px;
}
html.theme-light .rc-background-body {
  color: #191919;
  background: #ffffff;
  border-radius: 8px;
}
html.theme-light .rc-hanja-list {
  background: #ffffff;
  border: 1px solid #ddd6fe;
  border-radius: 12px;
}
html.theme-light .rc-hanja-row {
  border-bottom: 1px solid #ede9fe;
}
html.theme-light .rc-hanja-row:last-child {
  border-bottom: none;
}
html.theme-light .rc-hanja-row-left {
  border-right: 1px solid #ede9fe;
  background: #ffffff;
}
html.theme-light .rc-hanja-char-box {
  background: #f5f3ff;
  border: 1px solid #ede9fe;
  border-radius: 8px;
}
html.theme-light .rc-hanja-char-box:hover {
  background: #ede9fe;
  border-color: #c4b5fd;
}
html.theme-light .rc-hanja-char-box:focus-visible {
  outline: 2px solid #8b5cf6;
  outline-offset: 2px;
}
html.theme-light .rc-hanja-char-box.is-playing {
  border-color: #8b5cf6;
}
html.theme-light .rc-hanja-char-fallback {
  color: #1e1b4b;
}
html.theme-light .rc-훈 {
  color: #4e1c9c;
}
html.theme-light .rc-음 {
  color: #0f172a;
}
html.theme-light .rc-hanja-reveal:first-child {
  border-bottom: 1px solid #ede9fe;
}
html.theme-light .rc-hanja-reveal:hover {
  background: #f5f3ff;
}
html.theme-light .rc-reveal-badge {
  color: #fff;
  background: #8b5cf6;
  border-radius: 4px;
}
html.theme-light .rc-reveal-badge-ex {
  background: #ede9fe;
  color: #5b21b6;
  border: 1px solid #ddd6fe;
}
html.theme-light .rc-reveal-hint {
  color: #64748b;
}
html.theme-light .rc-reveal-body {
  color: #1e293b;
}
html.theme-light .rc-quiz-start-btn {
  background: #8b5cf6;
  color: #fff;
  border: none;
  border-radius: 10px;
}
html.theme-light .rc-quiz-start-btn:hover {
  background: #7c3aed;
}
html.theme-light .rc-quiz-card {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 14px;
}
html.theme-light .rc-quiz-set-tabs span {
  border: 1px solid #bbc9e0;
  border-radius: 7px;
  color: #6b7fa0;
}
html.theme-light .rc-quiz-set-tabs span.active {
  background: #8b5cf6;
  border-color: #8b5cf6;
  color: #ffffff;
}
html.theme-light .rc-quiz-progress {
  color: #2905b3;
}
html.theme-light .rc-quiz-prompt {
  color: #2304b3;
}
html.theme-light .rc-quiz-sentence {
  border-radius: 12px;
  background: #ffffff;
  color: #191919;
}
html.theme-light .rc-quiz-sentence.correct {
  box-shadow: inset 3px 0 #22c55e;
}
html.theme-light .rc-quiz-sentence.wrong {
  box-shadow: inset 3px 0 #ef4444;
}
html.theme-light .rc-quiz-diamond, html.theme-light .rc-quiz-opt-diamond {
  background: #8b5cf6;
  color: #ffffff;
}
html.theme-light .rc-quiz-blank {
  border: 2px solid #8b5cf6;
  border-radius: 9px;
  background: rgba(139, 92, 246, 0.12);
  color: #191919;
}
html.theme-light .rc-quiz-blank.correct {
  border-color: #22c55e;
  background: rgba(34, 197, 94, 0.14);
}
html.theme-light .rc-quiz-blank.wrong {
  border-color: #ef4444;
  background: rgba(239, 68, 68, 0.14);
}
html.theme-light .rc-quiz-opt {
  background: #eef3f9;
  border: 1px solid #bfcfe4;
  border-radius: 10px;
  color: #191919;
}
html.theme-light .rc-quiz-opt:hover:not(:disabled) {
  background: #ffffff;
  border-color: #8b5cf6;
}
html.theme-light .rc-quiz-opt.active {
  background: rgba(139, 92, 246, 0.24);
  border-color: #8b5cf6;
  box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.18);
}
html.theme-light .rc-quiz-opt.correct {
  background: #ffffff;
  border-color: #22c55e;
  color: #191919;
}
html.theme-light .rc-quiz-opt.wrong {
  background: #ffffff;
  border-color: #e57373;
  color: #191919;
}
html.theme-light .rc-quiz-blank.drag-over {
  background: rgba(139, 92, 246, 0.35);
  border-color: #c4b5fd;
  box-shadow: 0 0 0 3px rgba(196, 181, 253, 0.3);
}
html.theme-light .rc-quiz-opt-diamond {
  border-radius: 5px;
}
html.theme-light .rc-quiz-row-note.correct {
  color: #15a248;
}
html.theme-light .rc-quiz-row-note.wrong {
  color: #b20606;
}
html.theme-light .rc-quiz-answer-note {
  border-radius: 8px;
}
html.theme-light .rc-quiz-answer-note.correct {
  color: #15a248;
  background: rgba(34, 197, 94, 0.12);
}
html.theme-light .rc-quiz-answer-note.wrong {
  color: #b20606;
  background: rgba(239, 68, 68, 0.12);
}
html.theme-light .rc-quiz-next-btn {
  background: #8b5cf6;
  color: #fff;
  border: none;
  border-radius: 10px;
}
html.theme-light .rc-quiz-next-btn:hover {
  background: #7c3aed;
}
html.theme-light .rc-quiz-result {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 14px;
}
html.theme-light .rc-quiz-result-score {
  color: #2905b3;
}
html.theme-light .rc-quiz-result-detail {
  color: #3208b0;
}
html.theme-light .rc-quiz-result-msg {
  color: #2304b3;
}
html.theme-light .rc-quiz-retry-btn {
  background: #8b5cf6;
  color: #ffffff;
  border: none;
  border-radius: 8px;
}
html.theme-light .rc-quiz-retry-btn:hover {
  background: #7c3aed;
}
html.theme-light .rc-recording-hint {
  background: #ffffff;
  border-radius: 8px;
  color: #191919;
}
html.theme-light .rc-hanja-target {
  color: #2905b3;
}
html.theme-light .rc-record-btn {
  background: #8b5cf6;
  color: #ffffff;
  border: none;
  border-radius: 8px;
}
html.theme-light .rc-record-btn:hover {
  background: #7c3aed;
}
html.theme-light .rc-record-btn.recording {
  background: #c62828;
}
html.theme-light .rc-transcript-area {
  background: #ffffff;
  border-radius: 8px;
}
html.theme-light .transcript-live {
  color: #3208b0;
}
html.theme-light .transcript-done {
  color: #191919;
}
html.theme-light .rc-qa-title {
  color: #2905b3;
}
html.theme-light .rc-qa-label {
  color: #191919;
}
html.theme-light .rc-qa-type {
  border-radius: 4px;
}
html.theme-light .rc-qa-type-사실 .rc-qa-type {
  background: #1565c0;
  color: #bbdefb;
}
html.theme-light .rc-qa-type-추론 .rc-qa-type {
  background: #4a148c;
  color: #e1bee7;
}
html.theme-light .rc-qa-type-비판 .rc-qa-type {
  background: #bf360c;
  color: #ffccbc;
}
html.theme-light .rc-qa-speak-btn, html.theme-light .rc-qa-rerecord-btn {
  border-radius: 6px;
  border: 1px solid #8b5cf6;
}
html.theme-light .rc-qa-speak-btn {
  background: #8b5cf6;
  color: #ffffff;
}
html.theme-light .rc-qa-speak-btn:hover:not(:disabled) {
  background: #7c3aed;
  border-color: #7c3aed;
}
html.theme-light .rc-qa-speak-btn.recording {
  background: #c62828;
  border-color: #ef5350;
}
html.theme-light .rc-qa-rerecord-btn {
  background: #ffffff;
  color: #2905b3;
}
html.theme-light .rc-qa-rerecord-btn:hover:not(:disabled) {
  background: #ffffff;
}
html.theme-light .rc-qa-record-status {
  color: #2905b3;
}
html.theme-light .rc-qa-answer {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 6px;
  color: #191919;
}
html.theme-light .rc-qa-answer:focus {
  outline: none;
  border-color: #8b5cf6;
}
html.theme-light .rc-record-start-btn {
  background: #8b5cf6;
  color: #ffffff;
  border: none;
  border-radius: 10px;
}
html.theme-light .rc-record-start-btn:hover {
  background: #7c3aed;
}
html.theme-light .rc-record-status {
  color: #2905b3;
}
html.theme-light .rc-transcript-label {
  color: #3208b0;
}
html.theme-light .rc-transcript-textarea {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 8px;
  color: #191919;
}
html.theme-light .rc-transcript-textarea:focus {
  outline: none;
  border-color: #8b5cf6;
}
html.theme-light .rc-submit-btn {
  background: #8b5cf6;
  color: #ffffff;
  border: none;
  border-radius: 8px;
}
html.theme-light .rc-submit-btn:hover {
  background: #7c3aed;
}
html.theme-light .rc-submit-status {
  color: #2905b3;
}
html.theme-light .rc-score-num {
  color: #2905b3;
}
html.theme-light .rc-score-num small {
  color: #2905b3;
}
html.theme-light .rc-hanja-check {
  background: #ffffff;
  border-radius: 8px;
}
html.theme-light .rc-fb-label {
  color: #2905b3;
}
html.theme-light .rc-hanja-chip {
  border-radius: 20px;
}
html.theme-light .rc-hanja-chip.found {
  background: rgba(139, 92, 246, 0.18);
  color: #191919;
}
html.theme-light .rc-hanja-chip.missed {
  background: #f4f4f4;
  color: #666;
}
html.theme-light .rc-fb-block {
  border-radius: 8px;
}
html.theme-light .rc-fb-hanja {
  background: #ffffff;
  border-left: 3px solid #8b5cf6;
  color: #191919;
}
html.theme-light .rc-fb-praise {
  background: #ffffff;
}
html.theme-light .rc-praise-list li {
  color: #191919;
}
html.theme-light .rc-fb-suggestion {
  background: #ffffff;
  border-left: 3px solid #ff8f00;
  color: #191919;
}
html.theme-light .rc-fb-cheer {
  color: #2905b3;
}
html.theme-light .course-menu-sep {
  border: none;
  border-top: 1px solid #bfcfe4;
}
html.theme-light .course-menu-label {
  color: #255e92;
}
html.theme-light .rc-placeholder {
  color: #3208b0;
}
html.theme-light .rc-no-topics {
  color: #3208b0;
}
html.theme-light .admin-action-session:hover {
  background: #1558a0;
}
html.theme-light .admin-action-result {
  background: #ffffff;
  color: #445374;
}
html.theme-light .admin-action-result:hover {
  background: #ffffff;
  color: #222e44;
}
html.theme-light .admin-action-preview {
  background: #ffffff;
  color: #445374;
}
html.theme-light .admin-action-preview:hover {
  background: #ffffff;
  color: #222e44;
}
html.theme-light .admin-session-overlay {
  background: #eff1f8;
}
html.theme-light .admin-session-header {
  background: #ffffff;
  border-bottom: 1px solid #bfcfe4;
}
html.theme-light .admin-sess-badge {
  background: #1d6fa3;
  color: #fff;
  border-radius: 6px;
}
html.theme-light .admin-sess-name {
  color: #191919;
}
html.theme-light .admin-sess-pace {
  color: #445374;
}
html.theme-light .admin-sess-close {
  background: transparent;
  border: 1px solid #bfcfe4;
  color: #445374;
  border-radius: 6px;
}
html.theme-light .admin-sess-close:hover {
  background: rgba(15, 23, 42, 0.036);
  color: #191919;
}
html.theme-light .admin-sess-card {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  border-radius: 12px;
}
html.theme-light .admin-sess-card h3 {
  color: #222e44;
}
html.theme-light .admin-sess-passage-title {
  color: #0653b2;
}
html.theme-light .admin-sess-muted {
  color: #6b7fa0;
}
html.theme-light .admin-sess-card select, html.theme-light .admin-sess-card textarea {
  background: #ffffff;
  border-color: #bfcfe4;
  color: #222e44;
}
html.theme-light .admin-sess-card select option {
  background: #ffffff;
}
html.theme-light .admin-sess-course-btn {
  background: #ffffff;
  border: 1px solid #bfcfe4;
  color: #445374;
  border-radius: 16px;
}
html.theme-light .admin-sess-course-btn:hover {
  background: rgba(30,100,160,0.2);
  border-color: #b6cfe0;
  color: #222e44;
}
html.theme-light .admin-sess-course-btn.active {
  background: #1d6fa3;
  border-color: #b6cfe0;
  color: #fff;
}
html.theme-light .admin-sess-secondary-btn {
  background: transparent;
  border: 1px solid #bfcfe4;
  color: #222e44;
  border-radius: 8px;
}
html.theme-light .admin-sess-secondary-btn:hover {
  background: rgba(15, 23, 42, 0.036);
}
html.theme-light .admin-sess-print-btn:disabled:hover {
  background: #1d6fa3;
}
html.theme-light .admin-sess-print-btn {
  background: #1d6fa3;
  color: #fff;
  border: none;
  border-radius: 8px;
}
html.theme-light .admin-sess-print-btn:hover {
  background: #155888;
}
html.theme-light .admin-sess-mode-btn {
  border-radius: 20px;
  border: 1.5px solid #c5cedc;
  background: transparent;
  color: #51627a;
}
html.theme-light .admin-sess-mode-btn.active {
  background: #1d6fa3;
  border-color: #b6cfe0;
  color: #fff;
}
html.theme-light .admin-sess-mode-btn[data-mode="rc"].active {
  background: #8b5cf6;
  border-color: #8b5cf6;
  color: #ffffff;
}
html.theme-light .admin-session-overlay .record-panel button, html.theme-light .admin-session-overlay #adminSessFeedbackBtn {
  background: #1d6fa3;
  border-color: #b6cfe0;
}
html.theme-light .admin-session-overlay .record-panel button:hover, html.theme-light .admin-session-overlay #adminSessFeedbackBtn:hover {
  background: #175d8a;
  border-color: #bad2e1;
}
html.theme-light .admin-session-overlay.rc-mode .record-panel button, html.theme-light .admin-session-overlay.rc-mode #adminSessFeedbackBtn {
  background: #7c3aed;
  border-color: #7c3aed;
}
html.theme-light .admin-session-overlay.rc-mode .record-panel button:hover, html.theme-light .admin-session-overlay.rc-mode #adminSessFeedbackBtn:hover {
  background: #6d28d9;
  border-color: #6d28d9;
}
html.theme-light .admin-sess-rc-area-btn {
  border-radius: 14px;
  border: 1px solid #c7ced9;
  background: transparent;
  color: #5b6370;
}
html.theme-light .admin-sess-rc-area-btn.active {
  background: #8b5cf6;
  border-color: #8b5cf6;
  color: #ffffff;
}
html.theme-light .admin-rc-background-box {
  background: rgba(139, 92, 246, 0.08);
  border: 1px solid rgba(139, 92, 246, 0.28);
  border-radius: 8px;
}
html.theme-light .admin-rc-bg-label {
  color: #2905b3;
}
html.theme-light .admin-rc-bg-text {
  color: #2c3b4d;
}
html.theme-light .admin-rc-guide-label {
  color: #2905b3;
}
html.theme-light .mn-guide-label {
  color: #047bb3;
}
html.theme-light .admin-rc-q-type {
  border-radius: 4px;
}
html.theme-light .admin-rc-type-어휘 {
  background: #0d9488;
  color: #99f6e4;
}
html.theme-light .admin-rc-type-사실 {
  background: #1e40af;
  color: #bfdbfe;
}
html.theme-light .admin-rc-type-추론 {
  background: #7c3aed;
  color: #ddd6fe;
}
html.theme-light .admin-rc-type-비판 {
  background: #b91c1c;
  color: #fecaca;
}
html.theme-light .admin-rc-q-row-label {
  color: #2905b3;
}
html.theme-light .admin-rc-q-text {
  color: #142230;
}
html.theme-light .admin-rc-q-answer-row {
  background: #ffffff;
  border-left: 2px solid #8b5cf6;
  border-radius: 0 4px 4px 0;
}
html.theme-light .admin-rc-q-answer-text {
  color: #142230;
}
html.theme-light .mn-guide-q-answer-row {
  background: #ffffff;
  border-left: 2px solid #38bdf8;
  border-radius: 0 4px 4px 0;
}
html.theme-light .admin-rc-hanja-item {
  background: #ffffff;
  border-radius: 6px;
}
html.theme-light .admin-rc-hanja-word {
  color: #2905b3;
}
html.theme-light .admin-rc-hanja-reading {
  color: #51627a;
}
html.theme-light .admin-rc-hanja-meaning {
  color: #2c3b4d;
}
html.theme-light .admin-rc-topic-box {
  background: rgba(139, 92, 246, 0.10);
  border-left: 3px solid #8b5cf6;
  border-radius: 0 6px 6px 0;
  color: #121e2a;
}
html.theme-light .mn-guide-topic-box {
  background: rgba(56, 189, 248, 0.10);
  border-left: 3px solid #38bdf8;
  border-radius: 0 6px 6px 0;
  color: #121e2a;
}
html.theme-light .admin-rc-background-text {
  color: #51627a;
}
html.theme-light .rc-guide-table {
  border-collapse: collapse;
  background: #ffffff;
  border-radius: 8px;
}
html.theme-light .rc-guide-table th {
  background: #ffffff;
  color: #64748b;
  border-bottom: 1px solid #c5cedc;
}
html.theme-light .rc-guide-table td {
  border-bottom: 1px solid #c7d2e3;
  color: #1e2a3a;
}
html.theme-light .rc-guide-table tr:last-child td {
  border-bottom: none;
}
html.theme-light .rc-guide-td-para {
  color: #2905b3;
}
html.theme-light .mn-guide-td-para {
  color: #047bb3;
}
html.theme-light .rc-guide-td-summary {
  color: #142230;
}
html.theme-light .rc-guide-word-chip {
  background: #ffffff;
  border: 1px solid #c5cedc;
  border-radius: 6px;
  color: #142230;
}
html.theme-light .rc-guide-hanja-none {
  color: #475569;
}
html.theme-light .rb-title {
  color: #2905b3;
}
html.theme-light .rb-seg {
  background: #ffffff;
  border-radius: 8px;
}
html.theme-light .rb-seg button {
  border: 0;
  background: transparent;
  color: #51627a;
  border-radius: 6px;
}
html.theme-light .rb-seg button[aria-pressed="true"] {
  background: #f8fafc;
  color: #0f172a;
}
html.theme-light .rb-toggles label {
  color: #51627a;
}
html.theme-light .rb-card {
  background: #ffffff;
  color: #0f172a;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.087);
}
html.theme-light .rb-para {
  border-top: 1px solid #e2e8f0;
}
html.theme-light .rb-para:first-child {
  border-top: 0;
}
html.theme-light .rb-section.rb-mn .rb-role {
  color: #0284c7;
}
html.theme-light .rb-section.rb-rc .rb-role {
  color: #480fa8;
}
html.theme-light .rb-text {
  color: #0f172a;
}
html.theme-light .rb-slash {
  color: #94693f;
}
html.theme-light .rb-mk.on {
  color: #0f766e;
  background: #ccfbf1;
  border-radius: 4px;
}
html.theme-light .rb-section.rb-hide-main .rb-sent.main {
  background: none;
}
html.theme-light .rb-sent.main {
  background: linear-gradient(transparent 55%, #fef08a 55%);
}
html.theme-light .rb-guide {
  background: #f8fafc;
  border-radius: 8px;
  color: #334155;
}
html.theme-light .rb-guide summary {
  color: #163aa2;
}
html.theme-light .rb-genre {
  border-top: 2px solid #e2e8f0;
}
html.theme-light .rb-genre h4 {
  color: #0f172a;
}
html.theme-light .rb-genre-cols h5 {
  color: #163aa2;
}
html.theme-light .rb-genre-cols ul {
  color: #0f172a;
}
html.theme-light .rb-genre-cols li b {
  color: #163aa2;
}
html.theme-light .grammar-back {
  color: var(--student-muted, #445374);
}
html.theme-light .grammar-back:hover {
  color: var(--student-ink, #222e44);
}
html.theme-light .grammar-card {
  background: var(--student-panel, #ffffff);
  border: 1px solid var(--student-line, #bfcfe4);
  border-radius: 18px;
}
html.theme-light .grammar-start-btn, html.theme-light .grammar-next-btn, html.theme-light .grammar-done-btn {
  border: 0;
  border-radius: 12px;
  background: var(--student-blue, #4d9fd6);
  color: #06131f;
}
html.theme-light .grammar-start-btn:hover, html.theme-light .grammar-next-btn:hover, html.theme-light .grammar-done-btn:hover {
  filter: brightness(1.08);
}
html.theme-light .grammar-progress span {
  border-radius: 2px;
  background: var(--student-line, #ebf0f7);
}
html.theme-light .grammar-progress span.done {
  background: var(--student-blue, #4d9fd6);
}
html.theme-light .grammar-meta {
  color: var(--student-muted, #445374);
}
html.theme-light .grammar-stimulus {
  color: var(--student-ink, #222e44);
  background: rgba(15, 23, 42, 0.024);
  border-radius: 10px;
}
html.theme-light .grammar-question {
  color: var(--student-ink, #222e44);
}
html.theme-light .grammar-option {
  border-radius: 12px;
  border: 1.5px solid var(--student-line, #bfcfe4);
  background: rgba(15, 23, 42, 0.012);
  color: var(--student-ink, #222e44);
}
html.theme-light .grammar-option:hover:not(:disabled) {
  border-color: var(--student-blue, #4d9fd6);
}
html.theme-light .grammar-option b {
  color: var(--student-blue, #226795);
}
html.theme-light .grammar-option.selected {
  border-color: var(--student-blue, #4d9fd6);
  background: rgba(77, 159, 214, 0.10);
}
html.theme-light .grammar-option.correct {
  border-color: #4ade80;
  background: rgba(74, 222, 128, 0.12);
}
html.theme-light .grammar-option.wrong {
  border-color: #f87171;
  background: rgba(248, 113, 113, 0.12);
}
html.theme-light .grammar-explain {
  border-radius: 12px;
  background: rgba(77, 159, 214, 0.08);
  border: 1px solid var(--student-line, #bfcfe4);
}
html.theme-light .grammar-explain-verdict.correct {
  color: #1c9b4b;
}
html.theme-light .grammar-explain-verdict.wrong {
  color: #af0909;
}
html.theme-light .grammar-explain p {
  color: var(--student-ink, #222e44);
}
html.theme-light .grammar-summary-stat .big {
  color: var(--student-blue, #226795);
}
html.theme-light .grammar-summary-stat .label {
  color: var(--student-muted, #445374);
}
html.theme-light .grammar-summary-list li {
  border-radius: 8px;
  background: rgba(15, 23, 42, 0.018);
  color: var(--student-ink, #222e44);
}
html.theme-light .grammar-summary-list li span.tag {
  color: var(--student-muted, #445374);
}
html.theme-light .guide-block-title {
  color: #217797;
}
html.theme-light .guide-block-body {
  color: #233553;
}
html.theme-light .admin-sess-feedback-result {
  border-top: 1px solid #bfcfe4;
}
html.theme-light .admin-sess-feedback-result h4 {
  color: #222e44;
}
html.theme-light .admin-sess-restart-btn, html.theme-light .admin-sess-stop-btn {
  background: #1d6fa3 !important;
  border-color: #b6cfe0 !important;
  color: #fff !important;
}
html.theme-light .admin-sess-restart-btn:hover, html.theme-light .admin-sess-stop-btn:hover {
  background: #175d8a !important;
  border-color: #bad2e1 !important;
}
html.theme-light .rc-mode .admin-sess-restart-btn, html.theme-light .rc-mode .admin-sess-stop-btn {
  background: #7c3aed !important;
  border-color: #7c3aed !important;
}
html.theme-light .rc-mode .admin-sess-restart-btn:hover, html.theme-light .rc-mode .admin-sess-stop-btn:hover {
  background: #6d28d9 !important;
  border-color: #6d28d9 !important;
}
html.theme-light .admin-sess-sync-note {
  color: #1c9b4b;
  background: rgba(74, 222, 128, 0.08);
  border-radius: 6px;
  border: 1px solid rgba(74, 222, 128, 0.2);
}
html.theme-light .new-feedback-banner {
  background: #ffffff;
  border: 1px solid #4ade80;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.14);
}
html.theme-light .new-feedback-banner span {
  color: #1c9b4b;
}
html.theme-light .new-feedback-banner #viewFeedbackBtn {
  background: #4ade80;
  border-color: #4ade80;
  color: #0f172a;
}
html.theme-light .new-feedback-banner #dismissFeedbackBtn {
  background: transparent;
  border: 1px solid #bfcfe4;
  color: #445374;
}
html.theme-light .rc-experience .new-feedback-banner {
  border-color: #8b5cf6;
}
html.theme-light .rc-experience .new-feedback-banner span {
  color: #2905b3;
}
html.theme-light .rc-experience .new-feedback-banner #viewFeedbackBtn {
  background: #8b5cf6;
  border-color: #8b5cf6;
  color: #ffffff;
}
html.theme-light .quiz-start-info strong {
  color: var(--student-ink);
}
html.theme-light .quiz-start-info span {
  color: #64748b;
}
html.theme-light .quiz-start-btn {
  background: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 8px;
}
html.theme-light .quiz-start-btn:hover {
  background: #2563eb;
}
html.theme-light .quiz-back-btn {
  background: transparent;
  border: 1.5px solid #cbd5e1;
  border-radius: 6px;
  color: #475569;
}
html.theme-light .quiz-back-btn:hover {
  background: #f1f5f9;
}
html.theme-light .quiz-header-title {
  color: var(--student-ink);
}
html.theme-light .quiz-header-sub {
  color: #64748b;
}
html.theme-light .quiz-back-hanja-btn {
  background: transparent;
  border: 1.5px solid #3b82f6;
  border-radius: 8px;
  color: #0848b0;
}
html.theme-light .quiz-back-hanja-btn:hover {
  background: #eff6ff;
}
html.theme-light .quiz-loading {
  color: var(--muted);
}
html.theme-light .quiz-question {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
}
html.theme-light .quiz-q-wrong {
  border-color: #fca5a5;
  background: #fff8f8;
}
html.theme-light .quiz-q-num {
  color: #64748b;
}
html.theme-light .quiz-sentence {
  color: #1e293b;
}
html.theme-light .quiz-blank {
  border-bottom: 2.5px solid #3b82f6;
  color: #0848b0;
}
html.theme-light .quiz-choice {
  border: 1.5px solid #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  color: #334155;
}
html.theme-light .quiz-choice:last-child {
  color: #51627a;
  border-style: dashed;
}
html.theme-light .quiz-choice:hover:not(:disabled) {
  background: #e0f2fe;
  border-color: #7dd3fc;
}
html.theme-light .quiz-choice.selected {
  background: #dbeafe;
  border-color: #3b82f6;
  color: #163aa2;
}
html.theme-light .quiz-choice.correct {
  background: #dcfce7;
  border-color: #22c55e;
  color: #15803d;
}
html.theme-light .quiz-choice.wrong {
  background: #fee2e2;
  border-color: #ef4444;
  color: #b91c1c;
}
html.theme-light .quiz-footer {
  border-top: 1px solid #e2e8f0;
}
html.theme-light .quiz-progress {
  color: #64748b;
}
html.theme-light .quiz-submit-btn {
  background: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 8px;
}
html.theme-light .quiz-submit-btn:disabled {
  background: #cbd5e1;
}
html.theme-light .quiz-submit-btn:not(:disabled):hover {
  background: #2563eb;
}
html.theme-light .quiz-score-num {
  color: #1e293b;
}
html.theme-light .quiz-score-pct {
  color: #64748b;
}
html.theme-light .quiz-retry-btn {
  background: transparent;
  border: 1.5px solid #cbd5e1;
  border-radius: 8px;
  color: #475569;
}
html.theme-light .quiz-retry-btn:hover {
  background: #f1f5f9;
}
html.theme-light .student-experience .quiz-start-info strong {
  color: #2c4a8b;
}
html.theme-light .student-experience .quiz-start-info span {
  color: #6b7a99;
}
html.theme-light .student-experience .quiz-back-btn {
  border-color: #bfcfe4;
  color: #445374;
}
html.theme-light .student-experience .quiz-back-btn:hover {
  background: #ffffff;
}
html.theme-light .student-experience .quiz-header-title {
  color: #2c4a8b;
}
html.theme-light .student-experience .quiz-header-sub {
  color: #6b7a99;
}
html.theme-light .student-experience .quiz-back-hanja-btn {
  border-color: #3b82f6;
  color: #0653b2;
}
html.theme-light .student-experience .quiz-back-hanja-btn:hover {
  background: #ebf0f7;
}
html.theme-light .student-experience .quiz-question {
  background: #ffffff;
  border-color: #bfcfe4;
}
html.theme-light .student-experience .quiz-q-wrong {
  background: #f8efef;
  border-color: #e2bbbb;
}
html.theme-light .student-experience .quiz-q-num {
  color: #6b7a99;
}
html.theme-light .student-experience .quiz-sentence {
  color: #2c4a8b;
}
html.theme-light .student-experience .quiz-blank {
  border-color: #60a5fa;
  color: #0653b2;
}
html.theme-light .student-experience .quiz-choice {
  background: #eff2f8;
  border-color: #bfcfe4;
  color: #233553;
}
html.theme-light .student-experience .quiz-choice:last-child {
  color: #4a5568;
}
html.theme-light .student-experience .quiz-choice:hover:not(:disabled) {
  background: #ebf0f7;
  border-color: #3b82f6;
}
html.theme-light .student-experience .quiz-choice.selected {
  background: #e7ecf6;
  border-color: #3b82f6;
  color: #0357b4;
}
html.theme-light .student-experience .quiz-choice.correct {
  background: #eef9f3;
  border-color: #22c55e;
  color: #15a248;
}
html.theme-light .student-experience .quiz-choice.wrong {
  background: #ffffff;
  border-color: #ef4444;
  color: #b20606;
}
html.theme-light .student-experience .quiz-footer {
  border-color: #bfcfe4;
}
html.theme-light .student-experience .quiz-progress {
  color: #6b7a99;
}
html.theme-light .student-experience .quiz-score-num {
  color: #2c4a8b;
}
html.theme-light .student-experience .quiz-score-pct {
  color: #6b7a99;
}
html.theme-light .student-experience .quiz-retry-btn {
  border-color: #bfcfe4;
  color: #445374;
}
html.theme-light .student-experience .quiz-retry-btn:hover {
  background: #ffffff;
}
html.theme-light .quiz-admin-score {
  color: #1e293b;
}
html.theme-light .quiz-admin-time {
  color: #51627a;
}
html.theme-light .quiz-admin-wrong-row {
  border-bottom: 1px solid #f1f5f9;
}
html.theme-light .quiz-admin-sentence {
  color: #334155;
}
html.theme-light .quiz-admin-given {
  color: #a90e0e;
}
html.theme-light .quiz-page-title {
  color: var(--student-ink);
}
html.theme-light .quiz-page-sub {
  color: #64748b;
}
html.theme-light .quiz-fixed-bar {
  background: #fff;
  border-top: 1px solid #e2e8f0;
  box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.028);
}
html.theme-light .quiz-fixed-back-btn {
  color: #475569;
  background: none;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
}
html.theme-light .quiz-fixed-back-btn:hover {
  background: #f8fafc;
}
html.theme-light .quiz-fixed-score {
  color: #1e293b;
}
html.theme-light .quiz-question {
  border-bottom: 1px solid #e2e8f0;
}
html.theme-light .quiz-sentence-line {
  color: var(--student-ink);
}
html.theme-light .quiz-drop-zone {
  border: 1.5px solid #94a3b8;
  border-radius: 6px;
}
html.theme-light .quiz-drop-zone.dz-hover {
  border-color: #3b82f6;
  background: #eff6ff;
}
html.theme-light .quiz-drop-zone.ans-ok {
  border-color: #22c55e;
  color: #15803d;
  background: #f0fdf4;
}
html.theme-light .quiz-drop-zone.ans-wrong {
  border-color: #ef4444;
  color: #b91c1c;
  background: #fef2f2;
}
html.theme-light .quiz-choice-item {
  border: 1.5px solid #94a3b8;
  border-radius: 20px;
  color: var(--student-ink);
  background: #fff;
}
html.theme-light .quiz-choice-item:hover:not(.ch-done) {
  border-color: #3b82f6;
  background: #eff6ff;
}
html.theme-light .quiz-choice-item.ch-active {
  border-color: #3b82f6;
  background: #dbeafe;
}
html.theme-light .quiz-choice-item.ch-correct {
  border-color: #22c55e;
}
html.theme-light .quiz-choice-item.ch-wrong {
  border-color: #ef4444;
}
html.theme-light .ch-num {
  color: #475569;
}
html.theme-light .quiz-choice-item.ch-correct .ch-mark {
  color: #9e1919;
}
html.theme-light .quiz-choice-item.ch-wrong   .ch-mark {
  color: #0848b0;
}
html.theme-light .quiz-drag-ghost {
  border: 2px solid #3b82f6;
  border-radius: 20px;
  background: #dbeafe;
  color: #163aa2;
  box-shadow: 0 4px 16px rgba(59,130,246,.25);
}
html.theme-light .student-experience .quiz-fixed-bar {
  background: #eff2f8;
  border-color: #bfcfe4;
  box-shadow: 0 -2px 12px rgba(15, 23, 42, 0.14);
}
html.theme-light .student-experience .quiz-fixed-back-btn {
  border-color: #bfcfe4;
  color: #445374;
}
html.theme-light .student-experience .quiz-fixed-back-btn:hover {
  background: #ffffff;
}
html.theme-light .student-experience .quiz-fixed-score {
  color: #2c4a8b;
}
html.theme-light .student-experience .quiz-question {
  border-color: #bfcfe4;
}
html.theme-light .student-experience .quiz-sentence-line {
  color: #2c4a8b;
}
html.theme-light .student-experience .quiz-drop-zone {
  border-color: #c5cedc;
  color: #51627a;
}
html.theme-light .student-experience .quiz-drop-zone.dz-hover {
  border-color: #3b82f6;
  background: #ebf0f7;
}
html.theme-light .student-experience .quiz-drop-zone.ans-ok {
  border-color: #22c55e;
  color: #15a248;
  background: #eef9f3;
}
html.theme-light .student-experience .quiz-drop-zone.ans-wrong {
  border-color: #ef4444;
  color: #b20606;
  background: #ffffff;
}
html.theme-light .student-experience .quiz-choice-item {
  border-color: #bfcfe4;
  color: #233553;
  background: #eff2f8;
}
html.theme-light .student-experience .quiz-choice-item:hover:not(.ch-done) {
  border-color: #3b82f6;
  background: #ebf0f7;
}
html.theme-light .student-experience .quiz-choice-item.ch-active {
  border-color: #3b82f6;
  background: #e7ecf6;
}
html.theme-light .student-experience .quiz-choice-item.ch-correct {
  border-color: #22c55e;
}
html.theme-light .student-experience .quiz-choice-item.ch-wrong {
  border-color: #ef4444;
}
html.theme-light .student-experience .ch-num {
  color: #6b7a99;
}
html.theme-light .quiz-modal-overlay {
  background: rgba(0, 0, 0, 0.35);
}
html.theme-light .quiz-modal-box {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 24px 64px rgba(15, 23, 42, 0.077);
}
html.theme-light .quiz-modal-close {
  background: none;
  border: none;
  color: #51627a;
}
html.theme-light .quiz-modal-close:hover {
  color: #475569;
}
html.theme-light .quiz-modal-score {
  color: #1e293b;
}
html.theme-light .quiz-modal-pct {
  color: #64748b;
}
html.theme-light .quiz-modal-msg {
  color: #475569;
}
html.theme-light .quiz-modal-result-btn {
  background: #3b82f6;
  color: #fff;
  border: none;
  border-radius: 12px;
}
html.theme-light .quiz-modal-result-btn:hover {
  background: #2563eb;
}
html.theme-light .student-experience .quiz-modal-box {
  background: #eff2f8;
  border: 1px solid #bfcfe4;
}
html.theme-light .student-experience .quiz-modal-score {
  color: #2c4a8b;
}
html.theme-light .student-experience .quiz-modal-pct {
  color: #6b7a99;
}
html.theme-light .student-experience .quiz-modal-msg {
  color: #445374;
}
html.theme-light .student-experience .quiz-modal-close {
  color: #334155;
}
html.theme-light .student-experience .quiz-modal-close:hover {
  color: #445374;
}
html.theme-light .quiz-result-student-empty {
  color: #51627a;
}
html.theme-light .academy-yulpo .login-stage .login-course-menu.refined, html.theme-light .academy-dong-tan .login-stage .login-course-menu.refined {
  background: radial-gradient(circle at -20px 55px, rgba(235, 240, 247, 0.42) 0 64px, transparent 66px),
    #ffffff;
  border-right: 0;
  border-radius: 14px;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.077),
    inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
html.theme-light .academy-yulpo .login-stage .login-course-menu.refined h2, html.theme-light .academy-dong-tan .login-stage .login-course-menu.refined h2 {
  background: #ffffff;
  border-bottom: 2px solid #bcd1e2;
  border-radius: 12px 12px 0 0;
  color: #004fb8;
  text-shadow: none;
}
html.theme-light .academy-yulpo .login-stage .login-course-col + .login-course-col::before, html.theme-light .academy-dong-tan .login-stage .login-course-col + .login-course-col::before {
  background: linear-gradient(to bottom, transparent, #e5eef5 12%, #e5eef5 88%, transparent);
}
html.theme-light .academy-yulpo .login-stage .login-col-header, html.theme-light .academy-dong-tan .login-stage .login-col-header {
  border-radius: 6px;
  background: #277fb4;
  color: #ffffff;
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.098);
}
html.theme-light .academy-yulpo .login-stage .login-col-header.rc, html.theme-light .academy-dong-tan .login-stage .login-col-header.rc {
  background: #8b5cf6;
}
html.theme-light .academy-yulpo .login-stage .login-course-menu.refined button, html.theme-light .academy-dong-tan .login-stage .login-course-menu.refined button {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #003db8;
  text-shadow: none;
}
html.theme-light .academy-yulpo .login-stage .login-course-menu.refined button:hover, html.theme-light .academy-yulpo .login-stage .login-course-menu.refined button.active, html.theme-light .academy-yulpo .login-stage .login-course-col.rc-col button:hover, html.theme-light .academy-yulpo .login-stage .login-course-col.rc-col button.active, html.theme-light .academy-dong-tan .login-stage .login-course-menu.refined button:hover, html.theme-light .academy-dong-tan .login-stage .login-course-menu.refined button.active, html.theme-light .academy-dong-tan .login-stage .login-course-col.rc-col button:hover, html.theme-light .academy-dong-tan .login-stage .login-course-col.rc-col button.active {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #191919;
}
html.theme-light .academy-yulpo .login-stage .mn-col button:nth-of-type(3)::after, html.theme-light .academy-yulpo .login-stage .mn-col button:nth-of-type(6)::after, html.theme-light .academy-dong-tan .login-stage .mn-col button:nth-of-type(3)::after, html.theme-light .academy-dong-tan .login-stage .mn-col button:nth-of-type(6)::after {
  background: #e5eef5;
}
html.theme-light .academy-suji .login-course-menu.refined, html.theme-light .academy-eum-reading .login-course-menu.refined {
  background: #ffffff;
  border-right: 1px solid #bfcfe4;
  border-radius: 14px;
  box-shadow: 0 16px 34px rgba(16, 38, 70, 0.08);
}
html.theme-light .academy-suji .login-course-menu.refined h2, html.theme-light .academy-eum-reading .login-course-menu.refined h2 {
  border-bottom: 2px solid #bfcfe4;
  background: transparent;
  color: #222e44;
  text-shadow: none;
}
html.theme-light .academy-suji .login-course-menu.refined button, html.theme-light .academy-eum-reading .login-course-menu.refined button {
  border: 0;
  border-radius: 8px;
  background: #1d78ad;
  color: #ffffff;
  box-shadow: none;
}
html.theme-light .academy-suji .login-course-menu.refined button:hover, html.theme-light .academy-suji .login-course-menu.refined button.active, html.theme-light .academy-eum-reading .login-course-menu.refined button:hover, html.theme-light .academy-eum-reading .login-course-menu.refined button.active {
  background: #2387bf;
  color: #ffffff;
  border: 0;
  box-shadow: 0 0 10px rgba(77, 159, 214, 0.18);
}
html.theme-light .warmup-admin .quiz-admin-score {
  color: #1e2a3a;
}
html.theme-light .warmup-admin .quiz-admin-sentence {
  color: #2c3b4d;
}
html.theme-light .warmup-admin .quiz-admin-wrong-row {
  border-bottom-color: #bfcfe4;
}
html.theme-light .warmup-admin .quiz-admin-given {
  color: #af0909;
}
html.theme-light .warmup-admin-split {
  color: #445374;
}
html.theme-light .warmup-admin-ok {
  color: #1c9b4b;
}
html.theme-light .warmup-admin-concept {
  color: #5f6f8b;
}
html.theme-light .warmup-admin-answer {
  color: #1c9b4b;
}
html.theme-light .gv-lesson-path {
  color: var(--student-muted, #445374);
}
html.theme-light .gv-lesson h1 {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-lesson h3 {
  color: #21976c;
}
html.theme-light .gv-lesson-summary {
  border-radius: 12px;
  color: var(--student-ink, #222e44);
  background: rgba(52, 211, 153, 0.10);
  border-left: 4px solid #34d399;
}
html.theme-light .gv-lesson-points li, html.theme-light .gv-lesson-watch li {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-lesson-watch li::marker {
  color: #b48303;
}
html.theme-light .gv-lesson-example {
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.024);
}
html.theme-light .gv-lesson-example b {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-lesson-example span {
  color: var(--student-muted, #445374);
}
html.theme-light .gv-cloze-help {
  color: var(--student-muted, #445374);
}
html.theme-light .gv-cloze-text {
  border-radius: 12px;
  color: var(--student-ink, #222e44);
  background: rgba(52, 211, 153, 0.06);
  border: 1px solid rgba(52, 211, 153, 0.18);
}
html.theme-light .gv-blank {
  border-radius: 8px;
  border: 1.5px dashed rgba(110, 231, 183, 0.55);
  background: rgba(15, 23, 42, 0.018);
}
html.theme-light .gv-blank i {
  color: var(--student-muted, #445374);
}
html.theme-light .gv-blank.filled {
  border-style: solid;
}
html.theme-light .gv-blank.over {
  background: rgba(52, 211, 153, 0.22);
  border-color: #34d399;
}
html.theme-light .gv-blank.ok {
  border-color: #34d399;
  background: rgba(52, 211, 153, 0.18);
}
html.theme-light .gv-blank.bad {
  border-color: #f87171;
  background: rgba(248, 113, 113, 0.16);
}
html.theme-light .gv-reveal-answer {
  color: #b48303;
}
html.theme-light .gv-cloze-bank {
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.018);
  border: 1px solid var(--student-line, #bfcfe4);
}
html.theme-light .gv-chip {
  border-radius: 8px;
  color: #11a660;
  background: #f1faf7;
  border: 1px solid #b4dfd1;
}
html.theme-light .gv-chip.in-blank {
  background: #ebf7f4;
}
html.theme-light .gv-chip.selected {
  outline: 2px solid #fbbf24;
  outline-offset: 1px;
}
html.theme-light .gv-chip.ghost {
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.14);
}
html.theme-light .gv-cloze-result {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-cloze-result b {
  color: #1a9e69;
}
html.theme-light .student-experience .gv-link-btn {
  border: 0 !important;
  background: none !important;
  color: #b48303 !important;
  box-shadow: none !important;
}
html.theme-light .gv-cloze-score {
  border-radius: 12px;
  background: rgba(52, 211, 153, 0.10);
  border: 1px solid rgba(52, 211, 153, 0.35);
}
html.theme-light .gv-cloze-score-label {
  color: var(--student-muted, #445374);
}
html.theme-light .gv-cloze-score-rounds {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-cloze-score-rounds b {
  color: #21976c;
}
html.theme-light .gv-cloze-score-note {
  color: #b48303;
}
html.theme-light .student-experience .gv-print-btn {
  border-radius: 8px !important;
  color: #ecfdf5 !important;
  background: #059669 !important;
  border: 1px solid #b4dfd1 !important;
  box-shadow: none !important;
}
html.theme-light .student-experience .gv-print-btn:hover {
  background: #ebf7f4 !important;
}
html.theme-light .gv-lesson-peek {
  border-radius: 10px;
  border: 1px solid var(--student-line, #bfcfe4);
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-lesson-peek summary {
  color: #21976c;
}
html.theme-light .gv-lesson-peek ul {
  color: var(--student-muted, #445374);
}
html.theme-light .gv-secondary-btn {
  background: transparent !important;
  color: var(--student-ink, #222e44) !important;
  border: 1px solid var(--student-line, #bfcfe4) !important;
}
html.theme-light .lsl-gv {
  color: #21976c;
}
html.theme-light .gv-half h1 strong {
  color: #21976c;
}
html.theme-light .gv-student-label {
  color: #21976c !important;
}
html.theme-light .gv-card-sub {
  color: var(--student-muted, #445374);
}
html.theme-light .landing-gv-btn {
  border-radius: 6px;
  border: 1px solid #b4dfd1;
  background: #10b981;
  color: #ffffff;
}
html.theme-light .landing-gv-btn:hover {
  background: #059669;
  border-color: #bbe2d6;
}
html.theme-light .landing-gv-chooser-btn {
  border-radius: 6px;
  background: transparent !important;
  color: #21976c !important;
  border: 1px solid #34d399 !important;
}
html.theme-light .landing-gv-chooser-btn:hover {
  background: rgba(52, 211, 153, 0.08) !important;
}
html.theme-light .landing-grid.expand-mn .gv-half, html.theme-light .landing-grid.expand-rc .gv-half, html.theme-light .landing-grid.expand-gv .mn-half, html.theme-light .landing-grid.expand-gv .rc-half {
  border-width: 0;
}
html.theme-light .gv-tree-domain {
  color: #21976c;
}
html.theme-light .gv-tree-vocab-head {
  border-top: 1px solid var(--student-line, #bfcfe4);
}
html.theme-light .gv-tree-sub {
  color: var(--student-muted, #445374);
}
html.theme-light .gv-concept-tile {
  border-radius: 10px;
  border: 1px solid var(--student-line, #bfcfe4);
  background: rgba(15, 23, 42, 0.012);
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-concept-tile:hover {
  border-color: #34d399;
}
html.theme-light .gv-concept-tile.is-next {
  border-color: #34d399;
  background: rgba(52, 211, 153, 0.08);
}
html.theme-light .gv-tile-num {
  color: #1a9e69;
}
html.theme-light .gv-done {
  color: #b48303;
}
html.theme-light .gv-next-badge {
  color: #21976c;
}
html.theme-light .student-experience .grammar-shell .grammar-start-btn, html.theme-light .student-experience .grammar-shell .grammar-next-btn:not(.gv-secondary-btn), html.theme-light .student-experience .grammar-shell .grammar-done-btn {
  background: #10b981 !important;
  color: #ffffff !important;
}
html.theme-light .gv-half .picker-head span {
  color: #21976c;
}
html.theme-light .gv-source {
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.018);
  border: 1px dashed var(--student-line, #bfcfe4);
  color: var(--student-muted, #445374);
}
html.theme-light .gv-source b {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-source-tag {
  color: #21976c;
}
html.theme-light .gv-course-num {
  border-radius: 999px;
  background: rgba(52, 211, 153, 0.14);
  color: #1a9e69;
}
html.theme-light .gv-step-dots span {
  border-radius: 2px;
  background: var(--student-line, #ebf0f7);
}
html.theme-light .gv-step-dots span.done {
  background: #34d399;
}
html.theme-light .gv-step h2 {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-step-text {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-step-ask {
  color: #b48303;
}
html.theme-light .gv-step-caption {
  color: var(--student-ink, #222e44);
  border-radius: 12px;
  background: rgba(52, 211, 153, 0.10);
}
html.theme-light .gv-block {
  border-radius: 14px;
  border: 2px solid;
  box-shadow: 0 4px 0 rgba(15, 23, 42, 0.122);
}
html.theme-light .gv-block.kind-whole {
  color: var(--student-ink, #222e44);
  background: #f2f4f8;
  border-color: #bcc7dd;
}
html.theme-light .gv-block.kind-meaning {
  color: #12a65a;
  background: rgba(16, 185, 129, 0.22);
  border-color: #34d399;
}
html.theme-light .gv-block.kind-grammar {
  color: #b86900;
  background: rgba(249, 115, 22, 0.22);
  border-color: #fb923c;
}
html.theme-light .gv-block.kind-none {
  color: #b40303;
  background: rgba(248, 113, 113, 0.14);
  border-color: #f87171;
  border-style: dashed;
}
html.theme-light .gv-block-label {
  color: var(--student-muted, #445374);
}
html.theme-light .student-experience .grammar-shell .gv-split-btn {
  border-radius: 999px;
  background: transparent !important;
  color: #b48303 !important;
  border: 2px solid #fbbf24 !important;
}
html.theme-light .gv-rule {
  border-radius: 16px;
  background: rgba(52, 211, 153, 0.10);
  border: 2px solid #34d399;
}
html.theme-light .gv-rule strong {
  color: #12a65a;
}
html.theme-light .gv-lego span {
  border-radius: 5px;
  background: #34d399;
}
html.theme-light .gv-lego span:nth-child(2) {
  background: #fb923c;
}
html.theme-light .gv-lego span:nth-child(3) {
  background: #fb923c;
}
html.theme-light .gv-lego span::before, html.theme-light .gv-lego span::after {
  border-radius: 3px 3px 0 0;
  background: inherit;
}
html.theme-light .gv-legend-row p {
  color: var(--student-ink, #222e44);
}
html.theme-light .student-experience .grammar-shell .gv-check-option {
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.018) !important;
  color: var(--student-ink, #222e44) !important;
  border: 2px solid var(--student-line, #bfcfe4) !important;
}
html.theme-light .student-experience .grammar-shell .gv-check-option.correct {
  border-color: #4ade80 !important;
  background: rgba(74, 222, 128, 0.15) !important;
}
html.theme-light .student-experience .grammar-shell .gv-check-option.wrong {
  border-color: #f87171 !important;
  background: rgba(248, 113, 113, 0.15) !important;
}
html.theme-light .gv-compare-row {
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.018);
}
html.theme-light .gv-compare-word {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-compare-meta {
  color: var(--student-muted, #445374);
}
html.theme-light .gv-compare-count {
  color: #21976c;
}
html.theme-light .gv-step-nav .gv-nav-btn {
  border-radius: 12px;
}
html.theme-light .gv-lesson-text {
  border-radius: 12px;
  border: 1px solid var(--student-line, #bfcfe4);
}
html.theme-light .gv-lesson-text summary {
  color: #21976c;
}
html.theme-light .gv-vocab-card {
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.018);
  border: 1px solid var(--student-line, #bfcfe4);
}
html.theme-light .gv-vocab-card-head b {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-vocab-pos {
  color: #1a9e69;
  background: rgba(52, 211, 153, 0.14);
  border-radius: 999px;
}
html.theme-light .gv-vocab-def {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-vocab-ex {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-sub {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-steps {
  color: var(--student-ink, #222e44);
}
html.theme-light .vc-speed {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-speed em {
  color: #1a9e69;
}
html.theme-light .vc-speed-group {
  border: 1px solid rgba(52, 211, 153, 0.35);
  border-radius: 999px;
}
html.theme-light .student-experience .vc-speed-btn {
  background: transparent !important;
  color: var(--student-ink, #222e44) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html.theme-light .student-experience .vc-speed-btn.active {
  background: #10b981 !important;
  color: #fff !important;
}
html.theme-light .vc-progress {
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.048);
}
html.theme-light .vc-progress span {
  background: #34d399;
}
html.theme-light .vc-count, html.theme-light .vc-clock {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-clock {
  color: #1a9e69;
}
html.theme-light .vc-flash {
  border-radius: 18px;
  background: rgba(16, 185, 129, 0.06);
  border: 1px solid rgba(52, 211, 153, 0.18);
}
html.theme-light .vc-flash.is-blank {
  background: transparent;
  border-color: transparent;
}
html.theme-light .vc-badge {
  border-radius: 999px;
  color: var(--student-muted, #445374);
  background: rgba(15, 23, 42, 0.036);
}
html.theme-light .vc-badge.new {
  color: #064e3b;
  background: #6ee7b7;
}
html.theme-light .vc-word {
  color: #191919;
}
html.theme-light .vc-word.small {
  color: #1a9e69;
}
html.theme-light .vc-hanja {
  color: #16a261;
}
html.theme-light .vc-hanja.inline {
  color: #16a261;
}
html.theme-light .vc-pos {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-def {
  color: var(--student-ink, #152133);
}
html.theme-light .vc-example {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-quiz-word {
  color: #191919;
}
html.theme-light .student-experience .grammar-option.vc-none-option span {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-wrong-title {
  color: #b20606;
}
html.theme-light .vc-wrong-list li {
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.024);
}
html.theme-light .vc-wrong-list li b {
  color: #191919;
}
html.theme-light .vc-wrong-list li span:last-child {
  color: var(--student-ink, #222e44);
}
html.theme-light .gv-vocab-status {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-flash.is-paused {
  border-color: rgba(252, 211, 77, 0.45);
}
html.theme-light .vc-hchar b {
  color: #16a261;
}
html.theme-light .vc-hchar small {
  color: var(--student-muted, #445374);
}
html.theme-light .vc-pos-tag {
  border-radius: 999px;
  color: var(--student-muted, #445374);
  background: rgba(15, 23, 42, 0.036);
}
html.theme-light .vc-player-actions .vc-play-btn {
  color: #1a9e69;
}
html.theme-light .vc-source {
  color: var(--student-muted, #445374);
}
/* ── app/master/index.html ── */
html.theme-light body {
  background: #eef3f9;
  color: #1e2a3a;
}
html.theme-light .master-header {
  background: #ffffff;
  border-bottom: 2px solid #ff8b26;
}
html.theme-light .master-header h1 {
  color: #b89b00;
}
html.theme-light .master-header span {
  color: #51627a;
}
html.theme-light .master-login-box {
  background: #ffffff;
  border-radius: 12px;
}
html.theme-light .master-login-box h2 {
  color: #b89b00;
}
html.theme-light .master-login-box label {
  color: #51627a;
}
html.theme-light .master-login-box input {
  border-radius: 6px;
  border: 1px solid #c5cedc;
  background: #ffffff;
  color: #1e2a3a;
}
html.theme-light .master-login-box button {
  background: #ff8b26;
  color: white;
  border: none;
  border-radius: 6px;
}
html.theme-light .master-login-box button:hover {
  background: #e07722;
}
html.theme-light .master-setup-link {
  color: #64748b;
}
html.theme-light .master-setup-link:hover {
  color: #51627a;
}
html.theme-light #loginMsg {
  color: #af0909;
}
html.theme-light .academy-card {
  background: #ffffff;
  border-radius: 12px;
}
html.theme-light .academy-card-img {
  background: #eceff2;
}
html.theme-light .academy-card-body h3 {
  color: #1e2a3a;
}
html.theme-light .academy-card-body .meta {
  color: #64748b;
}
html.theme-light .academy-card-body .student-count {
  color: #b89b00;
}
html.theme-light .academy-card-body .student-label {
  color: #51627a;
}
html.theme-light .academy-card-body a {
  background: #ff8b26;
  color: white;
  border-radius: 6px;
}
html.theme-light .section-title {
  color: #b89b00;
}
html.theme-light .setup-hint {
  color: #64748b;
}
/* ── 손으로 맞춘 부분 (scripts/light_theme_manual.css) ── */
/* 화면 모드 전환 버튼 (app/assets/theme.js) — 어두운 화면에서도 보이므로 범위를 두지 않는다.
   학생 화면의 공통 button 규칙(선택자가 매우 길다)에 덮이지 않도록 !important 를 쓴다. */
#themeToggle.theme-toggle {
  position: fixed; left: 16px; bottom: 16px; z-index: 9000;
  width: auto; min-height: 0; margin: 0;
  padding: 8px 14px !important; border-radius: 999px !important; cursor: pointer;
  font: 700 13px/1.2 'Pretendard', 'Noto Sans KR', sans-serif !important;
  background: #1e293b !important; color: #f8fafc !important; border: 1px solid #334155 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3) !important; text-shadow: none !important;
}
#themeToggle.theme-toggle:hover { background: #334155 !important; }
html.theme-light #themeToggle.theme-toggle {
  background: #ffffff !important; color: #0f172a !important; border-color: #cbd5e1 !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12) !important;
}
html.theme-light #themeToggle.theme-toggle:hover { background: #f1f5f9 !important; }
@media print { #themeToggle.theme-toggle { display: none !important; } }

/* 상단 배너 아이콘 — SVG 속성에 흰 선이 직접 적혀 있다 */
html.theme-light .banner-icon [stroke^="rgba(255,255,255"] { stroke: rgba(15, 23, 42, 0.55); }
html.theme-light .banner-icon [fill^="rgba(255,255,255"] { fill: rgba(15, 23, 42, 0.06); }

/* 로그인 과정 목록 — 배경은 투명(!important)인데 공통 button 규칙의 흰 글자가 남는다 */
html.theme-light .login-stage .login-course-menu.refined button { color: #1e293b !important; }
html.theme-light .login-stage .login-course-menu.refined button.active,
html.theme-light .login-stage .login-course-menu.refined button:hover { color: #1d6fa3 !important; }
html.theme-light .login-stage .login-course-col.rc-col button.active,
html.theme-light .login-stage .login-course-col.rc-col button:hover { color: #7c3aed !important; }

/* HTML·JS에 style="color:…" 로 직접 적힌 밝은 글자색 — 흰 바탕에서 안 보이는 것만 진하게 */
html.theme-light [style*="color:#ffd700"] { color: #a16207 !important; }
html.theme-light [style*="color:#6ee7b7"] { color: #047857 !important; }
html.theme-light [style*="color:#c4b5fd"] { color: #6d28d9 !important; }
