:root {
  color-scheme: dark;
  --lms-ink: #edf5fb;
  --lms-muted: #9eb2c3;
  --lms-deep: #0b1726;
  --lms-green: #77e3cd;
  --lms-orange: #a593ff;
  --lms-soft: #0d1b2b;
  --lms-line: rgba(158, 190, 211, .2);
  --lms-radius: 4px;
}

html { background: #07111e; }
body { color: var(--lms-ink); background: #07111e; font-family: "Pretendard Variable", Pretendard, system-ui, sans-serif; }
body::before { content: ""; position: fixed; z-index: -1; inset: 0; background-image: linear-gradient(rgba(143, 180, 205, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(143, 180, 205, .035) 1px, transparent 1px); background-size: 48px 48px; pointer-events: none; }
a { text-decoration: none; }
/* Wide desktop canvas shared by catalog, my page, and the learning dashboard. */
.container { width: min(100% - 64px, 1440px); }

.site-header.header-nav { background: rgba(7, 17, 30, .82); border-color: rgba(132, 185, 210, .18); box-shadow: none; backdrop-filter: blur(18px); }
.site-header__inner { min-height: 74px; }
.site-brand { display: flex; align-items: center; min-height: 44px; }
.site-brand img, .lms-footer__brand img { width: 126px; height: 34px; padding: 5px 8px; object-fit: contain; background: #f1f7fc; border-radius: 2px; }
.site-navigation__list > li > a, .site-navigation__group summary, .nav-action { color: #d9e6f0; font-size: 13px; font-weight: 650; letter-spacing: .01em; }
.site-navigation__list > li > a:hover, .site-navigation__group summary:hover, .nav-action:hover { color: var(--lms-green); }
.site-navigation__join a { border: 1px solid rgba(119, 227, 205, .48); border-radius: 2px; }
.site-navigation__submenu { background: #0d1b2b; border-color: var(--lms-line); border-radius: 2px; box-shadow: 0 18px 40px rgba(0, 0, 0, .35); }
.site-navigation__submenu a { color: #c6d7e5; }
.site-menu-toggle span { background: #dff8f0; }

.neo-hero { position: relative; min-height: min(760px, calc(100vh - 74px)); overflow: hidden; background: linear-gradient(120deg, #07111e 0%, #0a1a2d 52%, #102441 100%); isolation: isolate; }
.neo-hero::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 75% 45%, rgba(71, 222, 194, .13), transparent 33%), linear-gradient(90deg, rgba(148, 193, 221, .08) 1px, transparent 1px), linear-gradient(rgba(148, 193, 221, .07) 1px, transparent 1px); background-size: auto, 88px 88px, 88px 88px; mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.82) 58%, transparent 100%); }
#learning-architecture-canvas { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.neo-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; min-height: inherit; padding-top: 80px; padding-bottom: 80px; }
.neo-hero__copy { max-width: 690px; }
.neo-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 30px; color: #9fc3d8; font-size: 11px; font-weight: 750; letter-spacing: .16em; }
.neo-kicker span { display: grid; place-items: center; width: 27px; height: 27px; color: #7cf0d4; border: 1px solid rgba(124, 240, 212, .54); border-radius: 50%; font-size: 9px; }
.neo-hero h1 { max-width: 720px; margin: 0; color: #f0f8ff; font-size: clamp(46px, 5.3vw, 82px); font-weight: 720; line-height: 1.09; letter-spacing: -.075em; word-break: keep-all; }
.neo-hero h1 strong { color: #7ee5d1; font-weight: 760; }
.neo-hero__copy > p:not(.neo-kicker) { max-width: 570px; margin: 28px 0 0; color: #b4c8d7; font-size: 17px; line-height: 1.8; word-break: keep-all; }
.neo-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 38px; }
.neo-button { display: inline-flex; justify-content: center; align-items: center; gap: 26px; min-height: 51px; padding: 0 21px; border: 1px solid; border-radius: 2px; font-size: 14px; font-weight: 750; transition: transform .2s, background .2s, border-color .2s; }
.neo-button:hover { transform: translateY(-3px); }
.neo-button--primary { color: #06111d; background: #80ead5; border-color: #80ead5; }
.neo-button--secondary { color: #e5f0fa; background: rgba(10, 25, 42, .55); border-color: rgba(171, 204, 223, .4); }

.lms-section, .page-section { background: transparent; }
.lms-section { padding: 104px 0; border-top: 1px solid rgba(154, 189, 211, .1); }
.lms-section--reviews { background: rgba(12, 29, 46, .62); }
.lms-section__head h2, .page-head h1, .detail-copy h2, .detail-section h2, .post-detail h2, .inquiry-layout h2 { color: #eaf3fa; font-weight: 730; }
.lms-section__head p:not(.lms-eyebrow), .page-head p:last-child { color: #91aabc; }
.lms-eyebrow { color: #77e3cd; font-size: 10px; font-weight: 750; letter-spacing: .18em; }.lms-eyebrow span { background: #77e3cd; }
.lms-text-link { color: #d8e8f5; border-color: rgba(179, 212, 232, .54); }.lms-text-link:hover { color: #77e3cd; border-color: #77e3cd; }
.lms-content-card, .lms-review { color: #e8f3fa; background: linear-gradient(145deg, rgba(19, 41, 61, .94), rgba(10, 24, 40, .9)); border-color: var(--lms-line); border-radius: 3px; box-shadow: none; }.lms-content-card:hover { color: #fff; border-color: rgba(119, 227, 205, .68); box-shadow: 0 19px 46px rgba(0, 0, 0, .24); }.lms-content-card__image { background: #10263c; }.lms-content-card__body strong { font-weight: 700; }.lms-content-card__label, .lms-content-card__more span { color: #7ee3d0; }.lms-content-card__more { color: #9ab2c4; }
.lms-shortcuts { margin-top: 0; padding: 0 0 20px; background: #07111e; }.lms-shortcuts__grid { gap: 1px; background: rgba(157, 193, 214, .2); border: 1px solid rgba(157, 193, 214, .2); }.lms-shortcut { min-height: 165px; color: #e7f3fb; background: #0b1929; border: 0; border-radius: 0; box-shadow: none; }.lms-shortcut:hover { color: #fff; background: #10243a; border: 0; }.lms-shortcut__index, .lms-shortcut__arrow { color: #7ee3d0; }.lms-shortcut__text { color: #9fb5c5; }
.lms-statement { background: linear-gradient(112deg, #12354b, #20255a); border-top: 1px solid rgba(129, 219, 204, .28); border-bottom: 1px solid rgba(129, 219, 204, .28); }.lms-statement h2 { color: #ecf7ff; }.lms-statement__inner > p { color: #b9cce0; }.lms-statement__inner > a { color: #07111e; background: #83ead5; }
.lms-news { background: #081524; }.lms-news__column { border-color: var(--lms-line); }.lms-news__column h3 { color: #dcebf5; }.lms-news__column h3 span { color: #80e4d0; }.lms-news__column a { color: #b6c9d7; border-color: rgba(158, 190, 211, .18); }.lms-news__column a:hover { color: #7ee3d0; }

.page-head { position: relative; isolation: isolate; overflow: hidden; padding: 50px 0 46px; background: linear-gradient(125deg, #0c1c2d, #102944); border-color: rgba(157, 193, 214, .18); }.page-head::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(8, 21, 36, .78) 0%, rgba(8, 21, 36, .3) 49%, transparent 74%); }.page-head__canvas { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; pointer-events: none; }.page-head .container { position: relative; z-index: 1; }.page-section { min-height: 58vh; padding: 70px 0 108px; }.chip { color: #bcd1df; background: #0e2032; border-color: var(--lms-line); border-radius: 2px; }.chip:hover, .chip.active { color: #07111e; background: #7ee3d0; border-color: #7ee3d0; }.search-form input, .auth-form input, .auth-form textarea, .auth-form select { color: #e9f4fb; background: #0b1929; border-color: var(--lms-line); border-radius: 2px; }.auth-form select option { color: #0b1929; background: #fff; }.curriculum-card { color: #dcecf5; background: #0e2032; border-color: var(--lms-line); border-radius: 3px; }.lms-hw-item { color: #dcecf5; background: #0e2032; border-color: var(--lms-line); border-radius: 3px; }.lms-hw-item__status { background: #123b4a; color: #bcd1df; }.lms-hw-item.is-todo .lms-hw-item__status { background: #7ee3d0; color: #06111d; }.lms-list li { border-color: var(--lms-line); }.curriculum-card p { color: #93aebe; }.curriculum-card span { color: #7ee3d0; }.intake-consent { color: #b6c9d7; }.search-form button, .lms-button--dark { color: #06111d; background: #7ee3d0; border-color: #7ee3d0; border-radius: 2px; }.lms-button--outline-dark { color: #dcecf5; border-color: rgba(173, 208, 229, .55); border-radius: 2px; }.pagination a { color: #bcd1df; background: #0e2032; border-color: var(--lms-line); border-radius: 2px; }.pagination a:hover, .pagination a[aria-current] { color: #06111d; background: #7ee3d0; }
.page-head[data-scene="lesson"] { background: linear-gradient(125deg, #081d31, #123f5b); }.page-head[data-scene="test"] { background: linear-gradient(125deg, #171437, #332559); }.page-head[data-scene="book"] { background: linear-gradient(125deg, #09291f, #13503c); }.page-head[data-scene="news"], .page-head[data-scene="contact"] { background: linear-gradient(125deg, #10213c, #24395e); }.page-head[data-scene="about"] { background: linear-gradient(125deg, #102d3e, #1b4854); }.page-head[data-scene="access"] { background: linear-gradient(125deg, #101b36, #293265); }.page-head[data-scene="progress"] { background: linear-gradient(125deg, #102336, #1a4b64); }.page-head[data-scene="payment"] { background: linear-gradient(125deg, #332414, #5a3d21); }.page-head[data-scene="policy"] { background: linear-gradient(125deg, #162335, #283d56); }
.detail-image, .cart-row__image { background: #0f263a; border-color: var(--lms-line); border-radius: 3px; }.detail-copy > p:not(.detail-kicker), .detail-section small, .post-meta, .post-list span { color: #93aebe; }.detail-price, .detail-kicker { color: #7ee3d0; }.detail-section, .lesson-list, .lesson-list li, .post-list, .post-list > a, .cart-list, .cart-row, .inquiry-item { border-color: var(--lms-line); }.lesson-list li, .post-list > a, .learning-list button { color: #dcecf5; }.review-list article, .info-panel, .inquiry-answer { color: #dcecf5; background: #0e2032; border: 1px solid var(--lms-line); border-radius: 3px; }.auth-form { color: #dcecf5; background: #0e2032; border-color: var(--lms-line); border-radius: 3px; box-shadow: none; }.auth-form label, .auth-form > p { color: #b6c9d7; }.auth-form > p a, .cart-total span { color: #7ee3d0; }.cart-row button { color: #dcecf5; background: transparent; border-color: var(--lms-line); border-radius: 2px; }.learning-player { background: #091524; border: 1px solid var(--lms-line); border-radius: 3px; }.learning-list { background: #0e2032; border-color: var(--lms-line); border-radius: 3px; }.learning-list li + li { border-color: var(--lms-line); }.learning-list button { background: #0e2032; }.learning-list button:hover { background: #152d43; }

.lms-footer { color: #9eb5c5; background: #040a12; border-top: 1px solid rgba(157, 193, 214, .16); }.lms-footer__links strong { color: #78ddc9; }.lms-footer__links a { color: #bdd1de; }.lms-footer__contact { border-color: rgba(157, 193, 214, .2); border-radius: 2px; }.lms-footer__bottom { border-color: rgba(157, 193, 214, .16); }

.my-page-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; padding-bottom: 18px; border-bottom: 1px solid var(--lms-line); }.my-page-nav a { padding: 10px 14px; color: #b8ccda; border: 1px solid transparent; font-size: 13px; font-weight: 700; }.my-page-nav a:hover, .my-page-nav a[aria-current="page"] { color: #07111e; background: #7ee3d0; border-color: #7ee3d0; }.my-page-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--lms-line); border: 1px solid var(--lms-line); }.my-page-summary__item { display: flex; flex-direction: column; gap: 13px; min-height: 190px; padding: 24px; color: #dcebf5; background: #0c1d2f; transition: background .2s, transform .2s; }.my-page-summary__item:hover { color: #fff; background: #12334b; transform: translateY(-3px); }.my-page-summary__item span { color: #90adbf; font-size: 12px; }.my-page-summary__item strong { color: #82e9d4; font-size: 42px; line-height: 1; }.my-page-summary__item em { margin-top: auto; color: #d5e6ef; font-size: 13px; font-style: normal; font-weight: 700; }.my-page-summary__item--highlight { background: linear-gradient(145deg, #155066, #163369); }.my-page-welcome { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-top: 58px; padding: 38px; background: linear-gradient(120deg, rgba(19, 53, 75, .85), rgba(20, 36, 82, .85)); border: 1px solid rgba(126, 227, 208, .3); }.my-page-welcome h2 { margin: 8px 0; color: #f0f9ff; }.my-page-welcome p:last-child { margin: 0; color: #b2c9d9; }.purchase-table-wrap { overflow-x: auto; border: 1px solid var(--lms-line); }.purchase-table { width: 100%; min-width: 760px; border-collapse: collapse; background: #0b1929; }.purchase-table th, .purchase-table td { padding: 17px 18px; text-align: left; border-bottom: 1px solid var(--lms-line); color: #bdd0dd; font-size: 13px; }.purchase-table th { color: #7ee3d0; background: #0e2235; font-size: 11px; letter-spacing: .06em; }.purchase-table td a { color: #e2f7ff; font-weight: 700; }.purchase-table tbody tr:last-child td { border-bottom: 0; }.purchase-status { color: #7ee3d0; font-size: 12px; font-weight: 700; }.profile-form { max-width: 620px; }.profile-form small { color: #8faaba; font-size: 11px; font-weight: 500; }

/* My learning tabs and consultation history follow the student dark interface. */
.learning-tabs { border-color: var(--lms-line); }.learning-tabs button { color: #9ab3c4; }.learning-tabs button:hover { color: #9cf0df; background: #10273a; }.learning-tabs button[aria-selected="true"] { color: #06111d; background: #7ee3d0; border-color: #7ee3d0; }.learning-tab-panel__head h2, .learning-consultation h3 { color: #e8f3fa; }.learning-tab-panel__head > span, .learning-consultation time, .learning-consultation > small { color: #94afbf; }.learning-consultation { background: #0e2032; border-color: var(--lms-line); border-radius: 3px; }.learning-consultation > p { color: #c6d8e5; }.learning-consultation__status { color: #9bc0d0; background: #143047; }.learning-consultation__status.is-answered { color: #072018; background: #82e9d4; }.learning-consultation__answer { background: #102b3d; border-color: #7ee3d0; }.learning-consultation__answer strong { color: #7ee3d0; }.learning-consultation__answer p { color: #d4e5ee; }
.exam-summary, .exam-question { background: #0e2032; border-color: var(--lms-line); border-radius: 3px; }.exam-summary h2, .exam-question legend { color: #e8f3fa; }.exam-summary p, .exam-question > p { color: #94afbf; }.exam-score, .exam-status { border-color: var(--lms-line); }.exam-options label { color: #d9e8f2; background: #10273a; }.exam-options label:has(input:checked) { color: #e9fffa; background: #153f47; border-color: #7ee3d0; }.exam-question.is-correct { border-color: #4f9c88; }.exam-question.is-wrong { border-color: #a8764f; }.exam-feedback { background: #102b3d; border-color: #7ee3d0; }.exam-feedback strong { color: #7ee3d0; }.exam-feedback p { color: #d4e5ee; }
.exam-metrics { background: var(--lms-line); border-color: var(--lms-line); border-radius: 3px; }.exam-metrics div, .exam-workspace { background: #0e2032; }.exam-metrics strong { color: #e8f3fa; }.exam-workspace { border-color: var(--lms-line); border-radius: 3px; }.exam-navigator { background: #0b1929; border-color: var(--lms-line); }.exam-navigator > div, .exam-navigator > div small, .exam-stage__top, .exam-question__type { color: #9ab3c4; }.exam-navigator ol button { color: #9ab3c4; background: #10273a; border-color: var(--lms-line); }.exam-navigator ol button.is-answered { color: #8af0db; border-color: #4d9e91; }.exam-navigator ol button.is-active { color: #06111d; background: #7ee3d0; border-color: #7ee3d0; }.exam-navigator ol button.is-correct { color: #8df0c9; border-color: #4d9e78; }.exam-navigator ol button.is-wrong { color: #f1bb83; border-color: #9b704b; }.exam-stage { background: #0e2032; }.exam-text-answer { color: #dcebf5; }.exam-text-answer input { color: #e8f3fa; background: #0b1929; border-color: var(--lms-line); }.exam-clock { border-color: var(--lms-line); }

@media (max-width: 1024px) { .site-menu-toggle { background: #10243a; border-color: var(--lms-line); border-radius: 2px; }.site-navigation { background: #081523; border-color: var(--lms-line); box-shadow: 0 24px 48px rgba(0,0,0,.42); }.site-navigation__list > li { border-color: rgba(157, 193, 214, .16); }.site-navigation__list > li > a, .site-navigation__group summary { color: #dcebf5; }.site-navigation__submenu { background: transparent; }.site-navigation__submenu a { color: #a9c1d1; }.site-navigation__list > .site-navigation__join > a { color: #06111d; background: #7ee3d0; border-color: #7ee3d0; } }
@media (max-width: 850px) { .neo-hero { min-height: 700px; }.neo-hero__grid { align-content: start; padding-top: 80px; }.neo-hero::before { mask-image: none; }.lms-section { padding: 76px 0; }.my-page-summary { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .container { width: min(100% - 32px, 1220px); }.site-header__inner { min-height: 64px; }.neo-hero { min-height: 690px; }.neo-hero__grid { padding-top: 58px; padding-bottom: 46px; }.neo-hero h1 { font-size: clamp(40px, 12vw, 58px); }.neo-hero__copy > p:not(.neo-kicker) { font-size: 15px; }.neo-hero__actions { display: grid; grid-template-columns: 1fr; }.neo-button { width: 100%; }.lms-shortcuts__grid { grid-template-columns: 1fr; }.lms-shortcut { min-height: 130px; }.page-head { padding: 40px 0 36px; }.page-section { padding: 46px 0 74px; }.my-page-nav { gap: 4px; }.my-page-nav a { flex: 1 1 calc(50% - 4px); padding: 10px 8px; text-align: center; font-size: 12px; }.my-page-summary { grid-template-columns: 1fr; }.my-page-summary__item { min-height: 140px; }.my-page-welcome { display: grid; padding: 26px; }.my-page-welcome .lms-button { width: 100%; } }

/* AI LMS generated mark + CSS wordmark: transparent PNG stays legible on header and footer. */
.brand-lockup { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; text-decoration: none; }
.site-brand .brand-mark, .lms-footer__brand .brand-mark { display: block; width: 39px; height: 39px; padding: 0; object-fit: contain; background: transparent; border-radius: 0; }
.brand-wordmark { display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: 5px; color: #e7f5fc; font-family: "Pretendard Variable", sans-serif; font-size: 21px; font-weight: 850; letter-spacing: -.06em; line-height: .9; white-space: nowrap; }
.site-brand .brand-wordmark { color: #0d2940; }
.brand-wordmark strong { color: #13a8e7; font-weight: 900; }
.brand-wordmark small { grid-column: 1 / -1; margin-top: 4px; color: #668497; font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.brand-lockup--footer .brand-mark { width: 47px; height: 47px; }
.brand-lockup--footer .brand-wordmark { font-size: 25px; }
.brand-lockup--footer .brand-wordmark small { color: #95b9c9; font-size: 8px; }

/* The header is navy: never inherit the dark wordmark or login text intended for a light header. */
.site-header .brand-wordmark { color: #e7f5fc; }
.site-header .brand-wordmark small { color: #95b9c9; }
.site-header .site-navigation__account > a { color: #e8f3fa !important; border-color: #5a8299; background: #10273a; }
.site-header .site-navigation__account > a:hover { color: #06111d !important; background: #7ee3d0; border-color: #7ee3d0; }
.site-header .site-navigation__account .account-nav__icon { color: #7ee3d0; }
.site-header .site-navigation__account > a:hover .account-nav__icon { color: #06111d; }

/* Cart: a clear purchase-preparation space, with the same navy and mint system as the learner dashboard. */
.page-head[data-scene="payment"] { background: linear-gradient(112deg, #081827 0%, #0e2c42 57%, #155069 100%); }
.cart-list--empty { border-top: 0; }
.cart-empty { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 26px; padding: 34px 38px; color: #dcebf5; background: linear-gradient(115deg, #0e2235, #102d43); border: 1px solid var(--lms-line); border-radius: 3px; }
.cart-empty__icon { display: grid; width: 64px; height: 64px; place-items: center; color: #7ee3d0; background: #0a1929; border: 1px solid rgba(126, 227, 208, .42); border-radius: 50%; }
.cart-empty__icon svg { width: 32px; height: 32px; }
.cart-empty__eyebrow { margin: 0 0 7px; color: #7ee3d0; font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.cart-empty h2 { margin: 0; color: #f0f8ff; font-size: 24px; letter-spacing: -.04em; }
.cart-empty > div:nth-child(2) > p:last-child { margin: 9px 0 0; color: #a8c0d0; font-size: 14px; line-height: 1.65; }
.cart-empty__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 9px; max-width: 335px; }
.cart-empty__actions .lms-button { min-height: 42px; padding: 0 15px; }
.cart-empty__book-link { padding: 10px 4px; color: #9fc3d8; font-size: 13px; font-weight: 750; }
.cart-empty__book-link:hover { color: #7ee3d0; }
.cart-row { color: #dcebf5; }.cart-row strong { color: #edf7ff; }.cart-row > span { color: #7ee3d0; }.cart-row small { color: #98b1c2; }
@media (max-width: 860px) { .cart-empty { grid-template-columns: 64px minmax(0, 1fr); padding: 28px; }.cart-empty__actions { grid-column: 1 / -1; justify-content: flex-start; max-width: none; } }
@media (max-width: 520px) { .cart-empty { grid-template-columns: 1fr; gap: 16px; padding: 24px; }.cart-empty__icon { width: 54px; height: 54px; }.cart-empty__icon svg { width: 27px; height: 27px; }.cart-empty h2 { font-size: 21px; }.cart-empty > div:nth-child(2) > p:last-child br { display: none; } }

/* Compact product banners: preserve the complete banner artwork and reserve a dependable text area below it. */
@media (min-width: 768px) {
  .lms-content-card__image { height: 168px; aspect-ratio: auto; background: #0b1929; }
  .lms-content-card__image img { object-fit: contain; }
  .lms-content-card__body { min-height: 142px; padding: 16px 19px 17px; }
  .lms-content-card__body strong { margin-top: 9px; }
  .lms-content-card__more { padding-top: 12px; }
}

/* The classroom summary intentionally occupies the former page-title space so a lesson is playable above the fold. */
.learning-course-head { background: linear-gradient(112deg, #081827 0%, #0e2c42 57%, #155069 100%); border-color: rgba(157, 193, 214, .22); }
.learning-course-head .learning-progress-ring::before { background: #102a3d; }
.learning-page--player { min-height: 0; padding-top: 20px; padding-bottom: 74px; }
.exam-test-head { background: linear-gradient(112deg, #081827 0%, #0e2c42 57%, #155069 100%); border-color: rgba(157, 193, 214, .22); }
.exam-page-section { min-height: 0; padding-top: 20px; padding-bottom: 74px; }

@media (max-width: 767px) { .learning-page--player, .exam-page-section { padding-top: 16px; padding-bottom: 54px; } }

/* Learning workspace palette ------------------------------------------------
   The lesson player is intentionally neutral for video content.  Everything
   around it uses one navy/teal system so a selected lesson never flips to a
   bright light card in the dark learner experience. */
:root {
  --lms-ink: #edf6fb;
  --lms-muted: #9bb4c6;
  --lms-deep: #0a1a2a;
  --lms-green: #34d3c2;
  --lms-soft: #10263a;
  --lms-line: #29475e;
}
body { background: #081522; }
.site-header.header-nav { background: rgb(9 27 42 / .94); border-color: #29475e; }
.learning-course-head { background: linear-gradient(108deg, #0a1d30 0%, #10334a 58%, #155267 100%); }
.learning-page--player { background: radial-gradient(900px 480px at 80% -15%, rgb(41 151 161 / .12), transparent 62%); }
.learning-now { color: #eef7fc; }
.learning-now span { color: #45ddca; }
.learning-now small { color: #9bb4c6; }
.learning-player { background: #06111d; border-color: #35546a; box-shadow: 0 14px 34px rgb(0 0 0 / .18); }

.learning-sidebar,
.learning-history {
  background: #102338;
  border-color: #35546a;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgb(0 0 0 / .12);
}
.learning-sidebar__head {
  padding: 17px 18px;
  background: #132b42;
  border-color: #35546a;
}
.learning-sidebar__head strong,
.learning-history h3 { color: #eef7fc; }
.learning-sidebar__head small,
.learning-history small,
.learning-history li span,
.learning-history__empty { color: #9bb4c6; }
.learning-sidebar .learning-list,
.learning-list { background: #102338; }
.learning-list li + li { border-color: #29475e; }
.learning-list button,
.learning-sidebar .learning-list button {
  color: #e8f3f9;
  background: #102338;
}
.learning-list button:hover,
.learning-sidebar .learning-list button:hover { background: #163149; }
.learning-list button.is-active,
.learning-sidebar .learning-list button.is-active {
  color: #f2fffd;
  background: linear-gradient(90deg, #164a59, #163849);
  box-shadow: inset 3px 0 0 #34d3c2;
}
.learning-list button.is-active small,
.learning-list button.is-active strong { color: inherit; }
.learning-list span,
.learning-list button > em { color: #45ddca; }
.learning-list__track { background: #294b60; }
.learning-list__track b { background: linear-gradient(90deg, #27bdb2, #49dfca); }
.learning-history { margin-top: 20px; }
.learning-history li { border-color: #29475e; }
.learning-history li strong { color: #dcecf5; }

/* Shared learner confirmation modal: replaces the browser-owned confirm box. */
.learner-confirm-modal { position: fixed; z-index: 3000; inset: 0; display: grid; place-items: center; padding: 20px; }
.learner-confirm-modal__backdrop { position: absolute; inset: 0; background: rgb(3 12 22 / .68); backdrop-filter: blur(5px); }
.learner-confirm-modal__panel { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 14px 16px; width: min(440px, 100%); padding: 25px; color: #eaf5fb; background: linear-gradient(145deg, #17334a, #102238); border: 1px solid #42677e; border-radius: 14px; box-shadow: 0 24px 70px rgb(0 0 0 / .42); }
.learner-confirm-modal__icon { display: grid; width: 42px; height: 42px; place-items: center; color: #06211f; background: #48ddcb; border-radius: 50%; font-size: 20px; font-weight: 900; }
.learner-confirm-modal__eyebrow { margin: 2px 0 5px; color: #59dfcf; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.learner-confirm-modal__panel h2 { margin: 0; color: #f2fbff; font-size: 19px; letter-spacing: -.03em; }
.learner-confirm-modal__panel p:last-child { margin: 8px 0 0; color: #bfd2df; font-size: 14px; line-height: 1.6; }
.learner-confirm-modal__actions { display: flex; grid-column: 1 / -1; justify-content: flex-end; gap: 8px; margin-top: 5px; }
.learner-confirm-modal .lms-button { min-height: 39px; padding: 0 16px; border: 0; border-radius: 8px; cursor: pointer; font-size: 13px; }
.learner-confirm-modal__cancel { color: #d4e2ea; background: #254057; border: 1px solid #527087 !important; }
.learner-confirm-modal__accept { color: #06211f; background: #48ddcb; }
.learner-confirm-modal__danger { color: #fff; background: #d95a5a; }
@media (max-width: 520px) { .learner-confirm-modal__panel { padding: 21px; }.learner-confirm-modal__actions { display: grid; grid-template-columns: 1fr 1fr; }.learner-confirm-modal .lms-button { width: 100%; } }

/* ── Learner light mode: the GNB and every study surface switch together ── */
.site-navigation__theme .nav-action { gap: 6px; min-height: 38px; padding: 0 10px; border: 1px solid #46677e; border-radius: 8px; }
.site-navigation__theme .nav-action span:first-child { font-size: 15px; }
:root[data-theme="light"] { color-scheme: light; --lms-ink: #17364a; --lms-muted: #607c8e; --lms-deep: #10334a; --lms-green: #078c89; --lms-soft: #edf6f8; --lms-line: #cedfe7; }
:root[data-theme="light"], :root[data-theme="light"] body { background: #f3f8fb; }
:root[data-theme="light"] body::before { background-image: linear-gradient(rgb(63 120 149 / .045) 1px, transparent 1px), linear-gradient(90deg, rgb(63 120 149 / .045) 1px, transparent 1px); }
:root[data-theme="light"] .site-header.header-nav { background: rgb(255 255 255 / .94); border-color: #d4e3ea; box-shadow: 0 5px 18px rgb(28 70 95 / .07); }
:root[data-theme="light"] .site-header .brand-wordmark { color: #15354c; }
:root[data-theme="light"] .site-header .brand-wordmark small { color: #698397; }
:root[data-theme="light"] .site-navigation__list > li > a,
:root[data-theme="light"] .site-navigation__group summary,
:root[data-theme="light"] .nav-action { color: #274a60; }
:root[data-theme="light"] .site-navigation__list > li > a:hover,
:root[data-theme="light"] .site-navigation__group summary:hover,
:root[data-theme="light"] .nav-action:hover { color: #057674; }
:root[data-theme="light"] .site-navigation__submenu { background: #fff; border-color: #d4e3ea; box-shadow: 0 16px 38px rgb(28 70 95 / .12); }
:root[data-theme="light"] .site-navigation__submenu a { color: #34586d; }
:root[data-theme="light"] .site-navigation__member-nav > a,
:root[data-theme="light"] .site-header .site-navigation__account > a { color: #234b62 !important; background: #f5fafc; border-color: #cbdde6; }
:root[data-theme="light"] .site-navigation__member-nav > a:hover,
:root[data-theme="light"] .site-header .site-navigation__account > a:hover { color: #fff !important; background: #078c89; border-color: #078c89; }
:root[data-theme="light"] .site-navigation__theme .nav-action { color: #34586d; border-color: #b9d0db; background: #f8fbfc; }
:root[data-theme="light"] .site-navigation__logout .nav-action { color: #85501f; background: #fff8ef; border-color: #f1d3b5; }

:root[data-theme="light"] .page-head,
:root[data-theme="light"] .learning-course-head,
:root[data-theme="light"] .exam-test-head { background: linear-gradient(108deg, #e9f5f7 0%, #d7ebf1 58%, #c9e3ec 100%); border-color: #c7dfe7; }
:root[data-theme="light"] .learning-course-head__title h1,
:root[data-theme="light"] .exam-test-head__title h1,
:root[data-theme="light"] .learning-course-head__top .lms-text-link,
:root[data-theme="light"] .exam-test-head__top .lms-text-link,
:root[data-theme="light"] .learning-course-head .learning-progress-ring strong,
:root[data-theme="light"] .exam-test-head__clock strong,
:root[data-theme="light"] .learning-course-head .learning-stats dd,
:root[data-theme="light"] .exam-test-stats dd { color: #17364a; }
:root[data-theme="light"] .learning-course-head__top > span,
:root[data-theme="light"] .exam-test-head__top > span,
:root[data-theme="light"] .learning-course-head__title > p:last-child,
:root[data-theme="light"] .exam-test-head__title > p:last-child,
:root[data-theme="light"] .learning-course-head .learning-stats dt,
:root[data-theme="light"] .exam-test-stats dt { color: #52758a; }
:root[data-theme="light"] .learning-course-head .learning-progress-ring::before { background: #eff8fa; }
:root[data-theme="light"] .learning-page--player { background: #f3f8fb; }
:root[data-theme="light"] .learning-now { color: #18394f; }
:root[data-theme="light"] .learning-now span,
:root[data-theme="light"] .learning-list span,
:root[data-theme="light"] .learning-list button > em { color: #078c89; }
:root[data-theme="light"] .learning-now small { color: #668397; }
:root[data-theme="light"] .learning-player { background: #0b1726; border-color: #bcd2de; box-shadow: 0 12px 28px rgb(29 74 99 / .12); }
:root[data-theme="light"] .learning-sidebar,
:root[data-theme="light"] .learning-history,
:root[data-theme="light"] .exam-summary,
:root[data-theme="light"] .exam-question,
:root[data-theme="light"] .exam-workspace,
:root[data-theme="light"] .learning-consultation { background: #fff; border-color: #cedfe7; box-shadow: 0 8px 22px rgb(29 74 99 / .07); }
:root[data-theme="light"] .learning-sidebar__head { background: #f1f8fa; border-color: #cedfe7; }
:root[data-theme="light"] .learning-sidebar__head strong,
:root[data-theme="light"] .learning-history h3,
:root[data-theme="light"] .learning-history li strong,
:root[data-theme="light"] .learning-tab-panel__head h2,
:root[data-theme="light"] .learning-consultation h3,
:root[data-theme="light"] .exam-summary h2,
:root[data-theme="light"] .exam-question legend { color: #17364a; }
:root[data-theme="light"] .learning-sidebar__head small,
:root[data-theme="light"] .learning-history small,
:root[data-theme="light"] .learning-history li span { color: #668397; }
:root[data-theme="light"] .learning-sidebar .learning-list,
:root[data-theme="light"] .learning-list,
:root[data-theme="light"] .learning-list button { background: #fff; }
:root[data-theme="light"] .learning-list li + li,
:root[data-theme="light"] .learning-history li { border-color: #d9e7ed; }
:root[data-theme="light"] .learning-list button { color: #294a60; }
:root[data-theme="light"] .learning-list button:hover { background: #eef8f8; }
:root[data-theme="light"] .learning-list button.is-active { color: #123e50; background: #dff3f0; box-shadow: inset 3px 0 0 #078c89; }
:root[data-theme="light"] .learning-list__track { background: #d7e7ed; }
:root[data-theme="light"] .learning-list__track b { background: #078c89; }
:root[data-theme="light"] .exam-navigator,
:root[data-theme="light"] .exam-stage,
:root[data-theme="light"] .exam-metrics div { background: #f7fbfc; }
:root[data-theme="light"] .exam-options label { color: #28495f; background: #f4f9fa; border-color: #cedfe7; }
:root[data-theme="light"] .exam-options label:has(input:checked) { color: #123e50; background: #dff3f0; border-color: #078c89; }
:root[data-theme="light"] .lms-footer { background: #12354b; color: #c4d8e4; }

/* ── Learner light mode, part 2 (2026-11-11): every study surface that still used navy/mint literals now has a light counterpart.
   Palette: surface #fff · soft #edf6f8 · line #cedfe7 · ink #17364a · muted #607c8e · accent #078c89 · primary button navy #10334a ── */
:root[data-theme="light"] .page-head::after { background: linear-gradient(90deg, rgb(255 255 255 / .55) 0%, rgb(255 255 255 / .15) 49%, transparent 74%); }
:root[data-theme="light"] .page-head[data-scene] { background: linear-gradient(108deg, #e9f5f7 0%, #d7ebf1 58%, #c9e3ec 100%); }
:root[data-theme="light"] .page-head[data-scene="book"] { background: linear-gradient(108deg, #e8f6f0 0%, #d4ece2 58%, #c6e3d6 100%); }
:root[data-theme="light"] .page-head[data-scene="test"], :root[data-theme="light"] .page-head[data-scene="access"] { background: linear-gradient(108deg, #eceaf8 0%, #dcd9f1 58%, #cfcbea 100%); }
:root[data-theme="light"] .page-head[data-scene="payment"] { background: linear-gradient(108deg, #f6efe4 0%, #ecdfcc 58%, #e2d2bb 100%); }
:root[data-theme="light"] .lms-section__head h2, :root[data-theme="light"] .page-head h1, :root[data-theme="light"] .detail-copy h2, :root[data-theme="light"] .detail-section h2,
:root[data-theme="light"] .post-detail h2, :root[data-theme="light"] .inquiry-layout h2, :root[data-theme="light"] .lms-statement h2, :root[data-theme="light"] .lms-news__column h3 { color: #17364a; }
:root[data-theme="light"] .lms-section__head p:not(.lms-eyebrow), :root[data-theme="light"] .page-head p:last-child, :root[data-theme="light"] .lms-statement__inner > p { color: #52758a; }
:root[data-theme="light"] .lms-eyebrow, :root[data-theme="light"] .detail-price, :root[data-theme="light"] .detail-kicker, :root[data-theme="light"] .lms-news__column h3 span { color: #078c89; }
:root[data-theme="light"] .lms-eyebrow span { background: #078c89; }
:root[data-theme="light"] .lms-text-link { color: #274a60; border-color: #b9d0db; }
:root[data-theme="light"] .lms-text-link:hover { color: #078c89; border-color: #078c89; }
:root[data-theme="light"] .lms-section--reviews { background: #eef5f8; }
:root[data-theme="light"] .lms-section { border-color: #d9e7ed; }

/* cards, shortcuts, statement, news (home · catalog) */
:root[data-theme="light"] .lms-content-card, :root[data-theme="light"] .lms-review { color: #17364a; background: #fff; border-color: #cedfe7; box-shadow: 0 6px 18px rgb(29 74 99 / .06); }
:root[data-theme="light"] .lms-content-card:hover { color: #0f2d40; border-color: #078c89; box-shadow: 0 16px 34px rgb(29 74 99 / .14); }
:root[data-theme="light"] .lms-content-card__image { background: #eef4f7; }
:root[data-theme="light"] .lms-content-card__label, :root[data-theme="light"] .lms-content-card__more span { color: #078c89; }
:root[data-theme="light"] .lms-content-card__more { color: #607c8e; }
:root[data-theme="light"] .lms-shortcuts { background: transparent; }
:root[data-theme="light"] .lms-shortcuts__grid { background: #cedfe7; border-color: #cedfe7; }
:root[data-theme="light"] .lms-shortcut { color: #17364a; background: #fff; }
:root[data-theme="light"] .lms-shortcut:hover { color: #0f2d40; background: #f1f8fa; }
:root[data-theme="light"] .lms-shortcut__index, :root[data-theme="light"] .lms-shortcut__arrow { color: #078c89; }
:root[data-theme="light"] .lms-shortcut__text { color: #607c8e; }
:root[data-theme="light"] .lms-statement { background: linear-gradient(112deg, #e6f3f4, #e9e8f6); border-color: #cfe3e8; }
:root[data-theme="light"] .lms-statement__inner > a { color: #fff; background: #10334a; }
:root[data-theme="light"] .lms-news { background: #eef5f8; }
:root[data-theme="light"] .lms-news__column { border-color: #cedfe7; }
:root[data-theme="light"] .lms-news__column a { color: #34586d; border-color: #d9e7ed; }
:root[data-theme="light"] .lms-news__column a:hover { color: #078c89; }

/* filters, search, forms, buttons, paging */
:root[data-theme="light"] .chip { color: #274a60; background: #fff; border-color: #cedfe7; }
:root[data-theme="light"] .chip:hover, :root[data-theme="light"] .chip.active { color: #fff; background: #10334a; border-color: #10334a; }
:root[data-theme="light"] .search-form input, :root[data-theme="light"] .auth-form input, :root[data-theme="light"] .auth-form textarea, :root[data-theme="light"] .auth-form select,
:root[data-theme="light"] .exam-text-answer input { color: #17364a; background: #fff; border-color: #cedfe7; }
:root[data-theme="light"] .search-form button, :root[data-theme="light"] .lms-button--dark { color: #fff; background: #10334a; border-color: #10334a; }
:root[data-theme="light"] .search-form button:hover, :root[data-theme="light"] .lms-button--dark:hover { background: #078c89; border-color: #078c89; }
:root[data-theme="light"] .lms-button--outline-dark { color: #17364a; border-color: #9fb9c7; }
:root[data-theme="light"] .lms-button--outline-dark:hover { color: #078c89; border-color: #078c89; }
:root[data-theme="light"] .pagination a { color: #274a60; background: #fff; border-color: #cedfe7; }
:root[data-theme="light"] .pagination a:hover, :root[data-theme="light"] .pagination a[aria-current] { color: #fff; background: #10334a; border-color: #10334a; }
:root[data-theme="light"] .auth-form { color: #17364a; background: #fff; border-color: #cedfe7; box-shadow: 0 15px 45px rgb(17 48 39 / .06); }
:root[data-theme="light"] .auth-form label { color: #17364a; }
:root[data-theme="light"] .auth-form > p, :root[data-theme="light"] .auth-form label small { color: #607c8e; }
:root[data-theme="light"] .auth-form > p a, :root[data-theme="light"] .cart-total span, :root[data-theme="light"] .intake-consent a { color: #078c89; }
:root[data-theme="light"] .intake-consent { color: #17364a; }
:root[data-theme="light"] .form-error { color: #b73131 !important; }

/* detail, lists, panels, cart */
:root[data-theme="light"] .detail-image, :root[data-theme="light"] .cart-row__image { background: #eef4f7; border-color: #cedfe7; }
:root[data-theme="light"] .detail-copy > p:not(.detail-kicker), :root[data-theme="light"] .detail-section small, :root[data-theme="light"] .post-meta, :root[data-theme="light"] .post-list span,
:root[data-theme="light"] .cart-row small, :root[data-theme="light"] .lesson-list li small { color: #607c8e; }
:root[data-theme="light"] .detail-section, :root[data-theme="light"] .lesson-list, :root[data-theme="light"] .lesson-list li, :root[data-theme="light"] .post-list > a, :root[data-theme="light"] .cart-list,
:root[data-theme="light"] .cart-row, :root[data-theme="light"] .inquiry-item, :root[data-theme="light"] .lms-list li, :root[data-theme="light"] .my-page-nav { border-color: #cedfe7; }
:root[data-theme="light"] .post-list { border-top-color: #10334a; }
:root[data-theme="light"] .post-list > a:hover { background: #f1f8fa; }
:root[data-theme="light"] .lesson-list li, :root[data-theme="light"] .post-list > a, :root[data-theme="light"] .cart-row, :root[data-theme="light"] .cart-row strong { color: #17364a; }
:root[data-theme="light"] .cart-row > span { color: #078c89; }
:root[data-theme="light"] .review-list article, :root[data-theme="light"] .info-panel, :root[data-theme="light"] .inquiry-answer, :root[data-theme="light"] .curriculum-card,
:root[data-theme="light"] .lms-hw-item, :root[data-theme="light"] .learning-consultation, :root[data-theme="light"] .my-page-welcome { color: #17364a; background: #fff; border: 1px solid #cedfe7; }
:root[data-theme="light"] .info-panel p, :root[data-theme="light"] .curriculum-card p, :root[data-theme="light"] .learning-consultation > p { color: #34586d; }
:root[data-theme="light"] .curriculum-card span, :root[data-theme="light"] .learning-consultation__answer strong, :root[data-theme="light"] .exam-feedback strong { color: #078c89; }
:root[data-theme="light"] .cart-row button { color: #17364a; background: #fff; border-color: #cedfe7; }
:root[data-theme="light"] .cart-empty { color: #17364a; background: linear-gradient(115deg, #f4f9fb, #e9f3f6); border-color: #cedfe7; }
:root[data-theme="light"] .cart-empty__icon { color: #078c89; background: #fff; border-color: #9fd3cf; }
:root[data-theme="light"] .cart-empty__eyebrow, :root[data-theme="light"] .cart-empty__book-link:hover { color: #078c89; }
:root[data-theme="light"] .cart-empty h2 { color: #17364a; }
:root[data-theme="light"] .cart-empty > div:nth-child(2) > p:last-child { color: #52758a; }
:root[data-theme="light"] .cart-empty__book-link { color: #34586d; }
:root[data-theme="light"] .lms-empty-state { color: #17364a; background: #fff; border-color: #cedfe7; }
:root[data-theme="light"] .lms-hw-item__status { background: #edf6f8; color: #274a60; }
:root[data-theme="light"] .lms-hw-item.is-todo .lms-hw-item__status { background: #078c89; color: #fff; }

/* my page · learning tabs · consultation */
:root[data-theme="light"] .my-page-nav a { color: #34586d; }
:root[data-theme="light"] .my-page-nav a:hover, :root[data-theme="light"] .my-page-nav a[aria-current="page"] { color: #fff; background: #10334a; border-color: #10334a; }
:root[data-theme="light"] .my-page-summary { background: #cedfe7; border-color: #cedfe7; }
:root[data-theme="light"] .my-page-summary__item { color: #17364a; background: #fff; }
:root[data-theme="light"] .my-page-summary__item:hover { color: #0f2d40; background: #f1f8fa; }
:root[data-theme="light"] .my-page-summary__item span { color: #607c8e; }
:root[data-theme="light"] .my-page-summary__item strong { color: #078c89; }
:root[data-theme="light"] .my-page-summary__item em { color: #52758a; }
:root[data-theme="light"] .my-page-summary__item--highlight { color: #fff; background: #10334a; }
:root[data-theme="light"] .my-page-summary__item--highlight span, :root[data-theme="light"] .my-page-summary__item--highlight strong, :root[data-theme="light"] .my-page-summary__item--highlight em { color: #fff; }
:root[data-theme="light"] .purchase-table { color: #17364a; background: #fff; border-color: #cedfe7; }
:root[data-theme="light"] .purchase-table th { color: #34586d; background: #edf6f8; }
:root[data-theme="light"] .purchase-table td { border-color: #d9e7ed; }
:root[data-theme="light"] .learning-tabs { border-color: #cedfe7; }
:root[data-theme="light"] .learning-tabs button { color: #607c8e; }
:root[data-theme="light"] .learning-tabs button:hover { color: #078c89; background: #edf6f8; }
:root[data-theme="light"] .learning-tabs button[aria-selected="true"] { color: #fff; background: #10334a; border-color: #10334a; }
:root[data-theme="light"] .learning-tab-panel__head > span, :root[data-theme="light"] .learning-consultation time, :root[data-theme="light"] .learning-consultation > small { color: #607c8e; }
:root[data-theme="light"] .learning-consultation__status { color: #567184; background: #edf3f6; }
:root[data-theme="light"] .learning-consultation__status.is-answered { color: #126653; background: #e5f6ed; }
:root[data-theme="light"] .learning-consultation__answer { background: #eef8f6; border-color: #078c89; }

/* exam · level test */
:root[data-theme="light"] .exam-summary p, :root[data-theme="light"] .exam-question > p, :root[data-theme="light"] .exam-navigator > div, :root[data-theme="light"] .exam-navigator > div small,
:root[data-theme="light"] .exam-stage__top, :root[data-theme="light"] .exam-question__type, :root[data-theme="light"] .exam-save-state { color: #607c8e; }
:root[data-theme="light"] .exam-feedback { background: #eef8f6; border-color: #078c89; }
:root[data-theme="light"] .exam-feedback p { color: #34586d; }
:root[data-theme="light"] .exam-metrics { background: #cedfe7; border-color: #cedfe7; }
:root[data-theme="light"] .exam-metrics strong { color: #17364a; }
:root[data-theme="light"] .exam-navigator { border-color: #cedfe7; }
:root[data-theme="light"] .exam-navigator ol button { color: #52758a; background: #fff; border-color: #cedfe7; }
:root[data-theme="light"] .exam-navigator ol button.is-answered { color: #078c89; border-color: #078c89; }
:root[data-theme="light"] .exam-navigator ol button.is-active { color: #fff; background: #10334a; border-color: #10334a; }
:root[data-theme="light"] .exam-navigator ol button.is-correct { color: #15803d; border-color: #86c9a2; }
:root[data-theme="light"] .exam-navigator ol button.is-wrong { color: #b45309; border-color: #e3b27e; }
:root[data-theme="light"] .exam-question.is-correct { border-color: #86c9a2; }
:root[data-theme="light"] .exam-question.is-wrong { border-color: #e3b27e; }
:root[data-theme="light"] .lms-hw-form .exam-question legend b.ok { color: #15803d; }
:root[data-theme="light"] .lms-hw-form .exam-question legend b.bad { color: #b73131; }

/* mobile sheet · confirm dialog */
@media (max-width: 1024px) {
  :root[data-theme="light"] .site-menu-toggle { background: #fff; border-color: #cedfe7; }
  :root[data-theme="light"] .site-navigation { background: #fff; border-color: #cedfe7; box-shadow: 0 24px 48px rgb(29 74 99 / .18); }
  :root[data-theme="light"] .site-navigation__list > li { border-color: #d9e7ed; }
  :root[data-theme="light"] .site-navigation__list > li > a, :root[data-theme="light"] .site-navigation__group summary { color: #274a60; }
  :root[data-theme="light"] .site-navigation__submenu a { color: #34586d; }
  :root[data-theme="light"] .site-navigation__list > .site-navigation__join > a { color: #fff; background: #10334a; border-color: #10334a; }
}
:root[data-theme="light"] .learner-confirm-modal__panel { color: #17364a; background: #fff; border-color: #cedfe7; }
:root[data-theme="light"] .learner-confirm-modal__icon { color: #078c89; background: #edf6f8; }
:root[data-theme="light"] .learner-confirm-modal__cancel { color: #274a60; background: #eef4f7; border-color: #cedfe7 !important; }
:root[data-theme="light"] .learner-confirm-modal__accept { color: #fff; background: #078c89; }

/* Theme parity layer -------------------------------------------------------
   Both appearances share one spatial and component system. Only semantic
   color tokens change, so switching theme no longer changes the visual
   weight, radius, elevation, or hierarchy of a screen. */
:root {
  --ui-canvas: #08131f;
  --ui-surface: #0d1c2a;
  --ui-surface-raised: #122436;
  --ui-surface-soft: #10202f;
  --ui-text: #edf6f8;
  --ui-text-muted: #9aafba;
  --ui-border: #29404f;
  --ui-accent: #37d6c1;
  --ui-accent-strong: #63e6d3;
  --ui-accent-soft: rgb(55 214 193 / .12);
  --ui-hero-a: #08131f;
  --ui-hero-b: #10283b;
  --ui-shadow: 0 18px 52px rgb(0 0 0 / .22);
  --ui-shadow-soft: 0 10px 30px rgb(0 0 0 / .12);
  --ui-radius-sm: 10px;
  --ui-radius: 16px;
  --ui-radius-lg: 24px;
  --lms-ink: var(--ui-text);
  --lms-muted: var(--ui-text-muted);
  --lms-deep: var(--ui-surface-raised);
  --lms-green: var(--ui-accent);
  --lms-soft: var(--ui-surface-soft);
  --lms-line: var(--ui-border);
  --lms-radius: var(--ui-radius);
}
:root[data-theme="light"] {
  --ui-canvas: #f6f8f9;
  --ui-surface: #ffffff;
  --ui-surface-raised: #ffffff;
  --ui-surface-soft: #edf3f4;
  --ui-text: #132d35;
  --ui-text-muted: #607781;
  --ui-border: #d6e1e4;
  --ui-accent: #0d9185;
  --ui-accent-strong: #087d74;
  --ui-accent-soft: rgb(13 145 133 / .10);
  --ui-hero-a: #eef7f6;
  --ui-hero-b: #e5eff4;
  --ui-shadow: 0 18px 52px rgb(32 64 74 / .12);
  --ui-shadow-soft: 0 10px 30px rgb(32 64 74 / .08);
}

html, body { background: var(--ui-canvas); }
body { color: var(--ui-text); }
.site-header.header-nav {
  background: color-mix(in srgb, var(--ui-canvas) 86%, transparent);
  border-color: var(--ui-border);
  box-shadow: 0 1px 0 rgb(255 255 255 / .03), var(--ui-shadow-soft);
}
.site-header__inner { min-height: 72px; }
.site-navigation__submenu,
.site-navigation { border-color: var(--ui-border); }
.site-navigation__submenu { background: var(--ui-surface-raised); border-radius: var(--ui-radius-sm); box-shadow: var(--ui-shadow); }
.site-navigation__submenu a { border-radius: 7px; }
.site-navigation__theme .nav-action {
  min-width: 84px;
  min-height: 40px;
  justify-content: center;
  padding: 0 12px;
  color: var(--ui-text);
  background: var(--ui-surface-soft);
  border-color: var(--ui-border);
  border-radius: 999px;
  transition: color .2s, background .2s, border-color .2s, transform .2s;
}
.site-navigation__theme .nav-action:hover { color: var(--ui-accent-strong); background: var(--ui-accent-soft); border-color: var(--ui-accent); transform: translateY(-1px); }
.learner-theme-toggle__icon { display: grid; width: 18px; place-items: center; font-size: 14px !important; line-height: 1; }
.site-navigation__list > .site-navigation__join > a,
:root[data-theme="light"] .site-navigation__list > .site-navigation__join > a { color: #fff !important; }

.neo-hero {
  background: radial-gradient(circle at 74% 42%, rgb(55 214 193 / .13), transparent 28%), linear-gradient(120deg, var(--ui-hero-a), var(--ui-hero-b));
  border-bottom: 1px solid var(--ui-border);
}
.neo-button, .lms-button, .chip, .pagination a { border-radius: var(--ui-radius-sm); }
.lms-shortcuts { background: var(--ui-canvas); padding-top: 20px; }
.lms-shortcuts__grid { gap: 14px; background: transparent; border: 0; }
.lms-shortcut {
  min-height: 154px;
  color: var(--ui-text);
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow-soft);
}
.lms-shortcut:hover { color: var(--ui-text); background: var(--ui-surface-raised); border: 1px solid var(--ui-accent); box-shadow: var(--ui-shadow); }
.lms-shortcut__text { color: var(--ui-text-muted); }
.lms-section--reviews, .lms-news { background: var(--ui-surface-soft); }
.lms-content-card, .lms-review, .lms-news__column {
  color: var(--ui-text);
  background: var(--ui-surface);
  border-color: var(--ui-border);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow-soft);
}
.lms-content-card:hover { color: var(--ui-text); border-color: var(--ui-accent); box-shadow: var(--ui-shadow); }
.lms-content-card__image { background: var(--ui-surface-soft); }
.lms-statement { background: linear-gradient(112deg, var(--ui-surface-raised), color-mix(in srgb, var(--ui-accent) 13%, var(--ui-surface-raised))); border-color: var(--ui-border); }
.lms-footer { border-color: var(--ui-border); }

.page-head,
.page-head[data-scene],
.learning-course-head,
.exam-test-head {
  background: radial-gradient(circle at 78% 45%, var(--ui-accent-soft), transparent 27%), linear-gradient(112deg, var(--ui-hero-a), var(--ui-hero-b));
  border-color: var(--ui-border);
}
.page-head::after { background: linear-gradient(90deg, var(--ui-hero-a) 0%, color-mix(in srgb, var(--ui-hero-a) 64%, transparent) 50%, transparent 78%); }
.auth-form, .curriculum-card, .review-list article, .info-panel,
.learning-sidebar, .learning-history, .learning-consultation,
.exam-summary, .exam-question, .exam-workspace,
.my-page-summary__item, .cart-empty, .learner-confirm-modal__panel {
  background: var(--ui-surface);
  border-color: var(--ui-border);
  border-radius: var(--ui-radius);
  box-shadow: var(--ui-shadow-soft);
}
.search-form input, .auth-form input, .auth-form textarea, .auth-form select,
.exam-text-answer input, .exam-options label, .learning-list, .learning-list button,
.purchase-table, .exam-navigator, .exam-stage, .exam-metrics div {
  color: var(--ui-text);
  background: var(--ui-surface);
  border-color: var(--ui-border);
}
.learning-sidebar__head { background: var(--ui-surface-soft); border-color: var(--ui-border); }
.learning-list button:hover, .exam-options label:hover { background: var(--ui-accent-soft); }
.learning-list button.is-active,
.exam-options label:has(input:checked) { color: var(--ui-text); background: var(--ui-accent-soft); border-color: var(--ui-accent); box-shadow: inset 3px 0 0 var(--ui-accent); }
.chip:hover, .chip.active, .pagination a:hover, .pagination a[aria-current],
.learning-tabs button[aria-selected="true"], .my-page-nav a[aria-current="page"] {
  color: #06201d;
  background: var(--ui-accent);
  border-color: var(--ui-accent);
}
.detail-image, .cart-row__image, .purchase-table-wrap, .my-page-summary { border-radius: var(--ui-radius); overflow: hidden; }
.cart-row button { background: var(--ui-surface); border-color: var(--ui-border); }
.learner-confirm-modal__panel { color: var(--ui-text); }

:root[data-theme="light"] .neo-hero h1 { color: #102f38; }
:root[data-theme="light"] .neo-hero h1 strong { color: var(--ui-accent); }
:root[data-theme="light"] .neo-kicker { color: #58747d; }
:root[data-theme="light"] .neo-kicker span { color: var(--ui-accent); border-color: color-mix(in srgb, var(--ui-accent) 45%, transparent); }
:root[data-theme="light"] .neo-hero__copy > p:not(.neo-kicker) { color: #56717b; }
:root[data-theme="light"] .neo-button--primary { color: #fff; background: var(--ui-accent); border-color: var(--ui-accent); }
:root[data-theme="light"] .neo-button--secondary { color: #173740; background: rgb(255 255 255 / .66); border-color: #aac0c6; }
:root[data-theme="light"] #learning-architecture-canvas { opacity: .92; filter: saturate(1.08) contrast(1.04); }
:root[data-theme="light"] .page-head__canvas { opacity: .68; filter: saturate(.95) contrast(1.06); mix-blend-mode: multiply; }
:root[data-theme="light"] .lms-statement h2 { color: var(--ui-text); }
:root[data-theme="light"] .lms-statement__inner > p { color: var(--ui-text-muted); }
:root[data-theme="light"] .lms-footer { background: #102c38; }

@media (max-width: 1024px) {
  .site-navigation { background: var(--ui-surface-raised); box-shadow: var(--ui-shadow); }
  .site-menu-toggle { background: var(--ui-surface); border-color: var(--ui-border); border-radius: var(--ui-radius-sm); }
}
@media (max-width: 640px) {
  .lms-shortcuts { padding-top: 12px; }
  .lms-shortcuts__grid { gap: 10px; }
  .lms-shortcut { min-height: 126px; }
  :root[data-theme="light"] #learning-architecture-canvas { opacity: .58; }
}

@media (prefers-reduced-motion: no-preference) {
  body, .site-header, .neo-hero, .page-head, .lms-shortcut, .lms-content-card,
  .auth-form, .learning-sidebar, .learning-history, .exam-question {
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
  }
}

/* Registration social badges: visual discovery without implying OAuth is live. */
.auth-form--register { max-width: 560px; }
.social-signup-banner {
  display: grid;
  gap: 14px;
  padding: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--ui-accent-soft), color-mix(in srgb, var(--ui-surface-soft) 88%, transparent));
  border: 1px solid color-mix(in srgb, var(--ui-accent) 28%, var(--ui-border));
  border-radius: var(--ui-radius);
}
.social-signup-banner__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.social-signup-banner__head > div { display: grid; gap: 2px; }
.social-signup-banner__head small { color: var(--ui-accent-strong); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.social-signup-banner__head strong { color: var(--ui-text); font-size: 18px; letter-spacing: -.035em; }
.social-signup-banner__head > span {
  flex: 0 0 auto;
  padding: 5px 8px;
  color: var(--ui-text-muted);
  background: var(--ui-surface);
  border: 1px solid var(--ui-border);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 750;
}
.social-signup-badges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.social-signup-badge {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 10px 12px;
  color: #17232a;
  border: 1px solid rgb(10 34 45 / .12);
  border-radius: 12px;
  box-shadow: 0 8px 18px rgb(17 48 58 / .08);
  cursor: not-allowed;
}
.social-signup-badge--gmail { background: #fff; }
.social-signup-badge--kakao { background: #fee500; }
.social-signup-badge svg { display: block; width: 28px; height: 28px; }
.social-signup-badge > span { display: grid; gap: 1px; min-width: 0; }
.social-signup-badge > span small { color: #68747a; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.social-signup-badge > span strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.social-signup-badge em { color: #637078; font-size: 9px; font-style: normal; font-weight: 750; }
.social-signup-badge--kakao > span small, .social-signup-badge--kakao em { color: #665e18; }
.social-signup-banner > p { margin: 0; color: var(--ui-text-muted); font-size: 11px; line-height: 1.5; text-align: left; }
.social-signup-divider { display: flex; align-items: center; gap: 12px; color: var(--ui-text-muted); font-size: 11px; font-weight: 700; }
.social-signup-divider::before, .social-signup-divider::after { content: ''; height: 1px; flex: 1; background: var(--ui-border); }
.social-signup-divider span { flex: 0 0 auto; }

@media (max-width: 560px) {
  .social-signup-banner { padding: 17px; }
  .social-signup-banner__head > span { display: none; }
  .social-signup-badges { grid-template-columns: 1fr; }
}

/* 요약 타일: 1px 선으로 붙여 놓으면 둥근 모서리끼리 겹쳐 보이므로 타일마다 떼어 놓는다. */
.my-page-summary, :root[data-theme="light"] .my-page-summary { gap: 14px; background: transparent; border: 0; border-radius: 0; overflow: visible; }
.my-page-summary .my-page-summary__item { border: 1px solid var(--ui-border); border-radius: var(--ui-radius); }
/* 반 이름처럼 긴 글자는 숫자용 큰 글씨 대신 한 줄에 들어가는 크기로. */
.my-page-summary .my-page-summary__item strong.is-text { font-size: clamp(20px, 1.9vw, 27px); line-height: 1.3; word-break: keep-all; }
