/* Theme overrides load last. Media stages retain their own dark backgrounds. */
html[data-theme="dark"] {
  color-scheme: dark;
  --yh-bg: #0d0e10;
  --yh-surface: #17181d;
  --yh-surface-soft: #212027;
  --yh-text: #f4f3f6;
  --yh-muted: #b9b7c2;
  --yh-border: #45414b;
  --yh-accent: #f6b4d0;
  --yh-accent-solid: #f064a6;
  --yh-on-accent: #240d18;
  --yh-accent-soft: #30202b;
}
html[data-theme="light"] {
  color-scheme: light;
  --yh-bg: #fff;
  --yh-surface: #fff;
  --yh-surface-soft: #f7f7f9;
  --yh-text: #26242c;
  --yh-muted: #62606b;
  --yh-border: #dedce3;
  --yh-accent: #bd1f63;
  --yh-accent-solid: #bd1f63;
  --yh-on-accent: #fff;
  --yh-accent-soft: #fff0f6;
  --bg: var(--yh-bg);
  --fg: var(--yh-text);
  --red: var(--yh-accent);
  --line: var(--yh-border);
  --muted: var(--yh-muted);
}

/* The selector remains outside the collapsible navigation on mobile. */
.yh-theme-control {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--yh-muted, #b9b7c2);
  font-family: Pre, 'Malgun Gothic', sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
}
.yh-theme-control[hidden] { display: none; }
.yh-theme-control select {
  width: 110px;
  max-width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 7px 8px 7px 12px;
  border: 1px solid var(--yh-border, #45414b);
  border-radius: 999px;
  background: var(--yh-surface, #17181d);
  color: var(--yh-text, #f4f3f6);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.yh-theme-control select:focus-visible {
  outline: 2px solid var(--yh-accent, #f6b4d0);
  outline-offset: 3px;
}
.yh-nav-inner > .yh-theme-control { order: 3; }
.yh-nav-inner > .yh-nav-panel { order: 1; }
.yh-nav-inner > .yh-nav-mobile-toggle { order: 2; }
.sales-brand-header .sales-width { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sales-brand-header a { gap: 12px; }
.yh-nav-wordmark {
  font-family: Batang, 'Noto Serif KR', serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .1em;
}
.yh-nav-header .yh-nav-inner .yh-nav-wordmark { display: inline; }
.sales-brand-header .yh-nav-wordmark { font-size: 13px; color: var(--yh-muted, #b9b7c2); }
html[data-theme] .login-entry-continue { background: var(--yh-accent-solid); color: var(--yh-on-accent); }
html[data-theme] .login-entry-continue:hover { color: var(--yh-on-accent); }
html[data-theme] .login-entry-exit:hover { color: #fff; }
@media (min-width:901px) {
  .yh-nav-inner { gap: clamp(18px, 3vw, 44px); }
  [data-yh-nav-authenticated] .yh-nav-inner { gap: clamp(16px, 2vw, 30px); }
  .yh-nav-panel { gap: 20px; }
  .yh-nav-list { gap: 27px; }
  .yh-nav-account { gap: 18px; }
}
@media (max-width:1180px) {
  .yh-theme-label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (max-width:900px) {
  .yh-nav-inner > .yh-nav-brand { margin-right: auto; }
  .yh-nav-inner > .yh-theme-control { order: 0; margin-left: 12px; margin-right: 10px; }
  .yh-nav-inner > .yh-nav-mobile-toggle { order: 0; }
  .yh-nav-inner > .yh-nav-panel { order: 1; }
  .yh-theme-control select { width: 103px; min-height: 38px; padding-left: 10px; font-size: 11px; }
  .yh-nav-inner .yh-nav-wordmark { display: inline; font-size: 11px; }
  .yh-nav-brand { gap: 8px; }
}
@media (max-width:420px) {
  .yh-nav-brand { font-size: 16px; gap: 6px; letter-spacing: -.06em; }
  .yh-nav-inner .yh-nav-wordmark { font-size: 10px; letter-spacing: 0; }
  .yh-nav-inner > .yh-theme-control { margin-left: 8px; margin-right: 4px; }
  .yh-theme-control select { width: 91px; padding-left: 8px; }
  .sales-brand-header a { font-size: 18px; gap: 8px; }
  .sales-brand-header .yh-nav-wordmark { font-size: 11px; }
}

/* Shared backgrounds, navigation, and legal/business footers. */
html[data-theme="light"] body {
  --bg: var(--yh-bg); --fg: var(--yh-text); --red: var(--yh-accent);
  --line: var(--yh-border); --muted: var(--yh-muted);
  background: var(--yh-bg); color: var(--yh-text);
}
html[data-theme="light"] main,
html[data-theme="light"] .shell { background: var(--yh-bg); box-shadow: none; }
html[data-theme="light"] a:hover { color: var(--yh-accent); }
html[data-theme="light"] :is(a, button, summary, input, select, textarea):focus-visible { outline-color: var(--yh-accent); }
html[data-theme="light"] .yh-nav-header {
  --yh-nav-bg: #fff; --yh-nav-text: var(--yh-text); --yh-nav-muted: var(--yh-muted);
  --yh-nav-accent: var(--yh-accent); --yh-nav-line: var(--yh-border);
}
html[data-theme="light"] .sales-brand-header { background: #fffffff5; border-color: var(--yh-border); }
html[data-theme="light"] .yh-nav-wordmark,
html[data-theme="light"] .yh-nav-account-status,
html[data-theme="light"] .yh-nav-header .yh-nav-login,
html[data-theme="light"] .yh-nav-header .yh-nav-submenu-link,
html[data-theme="light"] .yh-nav-header .yh-nav-account-link { color: var(--yh-muted); }
html[data-theme="light"] .yh-nav-submenu-link span { color: var(--yh-muted); }
html[data-theme="light"] .yh-nav-header :is(.yh-nav-login, .yh-nav-signup, .yh-nav-logout):hover { color: var(--yh-accent); }
html[data-theme="light"] .yh-nav-header .yh-nav-admin { color: #fff; background: var(--yh-accent); border-color: var(--yh-accent); }
html[data-theme="light"] .yh-nav-header .yh-nav-admin:hover { background: #9d194f; border-color: #9d194f; color: #fff; }
html[data-theme="light"] :is(.footer, .catalog-footer, .home-footer, .account-footer, .signup-footer) {
  background: var(--yh-bg); color: var(--yh-muted); border-color: var(--yh-border);
}
html[data-theme="light"] :is(.footer .brand, .account-footer-brand, .signup-footer>a:first-child) { color: var(--yh-text); }
html[data-theme="light"] :is(.footer a, .footer button, .footer .draft, .footer-links a, .catalog-footer>p, .account-footer nav, .signup-footer nav) { color: var(--yh-muted); }
html[data-theme="light"] :is(.business-info, .business-info dt, .business-info dd, .business-info p, .business-info p span, .business-info a) { color: var(--yh-muted); border-color: var(--yh-border); }
html[data-theme="light"] .footer a:hover,
html[data-theme="light"] .account-footer a:hover,
html[data-theme="light"] .signup-footer a:hover { color: var(--yh-accent); }

/* Member account, its dynamically rendered records, and password screens. */
html[data-theme="light"] .account-page {
  --account-bg: var(--yh-bg); --account-text: var(--yh-text); --account-muted: var(--yh-muted);
  --account-line: var(--yh-border); --account-pink: var(--yh-accent);
}
html[data-theme="light"] :is(.account-eyebrow, .account-page .account-text-link, .account-record-state, .account-status) { color: var(--yh-accent); }
html[data-theme="light"] :is(.account-text-button, .account-sidebar a, .account-connection-note, .account-record-id, .password-help) { color: var(--yh-muted); }
html[data-theme="light"] :is(.account-record-top h3, .account-record-meta strong, .password-identity, .password-form label, .recovery-step-title) { color: var(--yh-text); }
html[data-theme="light"] :is(.account-text-button, .account-sidebar a):hover,
html[data-theme="light"] .account-sidebar a[aria-current="page"] { color: var(--yh-accent); }
html[data-theme="light"] :is(.account-primary, .account-page .account-admin) { background: var(--yh-accent); color: #fff; }
html[data-theme="light"] :is(.account-primary, .account-page .account-admin):hover { background: #9d194f; border-color: #9d194f; color: #fff; }
html[data-theme="light"] .password-form input {
  background: #fff; color: var(--yh-text); border-color: #aaa6b2;
}
html[data-theme="light"] .password-form input:focus { border-color: var(--yh-accent); outline-color: var(--yh-accent); }
html[data-theme="light"] .recovery-page #recovery-pending-email { background: var(--yh-surface-soft); color: var(--yh-muted); }

/* Login, adult verification and signup: clean white forms and visible labels. */
html[data-theme="light"] .auth-page { color: var(--yh-text); background: var(--yh-bg); }
html[data-theme="light"] :is(.auth-copy, .auth-helper, .auth-notice, .auth-step, .auth-main .back-link, .auth-page .auth-copy, .auth-divider, .signup-prompt, .text-button, .auth-text-link, .admin-login, .operator-entry) { color: var(--yh-muted); }
html[data-theme="light"] :is(.auth-form label, .check-row span, .auth-step .current) { color: var(--yh-text); }
html[data-theme="light"] .auth-form input { background: #fff; color: var(--yh-text); border-color: #aaa6b2; }
html[data-theme="light"] .auth-form input:focus { border-color: var(--yh-accent); box-shadow: 0 0 0 1px var(--yh-accent); }
html[data-theme="light"] :is(.auth-form input, .password-form input, .signup-field input, .signup-code-panel input, .checkout-input)::placeholder { color: #716d7a; }
html[data-theme="light"] :is(.auth-divider::before, .auth-divider::after) { background: var(--yh-border); }
html[data-theme="light"] :is(.auth-notice, .auth-switch, .admin-login, .login-age-notice) { border-color: var(--yh-border); }
html[data-theme="light"] :is(.auth-switch button, .login-age-notice p, .login-age-notice a) { color: var(--yh-muted); }
html[data-theme="light"] .login-age-notice strong { color: var(--yh-text); }
html[data-theme="light"] :is(.auth-switch button.is-active, .check-row a, .check-row b, .code-kicker, .auth-page .code-kicker, .auth-page .signup-prompt a, .signup-prompt a, .login-age-notice .login-age-notice-badge) { color: var(--yh-accent); }
html[data-theme="light"] .auth-status { background: var(--yh-accent-soft); border-color: var(--yh-accent); color: var(--yh-accent); }
html[data-theme="light"] .auth-page .auth-status { background: transparent; color: var(--yh-accent); }
html[data-theme="light"] :is(.primary-link, .auth-page .primary-link, .solid) { background: var(--yh-accent); color: #fff; }
html[data-theme="light"] :is(.primary-link, .auth-page .primary-link, .solid):hover { background: #9d194f; color: #fff; }
html[data-theme="light"] .age-symbol { color: var(--yh-text); border-color: var(--yh-accent); }
html[data-theme="light"] :is(.auth-page .kakao-button[aria-disabled="true"], .signup-kakao:disabled) { background: #f3edd0; color: #665b27; opacity: 1; }
html[data-theme="light"] :is(.kakao-button, .provider.kakao):not([aria-disabled="true"]):hover { color: #191600; }
html[data-theme="light"] .signup-page {
  --signup-pink: var(--yh-accent); --signup-text: var(--yh-text);
  --signup-muted: var(--yh-muted); --signup-line: var(--yh-border);
}
html[data-theme="light"] :is(.signup-back, .signup-lead, .signup-progress li>span, .signup-progress small, .signup-login-note, .signup-social>p, .signup-help, .signup-check-row small, .signup-consent-line>a, .signup-section-copy, .signup-verification-row p, .signup-completion-note) { color: var(--yh-muted); }
html[data-theme="light"] :is(.signup-eyebrow, .signup-progress small[data-complete], .signup-login-note a, .signup-check-row b, .signup-code-actions, .signup-text-button, .signup-status) { color: var(--yh-accent); }
html[data-theme="light"] :is(.signup-section legend, .signup-section h2, .signup-field>label, .signup-code-panel>label, .signup-check-row, .signup-check-all, .signup-verification-row h3) { color: var(--yh-text); }
html[data-theme="light"] .signup-service-note { color: var(--yh-muted); border-color: var(--yh-accent); }
html[data-theme="light"] :is(.signup-field input, .signup-code-panel input) { background: #fff; color: var(--yh-text); border-color: #aaa6b2; }
html[data-theme="light"] :is(.signup-field input, .signup-code-panel input):focus { border-color: var(--yh-accent); outline-color: var(--yh-accent); }
html[data-theme="light"] .signup-field input[readonly] { background: var(--yh-surface-soft); color: var(--yh-muted); }
html[data-theme="light"] :is(.signup-check-button, .signup-outline-button) { color: var(--yh-accent); border-color: #c58da6; }
html[data-theme="light"] :is(.signup-check-button, .signup-outline-button):hover { color: var(--yh-accent); border-color: var(--yh-accent); background: var(--yh-accent-soft); }
html[data-theme="light"] :is(.signup-check-all, .signup-verification-row+.signup-verification-row) { border-color: var(--yh-border); }
html[data-theme="light"] .signup-submit { background: var(--yh-accent); color: #fff; }
html[data-theme="light"] .signup-submit:hover { background: #9d194f; }

/* Support and all catalog pages share these editorial surfaces. */
html[data-theme="light"] body.catalog-page { --bg: #fff; --fg: var(--yh-text); --red: var(--yh-accent); --muted: var(--yh-muted); --line: var(--yh-border); }
html[data-theme="light"] :is(.catalog-eyebrow, .catalog-meta .catalog-status, .catalog-lesson-status>div:first-child p, .support-email span) { color: var(--yh-accent); }
html[data-theme="light"] :is(.catalog-intro>p:not(.catalog-eyebrow), .catalog-meta, .catalog-description, .catalog-price span, .catalog-caption, .catalog-note p, .catalog-teacher-row h2 span, .catalog-teacher-course, .catalog-teacher-course span, .catalog-lesson-status>div>p:last-child, .support-section-copy, .support-faq p, .support-contact-copy, .support-policy-links, .member-home-section-heading>a, .member-home-section-heading>p) { color: var(--yh-muted); }
html[data-theme="light"] :is(.catalog-price strong, .catalog-link, .support-email, .member-home-shortcuts a) { color: var(--yh-text); }
html[data-theme="light"] .catalog-switch a { color: var(--yh-muted); }
html[data-theme="light"] .catalog-switch a[aria-current="page"] { color: var(--yh-accent); }
html[data-theme="light"] :is(.catalog-link, .support-email) { border-color: #918a9c; }
html[data-theme="light"] :is(.catalog-copy h2 a, .member-home-feature h3 a, .member-home-upcoming h3 a):hover { color: var(--yh-accent); }
html[data-theme="light"] :is(.support-faq details[open] summary, .support-faq details[open] summary::after, .support-faq a) { color: var(--yh-accent); }
html[data-theme="light"] .support-faq summary::after { color: var(--yh-muted); }
html[data-theme="light"] .support-faq a { text-decoration-color: #c58da6; }
html[data-theme="light"] :is(.catalog-link-primary, .member-home-shortcuts .member-home-my) { background: var(--yh-accent); color: #fff; }
html[data-theme="light"] :is(.catalog-link-primary, .member-home-shortcuts .member-home-my):hover { background: #9d194f; color: #fff; }

/* Readable long-form policy and checkout screens. */
html[data-theme="light"] .legal-copy :is(h2, b) { color: var(--yh-text); }
html[data-theme="light"] .legal-copy :is(p, li, .legal-lead, .legal-effective) { color: var(--yh-muted); }
html[data-theme="light"] .legal-copy :is(.legal-kicker, a) { color: var(--yh-accent); }
html[data-theme="light"] .legal-copy .legal-notice { background: var(--yh-accent-soft); color: var(--yh-text); border-color: var(--yh-accent); }
html[data-theme="light"] :is(.legal-copy section, .legal-copy .legal-effective, .legal-formula) { border-color: var(--yh-border); }
html[data-theme="light"] .legal-formula { background: var(--yh-surface-soft); color: var(--yh-text); }
html[data-theme="light"] .legal-formula span:last-child { color: var(--yh-accent); }
html[data-theme="light"] .legal-small { color: var(--yh-muted)!important; }
html[data-theme="light"] :is(.choice input, .agreement input) { accent-color: var(--yh-accent); }

/* Public landing: white reading sections, dark photographic art direction. */
html[data-theme="light"] .home-page {
  --sales-bg: var(--yh-bg); --sales-text: var(--yh-text); --sales-muted: var(--yh-muted);
  --sales-pink: var(--yh-accent); --sales-line: var(--yh-border);
}
html[data-theme="light"] .home-page .sales-gradient { color: var(--yh-accent); background: linear-gradient(115deg,#34313d 8%,#775065 46%,#bd1f63 96%); background-clip: text; -webkit-background-clip: text; }
html[data-theme="light"] :is(.sales-learning, .sales-change) { background: var(--yh-surface-soft); }
html[data-theme="light"] .sales-learning-rows article { border-color: var(--yh-border); }
html[data-theme="light"] .sales-learning-rows article>span { color: #896276; }
html[data-theme="light"] .home-page .sales-overline { color: var(--yh-muted); }
html[data-theme="light"] :is(.home-page .sales-question-answer, .sales-teaser-copy blockquote) { color: var(--yh-text); }
html[data-theme="light"] :is(.sales-concerns-image figcaption, .sales-instructor-record dt, .sales-teaser-copy li, .home-page .sales-change-note, .sales-change-list .sales-change-labels span) { color: var(--yh-muted); }
html[data-theme="light"] .sales-instructor-record { border-color: var(--yh-border); }
html[data-theme="light"] :is(.sales-instructor-record dd, .sales-teaser-copy blockquote strong, .sales-change-list>div>span) { color: var(--yh-accent); }
html[data-theme="light"] .sales-teaser-copy .sales-character-note { color: var(--yh-muted)!important; border-color: var(--yh-accent); }
html[data-theme="light"] .sales-change-list p { background: #eeedf1; color: var(--yh-muted); }
html[data-theme="light"] .sales-change-list p:last-child { background: #fff; color: var(--yh-text); }
html[data-theme="light"] :is(.sales-change-list p strong, .sales-change-list p small) { color: var(--yh-accent); }
html[data-theme="light"] .home-page .sales-button { background: var(--yh-accent); color: #fff; }
html[data-theme="light"] .home-page .sales-button:hover { background: #9d194f; color: #fff; }
html[data-theme="light"] .home-page .sales-dock-button { color: #fff; }
html[data-theme="light"] :is(.sales-hero, .sales-manifesto, .sales-finale) {
  background: #0d0e10; color: #f6f5f4; --sales-text: #f6f5f4; --sales-muted: #bfc0c5; --sales-pink: #ff8abd;
}
html[data-theme="light"] :is(.sales-hero, .sales-manifesto, .sales-finale) .sales-gradient { color: #ffb0d1; background: linear-gradient(115deg,#efedef 5%,#efc7d9 40%,#ff62a8 95%); background-clip: text; -webkit-background-clip: text; }
html[data-theme="light"] :is(.sales-hero, .sales-manifesto, .sales-finale) .sales-overline { color: #c7c7cd; }

/* Class detail: change content paper, never invert photos or video. */
html[data-theme="light"] :is(.visual-nav, .cover-heading, .top-preview, .sales-scene, .rin-editorial, .visual-preview, .questions, .review-section, .detail-course-tabs, .rin-story) { background: var(--yh-bg); color: var(--yh-text); border-color: var(--yh-border); }
html[data-theme="light"] :is(.visual-bridge, .dialogue-strip, .offer, .syllabus, .practice, .pause) { background: var(--yh-surface-soft); color: var(--yh-text); border-color: var(--yh-border); }
html[data-theme="light"] :is(.cover-heading h1, .sales-scene-title h2, .rin-intro h2, .visual-preview h2, .visual-syllabus-intro h2, .editorial-hero h1) { color: var(--yh-text); background: none; -webkit-text-fill-color: currentColor; }
html[data-theme="light"] :is(.visual-bridge h2, .dialogue-strip p, .rin-caption .large-copy, .cover-promise strong, .review-card h3, .course-facts strong) { color: var(--yh-text); }
html[data-theme="light"] :is(.cover-heading p, .cover-heading small, .cover-promise, .video-caption, .top-preview>p:last-child, .visual-bridge p, .dialogue-strip>span, .dialogue-strip small, .rin-caption>p:not(.large-copy), .rin-caption small, .photo-pair figcaption, .visual-syllabus-intro>p:last-child, .visual-preview>p:last-child, .lesson-description, .questions details p, .review-card p, .review-status, .review-footnote, .review-card footer, .detail-course-tabs a, .detail-course-tabs small, .section-copy, .rin-story>p, .rin-story small, .hero-summary>p, .course-facts, .hero-summary .entry-caption, .question-list li p, .eyebrow, .subpage p, .copy, .back-link) { color: var(--yh-muted); }
html[data-theme="light"] :is(.v-label, .sales-scene-title .v-label, .chapter summary small, .chapter li b, .part, .review-card-top, .review-section>h2 em, .review-section>.v-label, .detail-course-tabs a[aria-current], .hero-premise, .offer-unit, .offer-note, .offer .section-kicker) { color: var(--yh-accent); }
html[data-theme="light"] :is(.kicker, .proposal) { color: var(--yh-accent)!important; }
html[data-theme="light"] :is(.chapter, .cover-promise, .review-section .review-card, .questions details, .offer-includes, .question-list, .question-list li, .course-tabs, .instructor-name) { border-color: var(--yh-border); }
html[data-theme="light"] :is(.chapter li span, .syllabus-intro, .review-card-top small) { color: var(--yh-text); }
html[data-theme="light"] .review-section .review-card { background: transparent; }
html[data-theme="light"] :is(.draft-note, .section-kicker, .offer-total, .course-tabs a, .course-tabs small) { color: var(--yh-muted); }
html[data-theme="light"] .course-tabs .selected { color: var(--yh-accent); }
html[data-theme="light"] .offer-price { color: var(--yh-text); }
html[data-theme="light"] :is(.offer-button, .purchase-bar .purchase-cta, .purchase-bar button) { background: var(--yh-accent); color: #fff; }
html[data-theme="light"] :is(.offer-button, .purchase-bar .purchase-cta, .purchase-bar button):hover { background: #9d194f; color: #fff; }
html[data-theme="light"] .purchase-bar { background: linear-gradient(transparent,#fff 24%); }
html[data-theme="light"] :is(.cover-photo, .story-photo, .rin-frame, .poster, .preview-photo, .scene) { color: #f6f5f4; background-color: #101014; }
html[data-theme="light"] :is(.image-copy, .story-photo figcaption, .story-photo figcaption a, .preview-title, .photo-credit) { color: #fff; }
html[data-theme="light"] .story-photo figcaption a:hover { color: #ffb0d1; }
html[data-theme="light"] :is(.course-tile, .course-tile-active) { background: var(--yh-surface-soft); color: var(--yh-text); border-color: var(--yh-border); }
html[data-theme="light"] :is(.course-tile p, .course-tile-meta) { color: var(--yh-muted); }
html[data-theme="light"] .tile-link { color: var(--yh-accent); }
html[data-theme="light"] .course-tile:hover { background: var(--yh-accent-soft); border-color: var(--yh-accent); }
html[data-theme="light"] dialog:not(.intro) { background: var(--yh-bg); color: var(--yh-text); border-color: var(--yh-border); }
html[data-theme="light"] dialog:not(.intro) p { color: var(--yh-muted); }
html[data-theme="light"] dialog:not(.intro) button { background: var(--yh-accent); color: #fff; }
html[data-theme="light"] dialog:not(.intro) .dismiss { background: transparent; color: var(--yh-muted); }
html[data-theme="light"] .intro { --fg: #f2f2f5; color: #f2f2f5; background: #050505; color-scheme: dark; }

/* Administration: white workspace with restrained pink controls and notices. */
html[data-theme="light"] .admin-body {
  /* White workspace, dark sidebar box (baekschool tone), hot-pink accent. */
  --admin-bg: #f5f5f7; --admin-panel: #fff; --admin-panel-2: #fafafb;
  --admin-sidebar: #121115; --admin-top: #ffffffe8;
  --admin-sidebar-line: #2a2830; --admin-sidebar-text: #ececf0;
  --admin-sidebar-muted: #9a97a4; --admin-sidebar-hover: #1f1d25;
  --admin-line: var(--yh-border); --admin-muted: var(--yh-muted);
  --admin-text: #1c1a22; --admin-strong: #120f18;
  --admin-accent: #e01873; --admin-accent-strong: #f5157f;
  --admin-on-accent: #fff; --admin-accent-soft: #fdeaf3;
  --admin-accent-border: #f6c4db; --admin-notice-text: #863351;
  --admin-skeleton: #eeedf1; --admin-shimmer: #c3bdca;
}
html[data-theme="light"] .admin-nav a.is-active { color: var(--admin-on-accent); }

/* KB 구매안전서비스(에스크로) 가입확인 마크 — 모든 페이지 하단 footer 안에 들어간다. */
.yh-escrow { margin-top: 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
/* Standalone detail pages also use these links without shell.css. */
.footer .footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; margin-block: 20px; }
.footer .footer-links a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; text-decoration: none; border-bottom: 0; }
.yh-escrow-mark { display: inline-block; line-height: 0; }
.yh-escrow-mark img { display: block; width: 48px; height: auto; background: #fff; border-radius: 2px; }
.yh-escrow-note { margin: 0; max-width: 520px; font-size: 11px; line-height: 1.6; opacity: .72; }

/* Mobile utility screens: readable form fields and deliberate touch targets. */
@media(max-width:600px){
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px}
  :is(.signup-page,.auth-page,.account-page) :is(input,textarea,select){scroll-margin-block:90px 100px}
  :is(.footer-links,.signup-footer nav,.account-footer nav,.support-policy-links){gap:4px 18px}
  :is(.footer-links,.signup-footer nav,.account-footer nav,.support-policy-links)>a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.5}
  :is(.legal-copy,.auth-main)>.back-link,.signup-prompt>a{display:inline-flex;align-items:center;min-height:44px}
  :is(.footer,.signup-footer,.account-footer) a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px;font-size:12px;overflow-wrap:anywhere}
  :is(.signup-footer,.account-footer){padding-bottom:calc(36px + env(safe-area-inset-bottom))}
  .signup-page .signup-lead{max-width:34ch}
  .auth-page .auth-main{padding-top:28px}
  .auth-page .auth-copy{margin-bottom:24px}
}
@media(max-width:380px){
  .signup-page .signup-input-row{flex-wrap:wrap;gap:8px}
  .signup-page .signup-input-row input{flex-basis:100%}
  .signup-page .signup-check-button{margin-left:auto;min-width:100px;min-height:44px}
}
