[hidden] { display: none !important; }
body { font-family: Jakarta, Myanmar, sans-serif; }
summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
.course-copy h1 { font-size: clamp(32px, 4vw, 58px); letter-spacing: -.045em; margin: 12px 0 20px; }
.course-copy, .module-name, .course-facts > *, .m-course-card-copy { min-width: 0; overflow-wrap: anywhere; }
.course-copy .body-copy, .m-body, .studio-faq p { white-space: pre-line; }
.module-name { flex: 1; }
.module-name strong, .module-name small { display: block; }
.module-name small { color: var(--muted); font-size: 11px; margin-top: 4px; }
.module[open] .module-toggle-icon { background: var(--blue); color: white; }
.module[open] .module-toggle-icon { font-size: 0; }
.module[open] .module-toggle-icon::after { content: '−'; font-size: 16px; }
.studio-results { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 12px; margin: 12px 0; }
.studio-results button, .studio-register { background: transparent; border: 0; color: var(--blue-light); font-size: 12px; }
.studio-register { display: block; margin-top: 10px; }
.studio-faq details { border-bottom: 1px solid var(--line); }
.studio-faq summary { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 14px; font-weight: 600; }
.studio-faq p { padding-bottom: 20px; color: var(--muted); }
.studio-faq details[open] svg { transform: rotate(180deg); }
.studio-footer { display: flex; gap: 24px; align-items: center; padding-block: 30px; font-size: 13px; }
.studio-footer .brand { margin-right: auto; }
.studio-extra { padding-block: 32px; }
.studio-extra h2 { margin-bottom: 16px; font-size: 22px; }
.studio-other { display: flex; gap: 14px; align-items: center; padding: 14px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; margin-block: 8px; }
.studio-other img { width: 70px; height: 64px; border-radius: 8px; object-fit: cover; }
.studio-other small { display: block; color: var(--muted); }
.studio-error { color: #ffcdc8; background: #362021; padding: 10px 14px; border-radius: 9px; }
.studio-account-app { color-scheme: dark; }
@media (min-width:701px) {
    .studio-account-app { display: block; }
    .studio-account-app .m-header, .studio-account-app .m-dock { display: none; }
    .studio-account-app .m-login-view { width: min(420px, 90%); margin: 7vh auto; }
    .m-login-intro h1 { font-size: 36px; }
    .m-login-intro p { color: var(--muted); margin: 8px 0 28px; }
    .m-login-field { margin: 18px 0; }
    .m-login-field label { display: block; font-size: 13px; margin-bottom: 7px; }
    .m-login-input, .m-platform-buttons a { border: 1px solid var(--line); background: var(--surface); border-radius: 13px; padding: 12px 16px; display: flex; align-items: center; gap: 12px; }
    .m-login-input input { width: 100%; min-width: 0; border: 0; background: transparent; color: white; height: 30px; }
    .m-password-toggle { background: transparent; border: 0; padding: 5px; }
    .m-login-submit { margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 50px; background: var(--blue); border: 0; border-radius: 12px; font-weight: 600; }
    .m-login-divider { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 12px; margin: 28px 0 16px; }
    .m-login-divider span { flex: 1; border-top: 1px solid var(--line); }
    .m-platform-buttons { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
    .m-platform-buttons small { display: block; font-size: 11px; color: var(--muted); }
    .m-platform-buttons svg:last-child { width: 12px; margin-left: auto; }
}
@media (min-width:701px) and (max-width:1000px) {
    .desktop-nav { display: flex; gap: 14px; }
    .desktop-nav a { font-size: 11px; }
    .header-actions { display: flex; }
}
@media (max-width:700px) {
    .m-dock-inner > a { z-index: 1; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 59px; font-size: 10px; font-weight: 600; color: #a1aec2; }
    .m-dock-inner > a[aria-current=page] { color: #dce8ff; }
    .m-dock-inner > a[aria-current=page]::after { content: ''; position: absolute; bottom: 3px; width: 3px; height: 3px; border-radius: 50%; background: #b5d1ff; }
    .studio-mobile-search { display: flex; align-items: center; gap: 10px; width: 100%; }
    .m-course-detail h1 { font-size: 28px; line-height: 1.25; letter-spacing: -.035em; margin: 10px 0 16px; }
    .studio-outline-link { display: flex; margin-top: 22px; }
    .studio-outcomes article { padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
    .studio-outcomes p { color: var(--muted); font-size: 12px; margin-top: 4px; }
    .studio-mobile-module summary { list-style: none; }
    .m-course-thumb img { height: 100%; width: 100%; object-fit: contain; background: #06090f; }
    .m-course-card-copy { text-align: left; }
    .m-topic-chip, .m-foundation-card { border: 1px solid var(--line); }
    .m-topic-chip { flex-shrink: 0; }
    .m-screen { overflow-wrap: anywhere; }
    .studio-extra h2 { font-size: 16px; }
    .studio-other { font-size: 12px; }
}
@media (max-height:650px) and (max-width:700px) { .m-dock-inner > a { min-height: 48px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
