.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 48px;border:1px solid #3e696b;border-radius:50%;background:#102124;color:#e6aa4b;cursor:pointer}
.theme-toggle:hover{border-color:currentColor}
.theme-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-moon{display:none}
html[data-theme="light"]{color-scheme:light;background:#f4f8f7}
[data-theme="light"] .theme-sun{display:none}
[data-theme="light"] .theme-moon{display:block}
[data-theme="light"] .theme-toggle{background:#fff;color:#17686d;border-color:#9abdbd}
[data-theme="light"] body{color:#193537;background:radial-gradient(circle at 85% 8%,#dcefed,transparent 30rem),radial-gradient(circle at 12% 60%,#f6eaf3,transparent 28rem),#f4f8f7}
[data-theme="light"] header{background:rgba(248,252,251,.94);border-color:#d4e3e1}
[data-theme="light"] #mobile-menu{background:#f8fcfb;border-color:#d4e3e1}
[data-theme="light"] footer{background:#eaf2ef;border-color:#d4e3e1}
[data-theme="light"] .hero-section{background:radial-gradient(ellipse at 80% 25%,#d7eeea,transparent 65%),linear-gradient(135deg,#f8fbf8,#edf4f2)}
[data-theme="light"] :is(.lesson-card,.service-card){background:linear-gradient(145deg,#fff,#edf5f2);box-shadow:0 15px 40px #1935370d}
[data-theme="light"] :is(#deal,#contact,.empty-state,.series-dialog){background:#fafffd;color:#193537}
[data-theme="light"] .catalog-filters{background:linear-gradient(110deg,#fff,#f0f6f4);border-color:#d7e4e0;color:#193537}
[data-theme="light"] :is(.nav-link,.mobile-link){color:#496567}
[data-theme="light"] :is(.nav-link:hover,.nav-link.active,.mobile-link:hover,.button-outline,.catalog-shell,.lesson-stats dd,.dialog-close){color:#193537}
[data-theme="light"] :is([class*="text-white/"],.catalog-intro,.catalog-description,.catalog-filters label,.catalog-actions,.progress-label,.series-progress small,.series-dialog p,.empty-state p,.lesson-stats dt,.stat-icon){color:#526b6d}
[data-theme="light"] :is(.eyebrow,.catalog-topic,.text-teal){color:#087b7d}
[data-theme="light"] .text-amber{color:#8d5b12}
[data-theme="light"] .text-magenta{color:#a31a8d}
[data-theme="light"] .text-transparent{background-image:linear-gradient(90deg,#087c7d,#16764c,#087c7d)}
[data-theme="light"] .button-primary{background:linear-gradient(115deg,#08795f,#07787e,#086682);color:#fff}
[data-theme="light"] .accent-link--yellow{--link-accent:#94620c}
[data-theme="light"] .accent-link--teal{--link-accent:#087b7d}
[data-theme="light"] .accent-link--magenta{--link-accent:#a31a8d}
[data-theme="light"] .tag{color:#286466;background:#e9f5f2}
[data-theme="light"] .tag-amber{color:#80520e;background:#fcf4e7}
[data-theme="light"] :is(.lesson-stats,.lesson-stats div+div,.cart-items li){border-color:#d3e1df}
[data-theme="light"] :is(.catalog-filters input,.catalog-filters select,.catalog-sort select){background:#fff;color:#193537;border-color:#b5ccca}
[data-theme="light"] .view-toggle{background:#e8f1ef;border-color:#b5ccca}
[data-theme="light"] .view-toggle :is(button,a){color:#496567}
[data-theme="light"] .view-toggle :is(button,a)[aria-pressed="true"]{color:#145b5e}[data-theme="light"] .view-toggle.liquid-toggle{--liquid-toggle-active:#cee9e4}
[data-theme="light"] :is(.catalog-card .series-price,.series-dialog .series-price){background:#f9edf6;color:#971b83}
[data-theme="light"] :is(.filter-reset,.cart-items button){color:#94620c}
[data-theme="light"] .cart-items span{color:#971b83}
[data-theme="light"] .series-progress progress{background:#dbe7e4}
[data-theme="light"] .series-progress progress::-webkit-progress-bar{background:#dbe7e4}
[data-theme="light"] .series-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#168865,#078d92)}
[data-theme="light"] .series-progress progress::-moz-progress-bar{background:#078d92}

/* Dark-theme readability tokens for learning and account surfaces. */
html:not([data-theme="light"]) .learning-shell{
  --learn-muted:#bfd0cf;
  --learn-line:#3a5052;
}
html:not([data-theme="light"]) .account-panel-heading p,
html:not([data-theme="light"]) .account-setting-row span,
html:not([data-theme="light"]) .account-identity small,
html:not([data-theme="light"]) .account-list li small,
html:not([data-theme="light"]) .purchase-item small,
html:not([data-theme="light"]) .purchase-empty p{
  color:#b3c4c3;
}
html:not([data-theme="light"]) .account-setting-row span{
  font-size:.94rem;
}
html:not([data-theme="light"]) .account-form label{
  color:#c9d6d5;
  font-size:.9rem;
}
