@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap');

:root {
    --bee-gold: #ffd700;
    --bee-gold-deep: #e9c400;
    --bee-gold-soft: #ffe98c;
    --bee-ink: #131313;
    --bee-paper: #fcf9f8;
    --bee-paper-soft: #f6f3f2;
    --bee-paper-line: rgba(126, 119, 95, 0.18);
    --bee-white: #ffffff;
    --bee-copy: #1c1b1b;
    --bee-copy-soft: #5f5e5e;
    --bee-shadow: 0 24px 60px rgba(19, 19, 19, 0.08);
    --bee-shadow-soft: 0 20px 40px rgba(19, 19, 19, 0.06);
    --bee-shadow-deep: 0 34px 80px rgba(19, 19, 19, 0.12);
    --bee-radius-hero: 3rem;
    --bee-radius-xl: 2.2rem;
    --bee-radius-lg: 1.7rem;
    --bee-radius-md: 1.2rem;
    --bee-radius-pill: 999px;
    --bee-max-width: 1368px;
    --bee-fast: 180ms ease;
    --app-serif-font: "Be Vietnam Pro", "Segoe UI", Arial, sans-serif;
}

html {
    scroll-behavior: smooth;
}

body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-page,
body.post-page,
body.gallery-page,
body.notifications-page {
    font-family: var(--app-serif-font);
    background:
        radial-gradient(circle at top left, rgba(255, 215, 0, 0.28), transparent 36%),
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.22), transparent 32%),
        linear-gradient(180deg, #fffef9 0%, var(--bee-paper) 22%, #f9f4ec 100%);
    color: var(--bee-copy);
}

body.home-page::before,
body.course-page::before,
body.exam-page::before,
body.auth-body::before,
body.profile-page::before,
body.post-page::before,
body.gallery-page::before,
body.notifications-page::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 10% 12%, rgba(255, 215, 0, 0.14), transparent 22%),
        radial-gradient(circle at 88% 10%, rgba(19, 19, 19, 0.04), transparent 16%),
        radial-gradient(circle at 50% 90%, rgba(255, 215, 0, 0.12), transparent 26%);
    z-index: -2;
}

body.home-page::after,
body.course-page::after,
body.exam-page::after,
body.auth-body::after,
body.profile-page::after,
body.post-page::after,
body.gallery-page::after,
body.notifications-page::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle at center, rgba(19, 19, 19, 0.03) 0 1px, transparent 1px),
        radial-gradient(circle at center, rgba(255, 215, 0, 0.04) 0 1px, transparent 1px);
    background-size: 42px 42px, 84px 84px;
    background-position: 0 0, 21px 21px;
    opacity: 0.35;
    z-index: -3;
}

.container {
    width: min(var(--bee-max-width), calc(100% - 2rem));
    max-width: var(--bee-max-width);
    margin-inline: auto;
}

a,
button,
input,
select,
textarea {
    font-family: inherit;
}

a {
    text-decoration: none;
    transition:
        color var(--bee-fast),
        transform var(--bee-fast),
        opacity var(--bee-fast),
        background-color var(--bee-fast);
}

button,
.btn,
.btn-login,
.btn-primary,
.btn-ghost,
.course-btn,
.auth-submit,
.exam-home-action,
.course-action,
.profile-actions a,
.guardian-notification-item__action-btn,
.course-outline-fab {
    transition:
        transform var(--bee-fast),
        box-shadow var(--bee-fast),
        background-color var(--bee-fast),
        color var(--bee-fast),
        border-color var(--bee-fast);
}

button:hover,
.btn:hover,
.btn-login:hover,
.btn-primary:hover,
.btn-ghost:hover,
.course-btn:hover,
.auth-submit:hover,
.exam-home-action:hover,
.course-action:hover,
.profile-actions a:hover,
.guardian-notification-item__action-btn:hover,
.course-outline-fab:hover {
    transform: translateY(-2px) scale(1.01);
}

.site-header,
.site-header.exam-page-header {
    position: sticky;
    top: 1rem;
    z-index: 80;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.2rem;
    margin-top: 1.25rem;
    background: rgba(255, 255, 255, 0.78);
    border-radius: 2rem;
    backdrop-filter: blur(20px);
    box-shadow: var(--bee-shadow-soft);
}

.site-logo {
    height: 3rem;
    width: auto;
    border-radius: 0;
}

.main-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.45rem;
    margin-inline: auto;
    background: rgba(246, 243, 242, 0.92);
    border-radius: var(--bee-radius-pill);
}

.main-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.65rem 1rem;
    border-radius: var(--bee-radius-pill);
    color: var(--bee-copy-soft);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.main-nav a:hover,
.main-nav a:focus-visible {
    color: var(--bee-copy);
    background: var(--bee-white);
}

.header-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.85rem;
}

.mobile-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 0;
    border-radius: 50%;
    background: rgba(19, 19, 19, 0.06);
}

.mobile-nav-toggle__line {
    background: var(--bee-ink);
}

.btn-login,
.btn-primary,
.btn.primary,
.course-btn.primary,
.auth-submit,
.exam-home-action,
.course-action,
.profile-actions .btn-login,
.course-outline-fab,
.exam-resume-btn--primary,
.course-todo-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 3rem;
    padding: 0.85rem 1.35rem;
    border: 0;
    border-radius: var(--bee-radius-pill);
    background: linear-gradient(135deg, var(--bee-gold) 0%, var(--bee-gold-deep) 100%);
    color: var(--bee-ink);
    font-weight: 800;
    letter-spacing: -0.02em;
    box-shadow: 0 16px 32px rgba(233, 196, 0, 0.2);
}

.btn-ghost,
.course-btn,
.exam-resume-btn--ghost,
.profile-actions .btn-ghost,
.guardian-notification-item__action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 3rem;
    padding: 0.8rem 1.25rem;
    border: 0;
    border-radius: var(--bee-radius-pill);
    background: rgba(255, 255, 255, 0.88);
    color: var(--bee-copy);
    font-weight: 700;
    box-shadow: inset 0 0 0 1px var(--bee-paper-line);
}

.user-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.5rem 0.65rem 0.5rem 0.5rem;
    border: 0;
    border-radius: var(--bee-radius-pill);
    background: rgba(255, 255, 255, 0.94);
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.06);
}

.user-avatar,
.user-avatar img,
.user-avatar-fallback {
    width: 2.55rem;
    height: 2.55rem;
    border-radius: 50%;
}

.user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(135deg, var(--bee-gold) 0%, var(--bee-gold-soft) 100%);
    color: var(--bee-ink);
}

.user-avatar-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

.user-dropdown {
    margin-top: 0.8rem;
    padding: 0.7rem;
    border-radius: 1.5rem;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(18px);
    box-shadow: var(--bee-shadow-soft);
}

.user-action {
    display: flex;
    align-items: center;
    min-width: 14rem;
    padding: 0.8rem 0.95rem;
    border-radius: 1rem;
    color: var(--bee-copy);
    font-weight: 600;
}

.user-action:hover,
.user-action:focus-visible {
    background: var(--bee-paper-soft);
}

.back-to-top {
    background: var(--bee-ink);
    color: var(--bee-white);
    box-shadow: var(--bee-shadow-soft);
}

.home-hero {
    padding-top: 1rem;
}

.hero-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(25rem, 0.92fr);
    gap: 1.4rem;
    align-items: stretch;
}

.hero-copy {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 34rem;
    padding: 3.25rem;
    border-radius: var(--bee-radius-hero);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(246, 243, 242, 0.92) 100%);
    box-shadow: var(--bee-shadow-soft);
    overflow: hidden;
}

.hero-copy::before {
    content: "";
    position: absolute;
    inset: auto -6rem -6rem auto;
    width: 17rem;
    height: 17rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0));
}

.hero-copy__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 1rem;
}

.hero-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.9rem;
    border-radius: var(--bee-radius-pill);
    background: rgba(255, 215, 0, 0.16);
    color: #705d00;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.hero-copy h1 {
    margin: 0;
    max-width: 12ch;
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
    font-size: clamp(3rem, 4.4vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
    font-weight: 800;
    text-wrap: balance;
}

.hero-copy h1 span {
    display: inline;
    color: var(--bee-ink);
    background: linear-gradient(180deg, transparent 58%, rgba(255, 215, 0, 0.9) 58%);
    padding: 0 0.1em;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.hero-copy p {
    max-width: 34rem;
    margin: 1.35rem 0 0;
    color: var(--bee-copy-soft);
    font-size: 1.04rem;
    line-height: 1.8;
}

.hero-media {
    display: flex;
    min-height: 100%;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 1.75rem;
}

.hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 2rem;
}

.hero-metric {
    padding: 1rem 1.1rem;
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.05);
}

.hero-metric strong {
    display: block;
    font-size: 1.7rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.hero-metric span {
    display: block;
    margin-top: 0.35rem;
    color: var(--bee-copy-soft);
    font-size: 0.85rem;
    font-weight: 600;
}

.hero-slider {
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    min-height: 100%;
    padding: 1rem;
    border-radius: var(--bee-radius-hero);
    background: linear-gradient(145deg, rgba(19, 19, 19, 0.98), rgba(40, 40, 40, 0.92));
    box-shadow: var(--bee-shadow-deep);
}

.hero-slider .slider,
.hero-slider .slider-empty {
    aspect-ratio: auto;
    height: 100%;
    min-height: 31rem;
    min-height: 100%;
    border-radius: calc(var(--bee-radius-hero) - 0.75rem);
    overflow: hidden;
}

.hero-slider .slide,
.hero-slider .slide img {
    width: 100%;
    height: 100%;
}

.hero-slider .slide img {
    object-fit: cover;
}

.slider-control {
    width: 3rem;
    height: 3rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.86);
    color: var(--bee-ink);
    box-shadow: var(--bee-shadow-soft);
}

.slider-control:hover,
.slider-control:focus-visible {
    background: var(--bee-gold);
}

.slider-dot.active {
    width: 2.2rem;
    border-radius: var(--bee-radius-pill);
    background: var(--bee-gold);
}

.home-search {
    position: relative;
    z-index: 4;
    margin-top: -1.5rem;
}

.section-search {
    max-width: 54rem;
    margin: 0 auto;
    padding: 1.2rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(20px);
    box-shadow: var(--bee-shadow-soft);
}

.global-search {
    align-items: center;
    min-height: 4rem;
    padding: 0.55rem 0.6rem 0.55rem 1rem;
    border-radius: var(--bee-radius-pill);
    background: var(--bee-paper-soft);
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.04);
}

.global-search:focus-within {
    box-shadow:
        inset 0 0 0 2px rgba(255, 215, 0, 0.42),
        0 10px 22px rgba(19, 19, 19, 0.06);
}

.home-main {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 1.8rem;
}

.home-section {
    padding: 2.25rem 0;
    border-radius: 2.5rem;
    background: rgba(246, 243, 242, 0.9);
    box-shadow: var(--bee-shadow-soft);
}

.section-heading,
.section-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.75rem;
}

.section-text h2,
.profile-head h1,
.notifications-head h1,
.course-title,
.exam-header h1 {
    margin: 0.8rem 0 0;
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
    color: var(--bee-copy);
    font-size: clamp(2.1rem, 3.2vw, 3.55rem);
    line-height: 1.05;
    letter-spacing: -0.05em;
    font-weight: 800;
}

.section-text p,
.profile-head p,
.notifications-head p,
.exam-header p,
.course-message-card p,
.class-note,
.class-message,
.home-exams-empty {
    margin-top: 0.9rem;
    color: var(--bee-copy-soft);
    line-height: 1.75;
}

.section-kicker,
.profile-sticker-book__chip,
.exam-home-tag,
.outline-lesson-preview-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.45rem 0.85rem;
    border-radius: var(--bee-radius-pill);
    background: rgba(255, 215, 0, 0.16);
    color: #705d00;
    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.stat-pill,
.exam-history-last {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 8rem;
    min-height: 6.2rem;
    padding: 1rem 1.2rem;
    border-radius: 1.6rem;
    background: var(--bee-white);
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.05);
}

.stat-pill strong,
.exam-history-summary-card__value,
.exam-history-item__score-value {
    font-size: 2rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.class-grid,
.course-grid,
.home-exams-grid,
.exam-history-summary {
    display: grid;
    gap: 1.2rem;
}

.class-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.course-grid,
.home-exams-grid,
.exam-history-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.class-card,
.course-card,
.exam-home-card,
.profile-avatar-panel,
.profile-fields,
.profile-sticker-book,
.notifications-shell,
.exam-history-summary-card,
.exam-history-list-card,
.guardian-notification-item,
.course-message-card,
.auth-panel,
.auth-hero-card {
    border: 0;
    border-radius: var(--bee-radius-xl);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: var(--bee-shadow-soft);
}

.class-card,
.course-card,
.exam-home-card {
    overflow: hidden;
}

.class-cover,
.course-thumb-wrapper,
.exam-home-card__thumb {
    padding: 1rem 1rem 0;
}

.class-cover img,
.course-thumb,
.exam-home-card__thumb img {
    width: 100%;
    height: 15rem;
    object-fit: cover;
    border-radius: 1.5rem;
}

.class-card-content,
.course-body,
.exam-home-card__body {
    padding: 1.3rem;
}

.class-body h3,
.course-title,
.exam-home-card__body h3,
.guardian-notification-item h3,
.exam-history-item__main strong {
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
    font-size: 1.2rem;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -0.03em;
}

.course-level,
.exam-home-card__info span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.8rem;
    border-radius: var(--bee-radius-pill);
    background: rgba(255, 215, 0, 0.16);
    color: #705d00;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pagination ul,
.home-exams-categories,
.profile-page-tabs,
.exam-history-mode-tabs,
.notifications-tablist,
.course-player-resource-tabs,
.course-todo-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding: 0.5rem;
    border-radius: var(--bee-radius-pill);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.04);
}

.pagination ul {
    justify-content: center;
    list-style: none;
}

.pagination a,
.pagination span.current,
.exam-category-pill,
.profile-page-tab,
.exam-history-mode-tab,
.notifications-tab,
.course-player-resource-tab,
.course-todo-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.9rem;
    padding: 0.75rem 1rem;
    border: 0;
    border-radius: var(--bee-radius-pill);
    background: transparent;
    color: var(--bee-copy-soft);
    font-weight: 700;
    white-space: nowrap;
}

.pagination span.current,
.exam-category-pill.is-active,
.profile-page-tab.is-active,
.exam-history-mode-tab.is-active,
.notifications-tab.is-active,
.course-player-resource-tab.is-active,
.course-todo-tab.is-active {
    background: var(--bee-white);
    color: var(--bee-copy);
    box-shadow: var(--bee-shadow-soft);
}

.site-footer {
    margin-top: 2rem;
    padding: 2.5rem 0 0;
    background: none;
    color: var(--bee-copy);
}

.site-footer::before,
.site-footer::after {
    content: none;
}

.footer-content {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(15rem, 0.7fr);
    gap: 1.25rem;
}

.footer-card {
    padding: 2rem;
    border-radius: var(--bee-radius-xl);
    border: 0;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(246, 243, 242, 0.9));
    box-shadow: var(--bee-shadow-soft);
}

.footer-card--contact {
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.32), transparent 28%),
        linear-gradient(135deg, rgba(255, 250, 225, 0.96), rgba(255, 236, 144, 0.78));
    color: var(--bee-copy);
}

.footer-card--rights {
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 0.15rem;
    text-align: center;
    color: var(--bee-white);
    background:
        radial-gradient(circle at top left, rgba(255, 215, 0, 0.16), transparent 26%),
        linear-gradient(150deg, #101010 0%, #1a1a1a 100%);
}

.footer-contact-label,
.footer-contact,
.footer-phone-link,
.footer-contact-name,
.footer-rights-brand {
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
}

.footer-contact-label {
    margin: 0;
    color: rgba(19, 19, 19, 0.58);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.footer-contact {
    margin: 0.4rem 0 0;
    color: var(--bee-copy);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.65;
}

.footer-phone-link {
    color: var(--bee-ink);
    border-bottom: 2px solid rgba(19, 19, 19, 0.12);
}

.footer-phone-link:hover,
.footer-phone-link:focus-visible {
    color: var(--bee-ink);
    border-bottom-color: rgba(255, 215, 0, 0.72);
}

.footer-contact-name {
    color: rgba(19, 19, 19, 0.64);
}

.footer-social-link {
    border: 0;
    background: rgba(255, 255, 255, 0.84);
    color: var(--bee-copy);
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.06);
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
    background: var(--bee-white);
    color: var(--bee-ink);
    box-shadow:
        inset 0 0 0 1px rgba(255, 215, 0, 0.42),
        var(--bee-shadow-soft);
}

.footer-social-icon {
    color: var(--bee-ink);
    background: rgba(255, 215, 0, 0.2);
}

.footer-rights-year {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.footer-rights-brand {
    margin: 0.2rem 0 0;
    font-size: 1.05rem;
    font-weight: 800;
}

.footer-rights {
    margin: 0;
    color: rgba(255, 255, 255, 0.74);
}

.auth-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 2rem 0 3rem;
}

.auth-shell {
    display: grid;
    grid-template-columns: minmax(19rem, 0.95fr) minmax(20rem, 1.05fr);
    width: min(1180px, calc(100% - 2rem));
    border-radius: 2.5rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.74);
    box-shadow: var(--bee-shadow-deep);
    backdrop-filter: blur(24px);
}

.auth-hero {
    position: relative;
    padding: 3rem;
    color: var(--bee-white);
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.3), transparent 26%),
        linear-gradient(160deg, #111111 0%, #1f1f1f 58%, #2b2b2b 100%);
}

.auth-tag {
    display: inline-flex;
    padding: 0.5rem 0.95rem;
    border-radius: var(--bee-radius-pill);
    background: rgba(255, 215, 0, 0.18);
    color: var(--bee-gold);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.auth-hero h1 {
    margin: 1.1rem 0 0;
    max-width: 9ch;
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
    font-size: clamp(2.3rem, 4.4vw, 4.4rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
    font-weight: 800;
}

.auth-hero p,
.auth-panel-header p,
.auth-field-hint {
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.8;
}

.auth-panel {
    padding: 3rem;
}

.auth-form input,
.auth-form textarea,
.auth-form select,
.profile-field input,
.profile-field textarea,
.profile-sticker-book__filter-field select,
.profile-sticker-book__filter-field input,
.course-player-review-item,
.course-todo-item,
.outline-lesson,
.option-item,
body:not(.exam-page) .read-vocab-input,
body:not(.exam-page) .read-wordbank-input,
body:not(.exam-page) .read-scene-yn-input,
body:not(.exam-page) .read-letter-sort-input {
    width: 100%;
    border: 0;
    border-radius: 1.3rem;
    background: var(--bee-paper-soft);
    color: var(--bee-copy);
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.04);
}

.auth-form input,
.auth-form select,
.profile-field input,
.profile-sticker-book__filter-field select,
.profile-sticker-book__filter-field input {
    min-height: 3.2rem;
    padding: 0.95rem 1rem;
}

.auth-form textarea,
.profile-field textarea {
    min-height: 8rem;
    padding: 1rem;
    resize: vertical;
}

.profile-main,
.notifications-main,
.course-shell,
.exam-main {
    padding-top: 1.4rem;
}

.profile-shell,
.notifications-shell,
.course-shell-head,
.exam-header,
.exam-panel,
.course-player-card,
.course-outline-sheet,
.course-todo-dialog,
.course-confirm-card,
.profile-password-modal__dialog {
    border-radius: 2.5rem;
    box-shadow: var(--bee-shadow-soft);
}

.profile-shell,
.notifications-shell,
.course-shell-head,
.exam-header {
    padding: 2rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.95), rgba(246, 243, 242, 0.86));
}

.profile-grid {
    display: grid;
    grid-template-columns: minmax(16rem, 0.36fr) minmax(0, 0.64fr);
    gap: 1.4rem;
    margin-top: 1.5rem;
}

.profile-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    padding: 1.5rem;
}

.profile-avatar-panel {
    padding: 1.5rem;
}

.profile-field--full,
.profile-password-panel {
    grid-column: 1 / -1;
}

.profile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    justify-content: flex-end;
    margin-top: 1.4rem;
}

.guardian-notification-list,
.exam-history-list,
.profile-sticker-book__list,
.course-player-attachments-list,
.course-player-review-list,
.course-todo-list,
.outline-lessons {
    display: grid;
    gap: 0.8rem;
    padding: 0;
    margin: 1rem 0 0;
    list-style: none;
}

.guardian-notification-item,
.exam-history-summary-card,
.exam-history-list-card,
.profile-sticker-book {
    padding: 1.4rem;
}

.course-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(22rem, 0.88fr);
    gap: 1.4rem;
}

.course-player-card {
    padding: 1.2rem;
}

.course-player-title {
    margin: 0;
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
    font-size: clamp(1.8rem, 2.5vw, 3rem);
    line-height: 1.06;
    letter-spacing: -0.05em;
    font-weight: 800;
}

.course-shell-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.2rem;
    align-items: end;
}

.course-shell-head__main {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.course-back {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 3rem;
    padding: 0.75rem 1rem;
    border-radius: var(--bee-radius-pill);
    background: rgba(255, 255, 255, 0.84);
    color: #9e7600;
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.06);
    font-weight: 700;
}

.course-back:hover,
.course-back:focus-visible {
    background: var(--bee-white);
    color: var(--bee-copy);
}

.course-title {
    max-width: 15ch;
    font-size: clamp(2.55rem, 4vw, 4.5rem);
}

.course-video-wrapper {
    margin-top: 1rem;
    border-radius: 2rem;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(255, 215, 0, 0.2), transparent 24%),
        linear-gradient(180deg, #111111 0%, #262626 100%);
    box-shadow: var(--bee-shadow-soft);
}

.course-video-wrapper iframe,
.course-video-wrapper video,
.course-video-placeholder,
.course-video-locked,
.course-video-fallback {
    min-height: 32rem;
}

.course-video-placeholder,
.course-video-locked,
.course-video-fallback {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding: 2rem;
    color: rgba(255, 255, 255, 0.86);
    text-align: center;
}

.course-outline-panel {
    position: sticky;
    top: 6.4rem;
    align-self: start;
}

.course-outline-sheet,
.course-todo-dialog,
.course-confirm-card {
    padding: 1.2rem;
    background: rgba(255, 255, 255, 0.96);
}

.outline-lesson.is-active,
.outline-lesson.is-watched,
.course-player-review-item:hover,
.course-todo-item:hover {
    background: var(--bee-white);
    box-shadow: var(--bee-shadow-soft);
}

.course-outline-fab {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 82;
    box-shadow: var(--bee-shadow-deep);
}

.exam-shell {
    width: min(calc(100% - 2rem), 1440px);
    margin: 0 auto;
}

.exam-layout {
    gap: 1.2rem;
    margin-top: 1rem;
}

.question-card,
.section-tab,
.mobile-exam-bar,
.question-sidebar {
    border-radius: 1.5rem !important;
}

.question-card {
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: var(--bee-shadow-soft) !important;
    border: 0 !important;
}

.section-tab {
    background: rgba(255, 255, 255, 0.74) !important;
    color: var(--bee-copy-soft) !important;
    border: 0 !important;
}

.section-tab.active,
.section-tab[aria-selected="true"],
.option-item.is-selected,
.option-item:has(input:checked) {
    background: rgba(255, 215, 0, 0.16) !important;
    color: var(--bee-copy) !important;
    box-shadow: inset 0 0 0 2px rgba(255, 215, 0, 0.38);
}

.mobile-exam-bar,
.question-sidebar {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(18px);
    box-shadow: var(--bee-shadow-soft);
}

@media (max-width: 1180px) {
    .hero-shell,
    .course-layout,
    .profile-grid,
    .footer-content,
    .auth-shell {
        grid-template-columns: 1fr;
    }

    .course-grid,
    .home-exams-grid,
    .exam-history-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .site-header,
    .site-header.exam-page-header {
        grid-template-columns: auto auto;
        justify-content: space-between;
    }

    .mobile-nav-toggle {
        display: inline-flex;
        order: 3;
    }

    .main-nav {
        grid-column: 1 / -1;
        order: 4;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
    }

    .hero-copy,
    .auth-hero,
    .auth-panel,
    .course-shell-head,
    .profile-shell,
    .notifications-shell,
    .exam-header {
        padding: 1.4rem;
    }

    .hero-metrics,
    .class-grid,
    .course-grid,
    .home-exams-grid,
    .profile-fields,
    .exam-history-summary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .container {
        width: min(var(--bee-max-width), calc(100% - 1rem));
    }

    .site-header,
    .site-header.exam-page-header {
        padding: 0.8rem;
        border-radius: 1.5rem;
    }

    .hero-copy h1,
    .section-text h2,
    .profile-head h1,
    .notifications-head h1,
    .course-title,
    .exam-header h1,
    .auth-hero h1 {
        font-size: 2.2rem;
    }

    .hero-copy {
        min-height: 0;
    }

    .class-cover img,
    .course-thumb,
    .exam-home-card__thumb img {
        height: 12rem;
    }

    .course-video-wrapper iframe,
    .course-video-wrapper video,
    .course-video-placeholder,
    .course-video-locked,
    .course-video-fallback {
        min-height: 18rem;
    }

    .course-outline-fab {
        left: 0.75rem;
        right: 0.75rem;
        justify-content: space-between;
    }
}

/* Reference alignment with legacy design reference */
body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-page,
body.post-page,
body.gallery-page,
body.notifications-page {
    background: var(--bee-paper);
}

body.home-page::before,
body.home-page::after,
body.course-page::before,
body.course-page::after,
body.exam-page::before,
body.exam-page::after,
body.auth-body::before,
body.auth-body::after,
body.profile-page::before,
body.profile-page::after,
body.post-page::before,
body.post-page::after,
body.gallery-page::before,
body.gallery-page::after,
body.notifications-page::before,
body.notifications-page::after {
    content: none;
}

.container {
    width: min(var(--bee-max-width), calc(100% - 3rem));
}

.site-header.container,
.site-header.exam-page-header.container,
.site-header.exam-page-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 90;
    width: auto;
    max-width: none;
    margin: 0;
    padding:
        1.15rem
        max(1.5rem, calc((100vw - var(--bee-max-width)) / 2 + 1.5rem))
        1rem;
    border-radius: 0;
    background: rgba(255, 246, 204, 0.94);
    box-shadow: 0 20px 40px rgba(122, 94, 16, 0.08);
    backdrop-filter: blur(20px);
    font-family: "Nunito Sans", system-ui, sans-serif;
}

.site-header.has-open-user-menu,
.site-header.exam-page-header.has-open-user-menu,
.site-header.container.has-open-user-menu,
.site-header.exam-page-header.container.has-open-user-menu {
    z-index: 1600 !important;
    overflow: visible !important;
}

.site-header.has-open-user-menu .header-actions,
.site-header.exam-page-header.has-open-user-menu .header-actions {
    z-index: 1601;
}

.site-header.has-open-user-menu .user-menu.is-open,
.site-header.exam-page-header.has-open-user-menu .user-menu.is-open {
    z-index: 1602;
}

.site-header.has-open-user-menu .user-dropdown,
.site-header.exam-page-header.has-open-user-menu .user-dropdown {
    z-index: 1603 !important;
}

.site-header::after,
.site-header.exam-page-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: rgba(19, 19, 19, 0.06);
}

.logo-block,
.logo-link {
    display: inline-flex;
    align-items: center;
}

.site-logo {
    height: 2.6rem;
}

.main-nav {
    gap: 1.75rem;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.main-nav a {
    min-height: auto;
    padding: 0 0 0.38rem;
    border-radius: 0;
    background: transparent;
    border-bottom: 2px solid transparent;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.95rem;
    font-weight: 700;
}

.main-nav a:hover,
.main-nav a:focus-visible {
    background: transparent;
    color: var(--bee-copy);
    border-bottom-color: rgba(255, 215, 0, 0.88);
}

.btn-login {
    min-height: 3rem;
    padding: 0.9rem 1.4rem;
    background: var(--bee-ink);
    color: var(--bee-white);
    box-shadow: none;
}

.btn-primary,
.btn.primary,
.course-btn.primary,
.auth-submit,
.exam-home-action,
.course-action,
.exam-resume-btn--primary,
.course-todo-trigger {
    background: var(--bee-gold);
    color: var(--bee-ink);
    box-shadow: none;
}

body.auth-body .auth-submit {
    background: var(--bee-gold) !important;
    color: var(--bee-ink) !important;
    box-shadow: none !important;
}

.btn-ghost,
.course-btn,
.exam-resume-btn--ghost,
.profile-actions .btn-ghost,
.guardian-notification-item__action-btn {
    background: transparent;
    color: var(--bee-copy);
    box-shadow: inset 0 0 0 1.5px rgba(255, 215, 0, 0.72);
}

.home-hero,
.course-shell,
.exam-main,
.profile-main,
.notifications-main {
    padding-top: 8.2rem;
}

.home-hero {
    padding-bottom: 0;
}

.hero-shell {
    grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 0.9fr);
    gap: 3.5rem;
    align-items: end;
}

.hero-copy {
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.hero-copy::before {
    content: none;
}

.hero-chip,
.section-kicker,
.profile-sticker-book__chip,
.exam-home-tag,
.outline-lesson-preview-badge,
.auth-tag {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--bee-gold-deep);
    box-shadow: none;
    font-size: 0.74rem;
    letter-spacing: 0.2em;
}

.hero-copy h1 {
    max-width: 10ch;
    font-size: clamp(3.25rem, 5.5vw, 6rem);
    line-height: 0.95;
    letter-spacing: -0.065em;
}

.hero-copy h1 span {
    color: var(--bee-gold-deep);
    background: none;
    padding: 0;
}

.hero-copy p {
    max-width: 39rem;
    font-size: 1.15rem;
    line-height: 1.7;
}

.hero-actions,
.hero-metrics {
    margin-top: 1.5rem;
}

.hero-metric {
    border-radius: 1.35rem;
    background: var(--bee-white);
    box-shadow: 0 16px 32px rgba(19, 19, 19, 0.06);
}

.hero-media {
    align-self: start;
}

.hero-slider {
    padding: 0.85rem;
    border-radius: 1.6rem;
    background: var(--bee-white);
    box-shadow: 0 20px 40px rgba(19, 19, 19, 0.06);
}

.hero-slider .slider,
.hero-slider .slider-empty {
    min-height: 26rem;
    border-radius: 1.1rem;
}

.slider-control {
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 12px 24px rgba(19, 19, 19, 0.08);
}

.home-search {
    margin-top: 2rem;
}

.section-search {
    max-width: none;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.global-search {
    min-height: 4.25rem;
    padding: 0.7rem 1rem 0.7rem 1.2rem;
    background: var(--bee-paper-soft);
    box-shadow: none;
}

.global-search:focus-within {
    box-shadow: inset 0 0 0 2px rgba(255, 215, 0, 0.38);
}

.home-main {
    gap: 5rem;
    padding-top: 3rem;
}

.home-section {
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.section-heading,
.section-intro {
    position: relative;
    align-items: end;
    margin-bottom: 2.25rem;
    padding-top: 2rem;
}

.section-heading::before,
.section-intro::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: rgba(19, 19, 19, 0.08);
}

.section-text h2,
.profile-head h1,
.notifications-head h1,
.course-title,
.exam-header h1,
.auth-hero h1,
.course-player-title {
    font-size: clamp(2.6rem, 4vw, 4.9rem);
    line-height: 0.98;
    letter-spacing: -0.065em;
}

.class-card,
.course-card,
.exam-home-card,
.profile-avatar-panel,
.profile-fields,
.profile-sticker-book,
.notifications-shell,
.exam-history-summary-card,
.exam-history-list-card,
.guardian-notification-item,
.course-message-card,
.auth-panel,
.auth-hero-card,
.course-player-card,
.course-outline-sheet,
.course-todo-dialog,
.course-confirm-card,
.profile-password-modal__dialog,
.question-sidebar,
.question-card {
    border-radius: 1.5rem;
    background: var(--bee-white);
    box-shadow: 0 20px 40px rgba(19, 19, 19, 0.06);
}

.class-cover,
.course-thumb-wrapper,
.exam-home-card__thumb {
    padding: 0;
}

.class-cover img,
.course-thumb,
.exam-home-card__thumb img {
    height: 13.5rem;
    border-radius: 1.5rem 1.5rem 0 0;
}

.class-card-content,
.course-body,
.exam-home-card__body {
    padding: 1.5rem;
}

.course-grid,
.home-exams-grid,
.class-grid,
.exam-history-summary {
    gap: 1.5rem;
}

.home-exams-categories,
.profile-page-tabs,
.exam-history-mode-tabs,
.notifications-tablist,
.course-player-resource-tabs,
.course-todo-tabs {
    padding: 0.35rem;
    background: var(--bee-paper-soft);
    box-shadow: none;
}

.profile-page-tab.is-active,
.exam-history-mode-tab.is-active,
.notifications-tab.is-active,
.course-player-resource-tab.is-active,
.course-todo-tab.is-active,
.exam-category-pill.is-active {
    box-shadow: 0 10px 20px rgba(19, 19, 19, 0.06);
}

.site-footer {
    margin-top: 5rem;
}

.footer-content {
    gap: 1.5rem;
}

.auth-wrapper {
    padding: 5rem 1.5rem 4rem;
}

.auth-shell {
    width: min(1180px, 100%);
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 20px 40px rgba(19, 19, 19, 0.06);
}

.auth-hero {
    color: var(--bee-copy);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 243, 242, 0.98));
    border-right: 1px solid rgba(19, 19, 19, 0.06);
}

.auth-hero p,
.auth-panel-header p,
.auth-field-hint {
    color: var(--bee-copy-soft);
}

.auth-hero-card {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.16), rgba(255, 255, 255, 0.96));
    box-shadow: none;
}

.auth-form input,
.auth-form textarea,
.auth-form select,
.profile-field input,
.profile-field textarea,
.profile-sticker-book__filter-field select,
.profile-sticker-book__filter-field input,
.course-player-review-item,
.course-todo-item,
.outline-lesson,
.option-item,
.read-wordbank-input,
.read-scene-yn-input,
.read-letter-sort-input {
    background: var(--bee-paper-soft);
    box-shadow: none;
}

input.read-vocab-input {
    background: #ffffff;
    box-shadow: none;
}

.auth-submit {
    width: 100%;
}

.course-shell-head,
.exam-header,
.profile-shell,
.notifications-shell {
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}

.course-shell-head {
    align-items: start;
    margin-bottom: 2rem;
}

.course-back {
    min-height: auto;
    padding: 0;
    background: transparent;
    color: rgba(28, 27, 27, 0.58);
    box-shadow: none;
}

.course-back:hover,
.course-back:focus-visible {
    background: transparent;
    color: var(--bee-copy);
}

.course-layout {
    gap: 2rem;
}

.course-title {
    max-width: 12ch;
    color: var(--bee-copy) !important;
    font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
    font-size: clamp(2.35rem, 3.8vw, 4.1rem);
}

.course-player-card {
    padding: 1.5rem;
}

.course-video-wrapper {
    background: var(--bee-paper-soft);
    box-shadow: none;
}

.course-video-wrapper iframe,
.course-video-wrapper video,
.course-video-placeholder,
.course-video-locked,
.course-video-fallback {
    min-height: 30rem;
}

.course-outline-panel {
    top: 6.8rem;
}

.course-shell,
.exam-main {
    padding-top: 9rem;
}

.exam-shell {
    width: min(var(--bee-max-width), calc(100% - 2rem));
}

.exam-header__code {
    display: inline-flex;
    align-items: center;
    border-radius: var(--bee-radius-pill);
    background: var(--bee-ink);
    color: var(--bee-gold);
    padding: 0.65rem 1rem;
}

.question-card,
.question-card.answered,
.question-card.flagged,
.question-card.is-correct,
.question-card.is-wrong,
.read-group-wrapper > .question-card,
.read-group-wrapper > .question-card.question-card--yesno,
.read-group-wrapper > .question-card.question-card--vocab,
.read-group-wrapper > .question-card.question-card--wordbank,
.read-group-wrapper > .question-card.question-card--rowbank,
.read-group-wrapper > .question-card.question-card--scene-yesno,
.read-group-wrapper > .question-card.question-card--scene-choice,
.read-group-wrapper > .question-card.question-card--dialog-bank,
.read-group-wrapper > .question-card.question-card--letter-sort {
    background: var(--bee-white) !important;
    border: 0 !important;
    box-shadow: 0 16px 32px rgba(19, 19, 19, 0.05) !important;
}

.question-card:hover,
.question-card:focus-within,
.question-card.is-jump-highlight {
    background: var(--bee-white) !important;
    box-shadow: 0 20px 40px rgba(19, 19, 19, 0.08) !important;
}

.section-tabs,
.question-sidebar-pinned {
    background: transparent;
}

.section-tab {
    box-shadow: none !important;
}

.section-tab.active,
.section-tab[aria-selected="true"] {
    background: var(--bee-white) !important;
    box-shadow: 0 10px 20px rgba(19, 19, 19, 0.06) !important;
}

.media-block,
.question-text--boxed,
.speak-card,
.read-scene-yn-overview,
.read-scene-choice-overview,
.read-scene-part6-section,
.read-scene-yn-row-passage,
.read-scene-yn-row-image,
.read-scene-choice-image,
.course-player-source-note {
    border: 0 !important;
    border-radius: 1.25rem !important;
    background: var(--bee-paper-soft) !important;
    box-shadow: none !important;
}

.question-head,
.question-body,
.read-group-wrapper > .read-scene-yn-group-intro,
.read-group-wrapper > .read-scene-choice-group-intro,
.read-group-wrapper > .read-yesno-group-intro,
.read-group-wrapper > .read-vocab-group-intro,
.read-group-wrapper > .read-wordbank-group-intro,
.read-group-wrapper > .read-rowbank-group-intro,
.read-group-wrapper > .read-dialog-bank-group-intro,
.read-group-wrapper > .read-letter-sort-group-intro,
.exam-modal-card,
.exam-modal-hero,
.exam-modal-summary,
.exam-modal-overview-item,
.exam-modal-section-score,
.exam-confirm-card {
    background: var(--bee-white) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.exam-modal-card,
.exam-confirm-card {
    border-radius: 1.5rem !important;
    box-shadow: 0 24px 48px rgba(19, 19, 19, 0.12) !important;
}

body.exam-page .exam-modal-card::before,
body.exam-page .exam-confirm-card::before,
body.exam-page .exam-confirm-card--timeout::before,
body.exam-page .exam-confirm-card--notice::before {
    background: linear-gradient(90deg, var(--bee-gold-deep) 0%, var(--bee-gold) 54%, var(--bee-gold-soft) 100%) !important;
}

.exam-modal-hero,
.exam-modal-summary,
.exam-modal-overview-item,
.exam-modal-section-score {
    border-radius: 1.25rem !important;
}

@media (max-width: 900px) {
    .container {
        width: min(var(--bee-max-width), calc(100% - 1.5rem));
    }

    .site-header.container,
    .site-header.exam-page-header.container,
    .site-header.exam-page-header {
        grid-template-columns: auto auto;
        gap: 0.75rem;
        padding: 0.95rem 1rem;
    }

    .main-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 1rem;
        right: 1rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 1rem;
        margin-top: 0.75rem;
        border-radius: 1rem;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 20px 40px rgba(19, 19, 19, 0.08);
    }

    .main-nav.is-open {
        display: flex;
    }

    .main-nav a {
        width: 100%;
        padding-bottom: 0.2rem;
    }

    .mobile-nav-toggle {
        display: inline-flex;
        order: 2;
    }

    .header-actions {
        order: 3;
    }

    .hero-shell,
    .course-layout,
    .auth-shell {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .course-video-wrapper iframe,
    .course-video-wrapper video,
    .course-video-placeholder,
    .course-video-locked,
    .course-video-fallback {
        min-height: 21rem;
    }
}

@media (max-width: 640px) {
    .home-hero,
    .course-shell,
    .exam-main,
    .profile-main,
    .notifications-main {
        padding-top: 7rem;
    }

    .hero-copy h1,
    .section-text h2,
    .profile-head h1,
    .notifications-head h1,
    .course-title,
    .exam-header h1,
    .auth-hero h1,
    .course-player-title {
        font-size: 2.7rem;
    }

    .course-shell,
    .exam-main {
        padding-top: 8rem;
    }

    .hero-slider .slider,
    .hero-slider .slider-empty {
        min-height: 18rem;
    }
}

/* Final alignment with legacy design reference */
body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-page,
body.post-page,
body.gallery-page,
body.notifications-page {
    background: linear-gradient(180deg, #ffffff 0%, var(--bee-paper) 100%) !important;
}

body.home-page::before,
body.home-page::after,
body.course-page::before,
body.course-page::after,
body.exam-page::before,
body.exam-page::after,
body.auth-body::before,
body.auth-body::after,
body.profile-page::before,
body.profile-page::after,
body.post-page::before,
body.post-page::after,
body.gallery-page::before,
body.gallery-page::after,
body.notifications-page::before,
body.notifications-page::after {
    content: none !important;
    display: none !important;
}

.site-header.container,
.site-header.exam-page-header.container,
.site-header.exam-page-header {
    background: rgba(255, 255, 255, 0.84) !important;
    box-shadow: 0 16px 32px rgba(19, 19, 19, 0.05) !important;
}

.main-nav a,
body.mobile-nav-ready .main-nav a,
body.mobile-nav-ready .main-nav a[href*="#khoa-hoc"],
body.mobile-nav-ready .main-nav a[href*="#lop-hoc"],
body.mobile-nav-ready .main-nav a:last-child {
    padding: 0 0 0.38rem !important;
    border: 0 !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(28, 27, 27, 0.62) !important;
    box-shadow: none !important;
}

.main-nav a:hover,
.main-nav a:focus-visible,
body.mobile-nav-ready .main-nav a:hover,
body.mobile-nav-ready .main-nav a:focus-visible,
body.mobile-nav-ready .main-nav a[href*="#khoa-hoc"]:hover,
body.mobile-nav-ready .main-nav a[href*="#khoa-hoc"]:focus-visible,
body.mobile-nav-ready .main-nav a[href*="#lop-hoc"]:hover,
body.mobile-nav-ready .main-nav a[href*="#lop-hoc"]:focus-visible {
    background: transparent !important;
    color: var(--bee-copy) !important;
    border-bottom-color: rgba(255, 215, 0, 0.88) !important;
}

.btn-login,
.user-toggle {
    background: var(--bee-ink) !important;
    color: var(--bee-gold) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.btn-primary,
.btn.primary,
.course-btn.primary,
.auth-submit,
.exam-home-action,
.course-action,
.course-todo-trigger,
.section-switch-button,
.exam-resume-btn--primary,
.pwa-install-btn,
.back-to-top {
    background: var(--bee-gold) !important;
    color: var(--bee-ink) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.btn-ghost,
.course-btn,
.exam-resume-btn--ghost,
.profile-actions .btn-ghost,
.guardian-notification-item__action-btn,
.auth-body:not(.auth-admin) .auth-inline-btn,
.auth-body:not(.auth-admin) .auth-selection-item__btn {
    background: transparent !important;
    color: var(--bee-copy) !important;
    border: 1.5px solid rgba(255, 215, 0, 0.72) !important;
    box-shadow: none !important;
}

.home-hero {
    padding-top: 9rem;
}

.hero-shell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    grid-template-columns: minmax(0, 1.06fr) minmax(24rem, 0.94fr);
    gap: 3rem;
    align-items: start;
}

.hero-copy h1 {
    max-width: 11.5ch;
    font-size: clamp(3.05rem, 5vw, 5.7rem);
}

.hero-copy p {
    max-width: 35rem;
    color: rgba(28, 27, 27, 0.66);
}

.hero-metric,
.stat-pill,
.class-card,
.course-card,
.exam-home-card,
.profile-avatar-panel,
.profile-fields,
.profile-sticker-book,
.notifications-shell,
.exam-history-summary-card,
.exam-history-list-card,
.guardian-notification-item,
.course-message-card,
.auth-panel,
.auth-shell,
.auth-hero-card,
.course-player-card,
.course-outline-sheet,
.course-todo-dialog,
.course-confirm-card,
.profile-password-modal__dialog,
.question-sidebar,
.timer-card,
.exam-panel,
.exam-section,
.question-card,
.read-group-wrapper > .question-card,
.listen-group-wrapper > .question-card.question-card--listen-drag-names,
.speak-group-wrapper > .question-card.question-card--speak {
    background: var(--bee-white) !important;
    background-image: none !important;
    border: 1px solid rgba(19, 19, 19, 0.06) !important;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.05) !important;
}

.hero-slider,
.hero-slider .slider,
.hero-slider .slider-empty,
.global-search,
.course-video-wrapper,
.course-player-source-note,
.media-block,
.question-text--boxed,
.speak-card,
.read-scene-yn-overview,
.read-scene-choice-overview,
.read-scene-part6-section,
.read-scene-yn-row-passage,
.read-scene-yn-row-image,
.read-scene-choice-image,
.auth-body:not(.auth-admin) .auth-hero-card {
    background: var(--bee-paper-soft) !important;
    background-image: none !important;
    border-color: rgba(19, 19, 19, 0.05) !important;
    box-shadow: none !important;
}

.home-main {
    gap: 4.5rem;
}

.section-heading::before,
.section-intro::before {
    background: rgba(19, 19, 19, 0.09) !important;
}

.section-text h2,
.profile-head h1,
.notifications-head h1,
.course-shell-head .course-title,
.exam-header h1,
.auth-hero h1,
.course-player-title {
    color: var(--bee-copy) !important;
    font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
    letter-spacing: -0.065em !important;
}

.course-shell-head__main {
    max-width: 44rem;
}

.course-shell-head .course-title {
    font-size: clamp(2.6rem, 4vw, 4.8rem) !important;
}

.course-back {
    color: rgba(28, 27, 27, 0.58) !important;
}

.course-outline-sheet {
    background: var(--bee-white) !important;
}

.outline-lesson {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.outline-lesson.is-active,
.outline-lesson.is-watched,
.outline-lesson:hover,
.outline-lesson:focus-within {
    background: var(--bee-paper-soft) !important;
    box-shadow: none !important;
}

.outline-lesson-go,
.outline-lesson-attachment-icon,
.outline-lesson-review-icon,
.course-outline-close,
.course-outline-scroll-bottom {
    color: var(--bee-copy) !important;
}

.auth-body:not(.auth-admin) {
    background: linear-gradient(180deg, #ffffff 0%, var(--bee-paper) 100%) !important;
}

.auth-body:not(.auth-admin) .auth-shell {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(19, 19, 19, 0.06) !important;
    box-shadow: 0 20px 40px rgba(19, 19, 19, 0.06) !important;
}

.auth-body:not(.auth-admin) .auth-hero {
    background: linear-gradient(180deg, #ffffff 0%, var(--bee-paper-soft) 100%) !important;
    border-right: 1px solid rgba(19, 19, 19, 0.06) !important;
}

.auth-body:not(.auth-admin) .auth-form input {
    background: var(--bee-paper-soft) !important;
    border-color: rgba(255, 215, 0, 0.38) !important;
    box-shadow: none !important;
}

.auth-body:not(.auth-admin) .auth-form input:focus {
    border-color: rgba(255, 215, 0, 0.72) !important;
    box-shadow: 0 0 0 4px rgba(255, 215, 0, 0.14) !important;
}

.auth-body:not(.auth-admin) .auth-footer {
    background: var(--bee-ink) !important;
    color: rgba(255, 255, 255, 0.82) !important;
    border-color: rgba(19, 19, 19, 0.06) !important;
}

.course-shell,
.exam-shell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.exam-main {
    padding-top: 9.2rem;
}

.exam-shell {
    width: min(var(--bee-max-width), calc(100% - 3rem));
}

.exam-header {
    background: linear-gradient(180deg, rgba(255, 247, 206, 0.82), rgba(255, 249, 236, 0.96)) !important;
    border: 1px solid rgba(255, 215, 0, 0.28) !important;
    box-shadow: none !important;
}

.exam-header__code {
    background: var(--bee-ink) !important;
    color: var(--bee-gold) !important;
}

.timer-card {
    background: var(--bee-paper-soft) !important;
    box-shadow: none !important;
}

.timer-status-badge,
.tab-count,
.tab-time,
.question-grid-part-label,
.question-index,
.legend-dot,
.btn-inline-score {
    box-shadow: none !important;
}

.section-tab,
.question-index,
.question-grid-part-label,
.btn-inline-score,
.timer-status-badge {
    background: var(--bee-white) !important;
    color: var(--bee-copy) !important;
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
}

.section-tab.active,
.section-tab.completed,
.question-grid-part-label.is-active-part {
    background: var(--bee-gold) !important;
    color: var(--bee-ink) !important;
    border-color: rgba(255, 215, 0, 0.84) !important;
}

body .question-index.answered {
    background: linear-gradient(180deg, #66cb75, #43b057) !important;
    color: #ffffff !important;
    border-color: #43b057 !important;
}

body .question-index.flagged {
    background: linear-gradient(180deg, rgba(255, 242, 197, 0.98), rgba(255, 222, 114, 0.96)) !important;
    color: #7a5400 !important;
    border-color: rgba(217, 164, 32, 0.72) !important;
}

.question-card,
.read-group-wrapper > .question-card,
.listen-group-wrapper > .question-card.question-card--listen-drag-names,
.speak-group-wrapper > .question-card.question-card--speak {
    --question-card-hover-bg: var(--bee-white);
    --question-card-hover-border: rgba(255, 215, 0, 0.62);
    --question-card-hover-glow: rgba(255, 215, 0, 0.14);
}

.question-head,
.question-body,
.listen-group-wrapper,
.listen-group-wrapper > .listen-group-shared-panel,
.listen-group-wrapper > .listen-group-shared-sticky-stack,
.listen-group-wrapper > .listen-group-sticky-header,
.read-group-wrapper > .read-scene-yn-group-intro,
.read-group-wrapper > .read-scene-choice-group-intro,
.read-group-wrapper > .read-yesno-group-intro,
.read-group-wrapper > .read-vocab-group-intro,
.read-group-wrapper > .read-wordbank-group-intro,
.read-group-wrapper > .read-rowbank-group-intro,
.read-group-wrapper > .read-dialog-bank-group-intro,
.read-group-wrapper > .read-letter-sort-group-intro {
    background: var(--bee-white) !important;
    background-image: none !important;
}

body.exam-page .listen-group-wrapper,
body.exam-page .listen-group-wrapper > .listen-group-shared-panel,
body.exam-page .listen-group-wrapper > .listen-group-shared-sticky-stack,
body.exam-page .listen-group-wrapper > .question-card.question-card--listen-drag-names,
body.exam-page .listen-group-wrapper > .question-card.question-card--listen-drag-names .question-head,
body.exam-page .question-text--boxed,
body.exam-page .media-audio--sticky,
body.exam-page #part-listen .media-audio--sticky {
    background: var(--bee-white) !important;
    background-image: none !important;
    color: var(--bee-copy) !important;
    border-color: rgba(19, 19, 19, 0.08) !important;
    box-shadow: none !important;
}

.option-item,
.question-card--scene-yesno .option-item--yesno,
.question-card--scene-choice .option-item,
.question-card--dialog-bank .option-item {
    background: var(--bee-white) !important;
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    box-shadow: none !important;
}

.option-item:hover,
.option-item:focus-within,
.question-card--scene-yesno .option-item--yesno:hover,
.question-card--scene-yesno .option-item--yesno:focus-within {
    background: #fffbee !important;
    border-color: rgba(255, 215, 0, 0.72) !important;
}

body.home-page .exam-resume-bar {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.06) !important;
}

body.home-page .exam-resume-bar__text,
body.home-page .exam-resume-bar__text strong {
    color: #111111 !important;
}

body.home-page .exam-resume-bar__text span {
    color: rgba(17, 17, 17, 0.82) !important;
}

body.home-page .exam-resume-btn--ghost {
    background: transparent !important;
    color: var(--bee-copy) !important;
    border: 1.5px solid rgba(255, 215, 0, 0.72) !important;
}

@media (max-width: 900px) {
    .hero-shell {
        gap: 2rem;
    }

    .main-nav a,
    body.mobile-nav-ready .main-nav a,
    body.mobile-nav-ready .main-nav a[href*="#khoa-hoc"],
    body.mobile-nav-ready .main-nav a[href*="#lop-hoc"],
    body.mobile-nav-ready .main-nav a:last-child {
        width: 100%;
        padding: 0.2rem 0 !important;
        border-bottom-width: 0 !important;
    }
}

body.home-page .site-header.container,
body.course-page .site-header.container {
    top: 0 !important;
}

body.home-page .site-header.container,
body.home-page .site-header.exam-page-header.container,
body.home-page .site-header.exam-page-header,
body.course-page .site-header.container,
body.course-page .site-header.exam-page-header.container,
body.course-page .site-header.exam-page-header {
    align-items: center;
    background: rgba(255, 246, 204, 0.94);
    box-shadow: 0 20px 40px rgba(122, 94, 16, 0.08);
}

body.home-page .site-header::after,
body.home-page .site-header.exam-page-header::after,
body.course-page .site-header::after,
body.course-page .site-header.exam-page-header::after {
    background: rgba(122, 94, 16, 0.12);
}

body.home-page .logo-block,
body.home-page .logo-link,
body.home-page .main-nav,
body.home-page .header-actions,
body.course-page .logo-block,
body.course-page .logo-link,
body.course-page .main-nav,
body.course-page .header-actions {
    min-height: 3.4rem;
    display: inline-flex;
    align-items: center;
}

body.home-page .logo-block,
body.home-page .header-actions,
body.course-page .logo-block,
body.course-page .header-actions {
    align-self: center;
}

body.home-page .site-logo,
body.course-page .site-logo {
    display: block;
}

body.home-page .header-actions > *,
body.course-page .header-actions > * {
    align-self: center;
}

body.home-page .btn-login,
body.course-page .btn-login {
    min-height: 3.4rem;
    line-height: 1;
}

body .header-actions.has-notify-bell .user-menu {
    isolation: isolate;
}

body .user-toggle,
body .header-actions.has-notify-bell .user-toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 0.9rem !important;
    min-height: 4.1rem;
    padding: 0.55rem 1.05rem 0.55rem 0.55rem !important;
    background: rgba(252, 249, 248, 0.96) !important;
    color: var(--bee-ink) !important;
    border: 1px solid rgba(208, 198, 171, 0.82) !important;
    box-shadow: 0 20px 40px rgba(19, 19, 19, 0.08) !important;
    backdrop-filter: blur(18px);
}

body .header-actions.has-notify-bell .user-toggle {
    padding-left: 4.15rem !important;
}

body .user-toggle:hover,
body .user-toggle:focus-visible,
body .header-actions.has-notify-bell .user-toggle:hover,
body .header-actions.has-notify-bell .user-toggle:focus-visible {
    background: rgba(255, 255, 255, 0.98) !important;
    color: var(--bee-ink) !important;
    border-color: rgba(233, 196, 0, 0.42) !important;
    box-shadow: 0 24px 48px rgba(19, 19, 19, 0.1) !important;
}

body .header-actions.has-notify-bell .header-notify-btn,
body .header-actions.has-notify-bell .header-notify-btn.is-active {
    width: 3rem;
    height: 3rem;
    flex: 0 0 3rem;
    left: 0.6rem;
    background: rgba(246, 243, 242, 0.98) !important;
    color: var(--bee-ink) !important;
    border: 1px solid rgba(208, 198, 171, 0.82) !important;
    box-shadow: 0 12px 24px rgba(19, 19, 19, 0.06) !important;
}

body .header-actions.has-notify-bell .header-notify-btn:hover,
body .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    background: rgba(255, 255, 255, 0.98) !important;
    color: var(--bee-ink) !important;
    border-color: rgba(233, 196, 0, 0.42) !important;
    box-shadow: 0 16px 28px rgba(19, 19, 19, 0.08) !important;
}

body .user-avatar {
    width: 3rem;
    height: 3rem;
    border: 2px solid rgba(255, 215, 0, 0.58);
    box-shadow: 0 10px 20px rgba(233, 196, 0, 0.16);
}

body .user-greeting {
    color: var(--bee-copy-soft) !important;
    opacity: 1;
    font-size: 0.62rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body .user-name {
    color: var(--bee-ink) !important;
    font-weight: 800;
    letter-spacing: -0.03em;
}

body .user-caret {
    border-top-color: var(--bee-gold-deep) !important;
}

body .user-dropdown {
    top: calc(100% + 0.35rem) !important;
    min-width: 21rem !important;
    width: min(24rem, calc(100vw - 2rem));
    padding: 0.85rem !important;
    border-radius: 1.75rem !important;
    background: rgba(252, 249, 248, 0.94) !important;
    border: 1px solid rgba(208, 198, 171, 0.72);
    box-shadow: 0 28px 60px rgba(19, 19, 19, 0.1) !important;
    backdrop-filter: blur(18px);
}

body .user-menu.is-open .user-dropdown {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

body .user-dropdown.is-open-portal {
    display: block !important;
}

body .user-dropdown__summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.9rem;
    padding: 0.95rem 1rem;
    border-radius: 1.35rem;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.16), rgba(255, 255, 255, 0.92));
    border: 1px solid rgba(233, 196, 0, 0.28);
}

body .user-dropdown__summary .user-avatar {
    width: 3.2rem;
    height: 3.2rem;
}

body .user-dropdown__summary-copy {
    display: flex;
    flex-direction: column;
    gap: 0.14rem;
    min-width: 0;
}

body .user-dropdown__summary-tag {
    color: var(--bee-gold-deep);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.16em;
}

body .user-dropdown__summary-greeting {
    color: var(--bee-copy-soft);
    font-size: 0.8rem;
    font-weight: 600;
}

body .user-dropdown__summary-name {
    color: var(--bee-ink);
    font-size: 1.04rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body .user-action {
    display: flex !important;
    align-items: center;
    gap: 0.85rem;
    min-width: 0 !important;
    min-height: 3.65rem;
    padding: 0.72rem 0.9rem !important;
    border-radius: 1.2rem !important;
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid rgba(208, 198, 171, 0.58);
    color: var(--bee-ink) !important;
    box-shadow: none !important;
    transition:
        transform var(--bee-fast),
        background var(--bee-fast),
        border-color var(--bee-fast),
        box-shadow var(--bee-fast);
}

body .user-action:hover,
body .user-action:focus,
body .user-action:focus-visible {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.98) !important;
    color: var(--bee-ink) !important;
    border-color: rgba(233, 196, 0, 0.34) !important;
    box-shadow: 0 16px 28px rgba(19, 19, 19, 0.06) !important;
}

body .user-action.is-active,
body .user-action[aria-current='page'] {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.24), rgba(255, 255, 255, 0.94)) !important;
    color: var(--bee-ink) !important;
    border-color: rgba(233, 196, 0, 0.44) !important;
    box-shadow: 0 14px 28px rgba(233, 196, 0, 0.12) !important;
}

body .user-action__icon,
body .user-action__chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

body .user-action__icon {
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 999px;
    background: var(--bee-paper-soft);
    color: var(--bee-ink);
    box-shadow: inset 0 0 0 1px rgba(208, 198, 171, 0.62);
}

body .user-action__icon svg,
body .user-action__chevron svg {
    width: 1.1rem;
    height: 1.1rem;
    display: block;
}

body .user-action__label {
    min-width: 0;
    font-weight: 800;
    letter-spacing: -0.02em;
}

body .user-action__chevron {
    margin-left: auto;
    color: rgba(19, 19, 19, 0.42);
}

body .user-action[data-user-action-kind='logout'] {
    background: rgba(19, 19, 19, 0.04) !important;
}

body .user-action[data-user-action-kind='logout'] .user-action__icon {
    background: rgba(19, 19, 19, 0.88);
    color: var(--bee-gold);
    box-shadow: none;
}

body .user-action[data-user-action-kind='logout']:hover,
body .user-action[data-user-action-kind='logout']:focus,
body .user-action[data-user-action-kind='logout']:focus-visible {
    background: rgba(19, 19, 19, 0.08) !important;
}

@media (max-width: 900px) {
    body .user-dropdown {
        width: min(22rem, calc(100vw - 1.5rem));
    }
}

/* Editorial Apiary component system */
:root {
    --bee-surface-base: #fcf9f8;
    --bee-surface-low: #f6f3f2;
    --bee-surface-card: #ffffff;
    --bee-surface-high: #e5e2e1;
    --bee-outline-soft: rgba(126, 119, 95, 0.16);
    --bee-outline-ghost: rgba(208, 198, 171, 0.56);
    --bee-text-muted: #4d4732;
    --bee-gold-ink: #705d00;
    --bee-shadow-ambient: 0 20px 40px rgba(19, 19, 19, 0.06);
    --bee-shadow-lift: 0 18px 32px rgba(19, 19, 19, 0.05);
}

body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-page,
body.post-page,
body.gallery-page,
body.notifications-page {
    background: var(--bee-surface-base) !important;
    color: var(--bee-copy) !important;
}

body.home-page::before,
body.home-page::after,
body.course-page::before,
body.course-page::after,
body.exam-page::before,
body.exam-page::after,
body.auth-body::before,
body.auth-body::after,
body.profile-page::before,
body.profile-page::after,
body.post-page::before,
body.post-page::after,
body.gallery-page::before,
body.gallery-page::after,
body.notifications-page::before,
body.notifications-page::after {
    content: none !important;
    display: none !important;
}

body .site-header.container,
body .site-header.exam-page-header.container,
body .site-header.exam-page-header {
    background: linear-gradient(180deg, rgba(255, 249, 226, 0.96), rgba(255, 241, 191, 0.94)) !important;
    box-shadow: 0 20px 40px rgba(122, 94, 16, 0.12) !important;
}

body .main-nav {
    gap: 1rem;
    padding: 0.35rem 0.7rem !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .main-nav a {
    padding: 0.72rem 0.3rem !important;
    color: rgba(28, 27, 27, 0.62) !important;
}

body .main-nav a:hover,
body .main-nav a:focus-visible {
    background: transparent !important;
    color: var(--bee-copy) !important;
}

body .home-hero,
body .home-main,
body .site-footer {
    position: relative;
    z-index: 1;
}

body.home-page .home-main {
    background: var(--bee-surface-low);
}

body .hero-copy,
body .auth-hero {
    background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(252, 249, 248, 1)) !important;
    box-shadow: none !important;
}

body .hero-copy::before,
body .auth-hero-card::before {
    content: none !important;
}

body .hero-copy h1 span {
    color: var(--bee-gold-deep) !important;
    background: none !important;
    padding: 0 !important;
}

body .hero-copy p,
body .section-text p,
body .profile-head p,
body .notifications-head p,
body .course-message-card p,
body .class-note,
body .class-message,
body .home-exams-empty,
body .auth-hero p,
body .auth-panel-header p,
body .auth-field-hint,
body .exam-header p {
    color: var(--bee-text-muted) !important;
}

body .section-search {
    max-width: 50rem;
    padding: 0 !important;
    background: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}

body .global-search {
    min-height: 4.25rem;
    padding: 0.55rem 0.7rem 0.55rem 0.85rem !important;
    background: var(--bee-surface-low) !important;
    box-shadow: none !important;
}

body .global-search:focus-within {
    background: var(--bee-surface-low) !important;
    box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.38) !important;
}

body .global-search-icon {
    width: 2.7rem;
    height: 2.7rem;
    border-radius: 999px;
    background: var(--bee-surface-card);
    color: var(--bee-gold-ink);
    box-shadow: 0 10px 20px rgba(19, 19, 19, 0.04);
}

body .global-search-clear {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 999px;
    background: transparent;
    color: rgba(28, 27, 27, 0.52);
}

body .global-search-clear:hover,
body .global-search-clear:focus-visible {
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--bee-copy) !important;
}

body .home-section,
body .profile-shell,
body .notifications-shell,
body .course-shell-head,
body .exam-header,
body .exam-panel {
    background: var(--bee-surface-low) !important;
    box-shadow: none !important;
    border-radius: 2rem !important;
}

body .section-heading::before {
    content: none !important;
}

body .section-kicker,
body .profile-sticker-book__chip,
body .exam-home-tag,
body .outline-lesson-preview-badge {
    background: rgba(255, 215, 0, 0.14) !important;
    color: var(--bee-gold-ink) !important;
    box-shadow: none !important;
}

body .stat-pill,
body .exam-history-last,
body .notifications-unread-chip {
    background: var(--bee-surface-card) !important;
    border: 0 !important;
    box-shadow: var(--bee-shadow-ambient) !important;
}

body .notifications-unread-chip {
    color: var(--bee-copy) !important;
}

body .notifications-unread-chip strong {
    color: var(--bee-gold-ink) !important;
}

body .btn-login,
body .btn-primary,
body .btn.primary,
body .course-btn.primary,
body .auth-submit,
body .exam-home-action,
body .course-action,
body .profile-actions .btn-login,
body .class-attendance-cta__btn,
body .profile-shortcut-card__action,
body .exam-random-card__action,
body .course-todo-trigger,
body .exam-resume-btn--primary,
body .pwa-install-btn {
    background: var(--bee-gold) !important;
    color: var(--bee-copy) !important;
    border: 0 !important;
    box-shadow: 0 12px 24px rgba(233, 196, 0, 0.18) !important;
}

body .btn-login:hover,
body .btn-login:focus-visible,
body .btn-primary:hover,
body .btn-primary:focus-visible,
body .btn.primary:hover,
body .btn.primary:focus-visible,
body .course-btn.primary:hover,
body .course-btn.primary:focus-visible,
body .auth-submit:hover,
body .auth-submit:focus-visible,
body .exam-home-action:hover,
body .exam-home-action:focus-visible,
body .course-action:hover,
body .course-action:focus-visible,
body .profile-actions .btn-login:hover,
body .profile-actions .btn-login:focus-visible,
body .class-attendance-cta__btn:hover,
body .class-attendance-cta__btn:focus-visible,
body .profile-shortcut-card__action:hover,
body .profile-shortcut-card__action:focus-visible,
body .exam-random-card__action:hover,
body .exam-random-card__action:focus-visible,
body .course-todo-trigger:hover,
body .course-todo-trigger:focus-visible,
body .exam-resume-btn--primary:hover,
body .exam-resume-btn--primary:focus-visible,
body .pwa-install-btn:hover,
body .pwa-install-btn:focus-visible {
    background: #ffdd2e !important;
    color: var(--bee-copy) !important;
    box-shadow: 0 16px 28px rgba(233, 196, 0, 0.2) !important;
}

body .btn-ghost,
body .course-btn,
body .exam-resume-btn--ghost,
body .profile-actions .btn-ghost,
body .guardian-notification-item__action-btn,
body .notifications-head__actions .btn-ghost,
body .profile-password-panel__open,
body .course-back,
body .mobile-exam-bar [data-exam-nav-toggle],
body .class-notes-filter-btn,
body .class-sticker-book__filter-btn,
body .home-exams-load-more .btn-ghost {
    background: var(--bee-surface-card) !important;
    color: var(--bee-copy) !important;
    border: 1.5px solid rgba(255, 215, 0, 0.55) !important;
    box-shadow: none !important;
}

body .btn-ghost:hover,
body .btn-ghost:focus-visible,
body .course-btn:hover,
body .course-btn:focus-visible,
body .exam-resume-btn--ghost:hover,
body .exam-resume-btn--ghost:focus-visible,
body .profile-actions .btn-ghost:hover,
body .profile-actions .btn-ghost:focus-visible,
body .guardian-notification-item__action-btn:hover,
body .guardian-notification-item__action-btn:focus-visible,
body .notifications-head__actions .btn-ghost:hover,
body .notifications-head__actions .btn-ghost:focus-visible,
body .profile-password-panel__open:hover,
body .profile-password-panel__open:focus-visible,
body .course-back:hover,
body .course-back:focus-visible,
body .mobile-exam-bar [data-exam-nav-toggle]:hover,
body .mobile-exam-bar [data-exam-nav-toggle]:focus-visible,
body .class-notes-filter-btn:hover,
body .class-notes-filter-btn:focus-visible,
body .class-sticker-book__filter-btn:hover,
body .class-sticker-book__filter-btn:focus-visible,
body .home-exams-load-more .btn-ghost:hover,
body .home-exams-load-more .btn-ghost:focus-visible {
    background: rgba(255, 255, 255, 0.98) !important;
    color: var(--bee-copy) !important;
    border-color: rgba(233, 196, 0, 0.72) !important;
    box-shadow: 0 10px 22px rgba(19, 19, 19, 0.04) !important;
}

body .class-attendance-cta__btn.is-completed,
body .class-attendance-cta__btn.is-completed:hover,
body .class-attendance-cta__btn.is-completed:focus-visible,
body .course-outline-fab,
body .back-to-top,
body .mobile-exam-bar [data-exam-submit] {
    background: var(--bee-ink) !important;
    color: var(--bee-white) !important;
    border: 0 !important;
    box-shadow: var(--bee-shadow-ambient) !important;
}

body .pagination ul,
body .home-exams-categories,
body .profile-page-tabs,
body .exam-history-mode-tabs,
body .notifications-tablist,
body .course-player-resource-tabs,
body .course-todo-tabs,
body .course-category-tabs {
    padding: 0.35rem !important;
    background: var(--bee-surface-low) !important;
    box-shadow: none !important;
}

body .pagination a,
body .pagination span.current,
body .exam-category-pill,
body .profile-page-tab,
body .exam-history-mode-tab,
body .notifications-tab,
body .course-player-resource-tab,
body .course-todo-tab,
body .course-category-tabs .category-tab,
body .class-notes-filter-btn,
body .class-sticker-book__filter-btn,
body .section-tab,
body .section-switch-button {
    min-height: 3rem;
    padding: 0.78rem 1.15rem !important;
    background: transparent !important;
    color: rgba(28, 27, 27, 0.6) !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .pagination a:hover,
body .exam-category-pill:hover,
body .profile-page-tab:hover,
body .exam-history-mode-tab:hover,
body .notifications-tab:hover,
body .course-player-resource-tab:hover,
body .course-todo-tab:hover,
body .course-category-tabs .category-tab:hover,
body .class-notes-filter-btn:hover,
body .class-sticker-book__filter-btn:hover,
body .section-tab:hover,
body .section-switch-button:hover,
body .pagination a:focus-visible,
body .exam-category-pill:focus-visible,
body .profile-page-tab:focus-visible,
body .exam-history-mode-tab:focus-visible,
body .notifications-tab:focus-visible,
body .course-player-resource-tab:focus-visible,
body .course-todo-tab:focus-visible,
body .course-category-tabs .category-tab:focus-visible,
body .class-notes-filter-btn:focus-visible,
body .class-sticker-book__filter-btn:focus-visible,
body .section-tab:focus-visible,
body .section-switch-button:focus-visible {
    background: rgba(255, 255, 255, 0.55) !important;
    color: var(--bee-copy) !important;
}

body .pagination span.current,
body .exam-category-pill.is-active,
body .profile-page-tab.is-active,
body .exam-history-mode-tab.is-active,
body .notifications-tab.is-active,
body .course-player-resource-tab.is-active,
body .course-todo-tab.is-active,
body .course-category-tabs .category-tab.is-active,
body .class-notes-filter-btn.is-active,
body .class-sticker-book__filter-btn.is-active,
body .section-tab.active,
body .section-tab[aria-selected="true"],
body .section-switch-button.is-active {
    background: var(--bee-surface-card) !important;
    color: var(--bee-copy) !important;
    box-shadow: 0 10px 18px rgba(19, 19, 19, 0.04) !important;
}

body .section-tab.active,
body .section-tab[aria-selected="true"] {
    background: linear-gradient(180deg, rgba(255, 242, 197, 0.98), rgba(255, 222, 114, 0.96)) !important;
    color: #624300 !important;
    box-shadow: 0 10px 20px rgba(191, 145, 30, 0.16) !important;
}

body .section-tab.active .tab-count,
body .section-tab[aria-selected="true"] .tab-count {
    background: rgba(255, 249, 230, 0.92) !important;
    border-color: rgba(177, 128, 10, 0.34) !important;
    color: #7a5400 !important;
}

body .question-sidebar {
    overflow-x: hidden !important;
}

body .section-tabs {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    overflow: hidden !important;
}

body .section-tabs:has(> .section-tab:nth-child(2):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
}

body .section-tabs:has(> .section-tab:first-child:last-child) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
}

body .section-tab {
    width: 100% !important;
    min-width: 0 !important;
}

/* Keep exam sidebar tabs readable; global pill reset above makes inactive tab transparent. */
body.exam-page .question-sidebar .section-tab {
    background: rgba(255, 255, 255, 0.86) !important;
    border: 1px solid rgba(31, 47, 30, 0.2) !important;
    color: rgba(31, 47, 30, 0.78) !important;
    box-shadow: none !important;
}

body.exam-page .question-sidebar .section-tab:hover,
body.exam-page .question-sidebar .section-tab:focus-visible {
    background: rgba(255, 255, 255, 0.96) !important;
    color: #215736 !important;
}

body.exam-page .question-sidebar .section-tab .tab-count {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(31, 47, 30, 0.22) !important;
    color: rgba(31, 47, 30, 0.78) !important;
}

body.exam-page .question-sidebar .section-tab.active,
body.exam-page .question-sidebar .section-tab[aria-selected="true"] {
    background: linear-gradient(180deg, rgba(255, 242, 197, 0.98), rgba(255, 222, 114, 0.96)) !important;
    color: #624300 !important;
    box-shadow: 0 10px 20px rgba(191, 145, 30, 0.16) !important;
}

body.exam-page .question-sidebar .section-tab.active .tab-count,
body.exam-page .question-sidebar .section-tab[aria-selected="true"] .tab-count {
    background: rgba(255, 249, 230, 0.92) !important;
    border-color: rgba(177, 128, 10, 0.34) !important;
    color: #7a5400 !important;
}

/* Unify section intro/title boxes across parts to light-yellow theme. */
body.exam-page .question-text--boxed.read-yesno-group-text,
body.exam-page .question-text--boxed.read-vocab-group-text,
body.exam-page .question-text--boxed.read-wordbank-group-text,
body.exam-page .question-text--boxed.read-rowbank-group-text,
body.exam-page .question-text--boxed.read-scene-yn-group-text,
body.exam-page .question-text--boxed.read-scene-choice-group-text,
body.exam-page .question-text--boxed.read-dialog-bank-group-text,
body.exam-page .question-text--boxed.read-letter-sort-group-text,
body.exam-page .question-text--boxed.read-scene-part6-section__title,
body.exam-page .listen-group-wrapper > .listen-group-shared-panel > .question-text--boxed,
body.exam-page .listen-group-wrapper > .listen-group-shared-sticky-stack > .question-text--boxed,
body.exam-page .listen-group-wrapper > .listen-group-shared-panel > .listen-group-shared-sticky-stack > .question-text--boxed,
body.exam-page .listen-drag-group-intro .question-text--boxed,
body.exam-page .speak-group-intro > .question-text--boxed.speak-group-intro__title,
body.exam-page .speak-movers-game__title.question-text--boxed {
    border-color: rgba(205, 167, 76, 0.5) !important;
    background: linear-gradient(180deg, rgba(255, 250, 232, 0.98), rgba(255, 242, 204, 0.95)) !important;
    color: rgba(107, 78, 17, 0.95) !important;
}

@media (min-width: 1101px) {
    body .exam-layout {
        grid-template-columns: minmax(0, 1.52fr) minmax(300px, 0.8fr) !important;
        align-items: flex-start !important;
    }

    body .question-sidebar {
        position: sticky !important;
        inset: auto !important;
        top: 14px !important;
        display: grid !important;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        align-self: start !important;
    }

    body .question-sidebar-backdrop,
    body .mobile-exam-bar {
        display: none !important;
    }
}

body .notifications-tab__count,
body .course-todo-tab__count,
body .exam-category-pill span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.7rem;
    min-height: 1.7rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.16);
    color: var(--bee-gold-ink);
    font-size: 0.78rem;
    font-weight: 800;
}

body .auth-form input,
body .auth-form textarea,
body .auth-form select,
body .profile-field input,
body .profile-field textarea,
body .profile-sticker-book__filter-field select,
body .profile-sticker-book__filter-field input,
body .class-sticker-book__name-filter select,
body .home-exams-search input,
body:not(.exam-page) .read-vocab-input,
body:not(.exam-page) .read-wordbank-input,
body:not(.exam-page) .read-scene-yn-input,
body:not(.exam-page) .read-letter-sort-input,
body .profile-password-input-wrap input,
body .profile-upload-input {
    background: var(--bee-surface-low) !important;
    color: var(--bee-copy) !important;
    border: 0 !important;
    box-shadow: none !important;
}

body:not(.exam-page) input.read-vocab-input {
    background: #ffffff !important;
}

body .auth-form input:focus,
body .auth-form input:focus-visible,
body .auth-form textarea:focus,
body .auth-form textarea:focus-visible,
body .auth-form select:focus,
body .auth-form select:focus-visible,
body .profile-field input:focus,
body .profile-field input:focus-visible,
body .profile-field textarea:focus,
body .profile-field textarea:focus-visible,
body .profile-sticker-book__filter-field select:focus,
body .profile-sticker-book__filter-field select:focus-visible,
body .profile-sticker-book__filter-field input:focus,
body .profile-sticker-book__filter-field input:focus-visible,
body .class-sticker-book__name-filter select:focus,
body .class-sticker-book__name-filter select:focus-visible,
body .home-exams-search input:focus,
body .home-exams-search input:focus-visible,
body:not(.exam-page) .read-vocab-input:focus,
body:not(.exam-page) .read-vocab-input:focus-visible,
body:not(.exam-page) .read-wordbank-input:focus,
body:not(.exam-page) .read-wordbank-input:focus-visible,
body:not(.exam-page) .read-scene-yn-input:focus,
body:not(.exam-page) .read-scene-yn-input:focus-visible,
body:not(.exam-page) .read-letter-sort-input:focus,
body:not(.exam-page) .read-letter-sort-input:focus-visible,
body .profile-password-input-wrap input:focus,
body .profile-password-input-wrap input:focus-visible {
    box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.4) !important;
}

body .profile-upload-input {
    border: 1.5px dashed var(--bee-outline-ghost) !important;
}

body .profile-upload-input:hover,
body .profile-upload-input:focus-visible {
    border-color: rgba(233, 196, 0, 0.6) !important;
}

body .class-card,
body .course-card,
body .exam-home-card,
body .exam-random-card,
body .profile-shortcut-card,
body .profile-avatar-panel,
body .profile-fields,
body .profile-sticker-book,
body .guardian-notification-item,
body .exam-history-summary-card,
body .exam-history-list-card,
body .course-message-card,
body .course-player-card,
body .course-outline-sheet,
body .course-todo-dialog,
body .course-confirm-card,
body .auth-panel,
body .auth-hero-card,
body .profile-password-modal__dialog,
body .question-card,
body .speak-card,
body .timer-card,
body .footer-card,
body .notifications-image-modal__dialog {
    background: var(--bee-surface-card) !important;
    border: 0 !important;
    box-shadow: var(--bee-shadow-ambient) !important;
    border-radius: 1.75rem !important;
}

body .class-card,
body .course-card,
body .exam-home-card,
body .exam-random-card,
body .profile-shortcut-card,
body .guardian-notification-item,
body .exam-history-summary-card,
body .exam-history-list-card,
body .course-message-card {
    transition: transform var(--bee-fast), box-shadow var(--bee-fast), background-color var(--bee-fast);
}

body .class-card:hover,
body .class-card:focus-within,
body .course-card:hover,
body .course-card:focus-within,
body .exam-home-card:hover,
body .exam-home-card:focus-within,
body .exam-random-card:hover,
body .exam-random-card:focus-within,
body .profile-shortcut-card:hover,
body .profile-shortcut-card:focus-within,
body .guardian-notification-item:hover,
body .guardian-notification-item:focus-within,
body .exam-history-summary-card:hover,
body .exam-history-summary-card:focus-within,
body .exam-history-list-card:hover,
body .exam-history-list-card:focus-within,
body .course-message-card:hover,
body .course-message-card:focus-within {
    transform: translateY(-4px);
    box-shadow: 0 24px 44px rgba(19, 19, 19, 0.08) !important;
}

body .class-card,
body .class-card-content,
body .course-card,
body .exam-home-card {
    background-color: var(--bee-surface-card) !important;
}

body .class-card-content,
body .course-body,
body .exam-home-card__body {
    padding: 1.5rem !important;
}

body .class-cover,
body .course-thumb-wrapper,
body .exam-home-card__thumb {
    padding: 0 !important;
    margin: -1.5rem -1.5rem 1.2rem !important;
}

body .class-cover img,
body .course-thumb,
body .exam-home-card__thumb img {
    height: 14rem !important;
    border-radius: 1.75rem 1.75rem 0 0 !important;
}

body .guardian-notification-item.is-unread {
    background: linear-gradient(180deg, rgba(255, 215, 0, 0.08), rgba(255, 255, 255, 1) 42%) !important;
}

body .course-shell-head .course-title,
body .exam-header h1,
body .profile-head h1,
body .notifications-head h1,
body .section-text h2 {
    color: var(--bee-copy) !important;
}

body .exam-header h1 {
    font-size: clamp(1.45rem, 2.8vw, 2rem) !important;
    line-height: 1.2 !important;
    letter-spacing: -0.045em !important;
}

body .exam-header {
    padding: 1.65rem 1.8rem 1.45rem !important;
    gap: 0.9rem !important;
}

body .exam-header__row {
    align-items: flex-start;
    gap: 0.9rem 1.25rem;
}

body .exam-header__row > h1 {
    flex: 1 1 18rem;
}

body .exam-header__code {
    flex: 0 0 auto;
    margin-left: auto;
    padding: 0.58rem 1.15rem !important;
}

body .exam-header p {
    margin: 0 !important;
    line-height: 1.6 !important;
}

body .exam-header__meta {
    padding-top: 0.08rem;
    font-size: 0.98rem;
}

body.exam-page--practice .site-header.exam-page-header,
body.exam-page--practice .site-header.exam-page-header.container {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 1rem !important;
    padding: 0.95rem 1.15rem !important;
    border-radius: 1.7rem !important;
    box-shadow: 0 16px 30px rgba(19, 19, 19, 0.06) !important;
}

body.exam-page--practice .site-header.exam-page-header::after {
    content: none !important;
}

body.exam-page--practice .exam-main {
    padding-top: 0 !important;
}

body.exam-page--arena .exam-main {
    padding-top: 0 !important;
}

body.exam-page--practice .question-card,
body.exam-page--practice .read-group-wrapper > .question-card,
body.exam-page--practice .listen-group-wrapper > .question-card.question-card--listen-drag-names,
body.exam-page--practice .speak-group-wrapper > .question-card.question-card--speak {
    scroll-margin-top: 1.5rem !important;
}

body .exam-section {
    padding: 1.15rem 1.25rem 1.25rem !important;
    gap: 1.15rem !important;
    border-radius: 1.65rem !important;
}

body .exam-section > h2 {
    margin: 0 !important;
    padding: 0.12rem 0 0.18rem !important;
    line-height: 1.18 !important;
}

body .course-shell-head .course-title {
    max-width: 16ch;
}

@media (max-width: 900px) {
    body .exam-header {
        padding: 1.2rem 1.2rem 1.1rem !important;
        gap: 0.75rem !important;
    }

    body .exam-header__row {
        gap: 0.7rem;
    }

    body .exam-header__code {
        margin-left: 0;
    }

    body.exam-page--practice .site-header.exam-page-header,
    body.exam-page--practice .site-header.exam-page-header.container {
        padding: 0.8rem 0.95rem !important;
        border-radius: 1.35rem !important;
        margin-bottom: 0.8rem !important;
    }

    body .exam-section {
        padding: 0.95rem 1rem 1rem !important;
        gap: 1rem !important;
        border-radius: 1.3rem !important;
    }

    body .exam-section > h2 {
        padding-top: 0.08rem !important;
    }
}

@media (max-width: 760px) {
    body .exam-header__row {
        justify-content: flex-start;
    }

    body .exam-header__row > h1 {
        flex: 0 1 auto;
        width: 100%;
    }

    body .exam-header__code {
        align-self: flex-start;
    }
}

body .outline-lesson,
body .course-player-review-item,
body .course-todo-item,
body .option-item,
body .question-card--scene-yesno .option-item--yesno,
body .question-card--scene-choice .option-item,
body .question-card--dialog-bank .option-item {
    background: var(--bee-surface-low) !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .outline-lesson:hover,
body .outline-lesson:focus-within,
body .course-player-review-item:hover,
body .course-player-review-item:focus-within,
body .course-todo-item:hover,
body .course-todo-item:focus-within,
body .option-item:hover,
body .option-item:focus-within,
body .question-card--scene-yesno .option-item--yesno:hover,
body .question-card--scene-yesno .option-item--yesno:focus-within {
    background: rgba(255, 255, 255, 0.92) !important;
    box-shadow: 0 10px 20px rgba(19, 19, 19, 0.04) !important;
}

body .outline-lesson.is-active,
body .outline-lesson.is-watched,
body .course-player-review-item.is-active,
body .course-todo-item.is-active,
body .option-item.is-selected,
body .option-item:has(input:checked),
body .question-card--scene-yesno .option-item--yesno.is-selected,
body .question-card--scene-yesno .option-item--yesno:has(input:checked) {
    background: linear-gradient(180deg, rgba(255, 215, 0, 0.14), rgba(255, 255, 255, 0.96)) !important;
    box-shadow: inset 0 0 0 1.5px rgba(233, 196, 0, 0.34) !important;
}

body .question-card,
body .question-sidebar,
body .mobile-exam-bar,
body .timer-card {
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: var(--bee-shadow-ambient) !important;
}

body .profile-alert {
    border: 0 !important;
    border-radius: 1.35rem !important;
    box-shadow: none !important;
}

body .profile-alert.error {
    background: #fff0ed !important;
    color: #8b2a14 !important;
}

body .profile-alert.success {
    background: #fff8d4 !important;
    color: #5c4c00 !important;
}

body .profile-password-modal__backdrop,
body .notifications-image-modal {
    backdrop-filter: blur(8px);
}

@media (max-width: 900px) {
    body .home-section,
    body .profile-shell,
    body .notifications-shell,
    body .course-shell-head,
    body .exam-header,
    body .exam-panel {
        border-radius: 1.6rem !important;
    }

    body .class-cover,
    body .course-thumb-wrapper,
    body .exam-home-card__thumb {
        margin: -1.35rem -1.35rem 1rem !important;
    }

    body .class-cover img,
    body .course-thumb,
    body .exam-home-card__thumb img {
        height: 12.5rem !important;
    }
}

body.home-page .class-card,
body.home-page .course-card,
body.home-page .exam-home-card,
body.home-page .exam-random-card,
body.home-page .class-card-content,
body.home-page .course-body,
body.home-page .exam-home-card__body,
body.home-page .exam-random-card__content {
    background: var(--bee-surface-card) !important;
    border: 0 !important;
    box-shadow: var(--bee-shadow-ambient) !important;
}

body.home-page .class-card:hover,
body.home-page .class-card:focus-within,
body.home-page .course-card:hover,
body.home-page .course-card:focus-within,
body.home-page .exam-home-card:hover,
body.home-page .exam-home-card:focus-within,
body.home-page .exam-random-card:hover,
body.home-page .exam-random-card:focus-within {
    box-shadow: 0 24px 44px rgba(19, 19, 19, 0.08) !important;
}

body.home-page .class-section,
body.home-page .home-courses,
body.home-page .home-exams,
body.home-page .home-games {
    background: var(--bee-surface-low) !important;
}

body.home-page .class-card .btn-primary,
body.home-page .class-card .class-learn-now-link,
body.home-page .exam-home-action.is-resume,
body.home-page .home-exams-load-more .btn-ghost,
body.home-page .home-games-load-more .btn-ghost {
    box-shadow: 0 12px 24px rgba(233, 196, 0, 0.18) !important;
}

@media (min-width: 901px) {
    body .main-nav,
    body.mobile-nav-ready .main-nav {
        gap: 1.35rem !important;
    }

    body .main-nav a,
    body.mobile-nav-ready .main-nav a,
    body.mobile-nav-ready .main-nav a[href*="#khoa-hoc"],
    body.mobile-nav-ready .main-nav a[href*="#lop-hoc"],
    body.mobile-nav-ready .main-nav a:last-child {
        padding: 0 0.22rem 0.38rem !important;
    }
}

/* FINAL HOTFIX 73: sync class course picker with current web visual language */
body.home-page .class-course-picker {
    --class-picker-ink: #151515;
    --class-picker-ink-soft: rgba(21, 21, 21, 0.68);
    --class-picker-accent: #ffcb05;
    --class-picker-accent-strong: #e0aa00;
    --class-picker-surface: linear-gradient(180deg, #fffef8 0%, #ffffff 40%, #fffdf5 100%);
    --class-picker-card: #ffffff;
    --class-picker-font: var(--app-serif-font);
}

body.home-page .class-course-picker__backdrop {
    background: rgba(14, 14, 14, 0.52) !important;
    backdrop-filter: blur(10px) saturate(115%) !important;
}

body.home-page .class-course-picker__dialog {
    width: min(700px, calc(100vw - 1.7rem)) !important;
    border-radius: 2rem !important;
    border: 1px solid rgba(21, 21, 21, 0.08) !important;
    background: var(--class-picker-surface) !important;
    box-shadow: 0 34px 74px rgba(15, 23, 42, 0.24), 0 12px 28px rgba(21, 21, 21, 0.1) !important;
}

body.home-page .class-course-picker__dialog::before {
    height: 6px !important;
    background: linear-gradient(90deg, #ffcb05 0%, #e0aa00 66%, #8f171d 100%) !important;
}

body.home-page .class-course-picker__close {
    top: 0.9rem !important;
    right: 0.9rem !important;
    width: 2.45rem !important;
    height: 2.45rem !important;
    border-radius: 999px !important;
    border: 1px solid rgba(21, 21, 21, 0.14) !important;
    background: #ffffff !important;
    color: rgba(21, 21, 21, 0.8) !important;
    box-shadow: none !important;
}

body.home-page .class-course-picker__close:hover,
body.home-page .class-course-picker__close:focus-visible {
    background: #fff7da !important;
    color: #151515 !important;
    border-color: rgba(224, 170, 0, 0.56) !important;
    box-shadow: 0 10px 20px rgba(224, 170, 0, 0.16) !important;
}

body.home-page .class-course-picker__dialog h3 {
    font-family: var(--class-picker-font) !important;
    font-size: clamp(1.68rem, 2.5vw, 2.05rem) !important;
    line-height: 1.06 !important;
    letter-spacing: -0.01em !important;
    color: var(--class-picker-ink) !important;
    max-width: 17ch !important;
}

body.home-page .class-course-picker__subtitle {
    border: 1px solid rgba(224, 170, 0, 0.26) !important;
    background: linear-gradient(135deg, rgba(255, 244, 198, 0.78), rgba(255, 255, 255, 0.94)) !important;
    color: rgba(87, 66, 0, 0.92) !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
}

body.home-page .class-course-picker__list {
    gap: 0.72rem !important;
    padding: 0 1.22rem 1.22rem !important;
}

body.home-page .class-course-picker__item {
    border-radius: 1.35rem !important;
    border: 1px solid rgba(21, 21, 21, 0.1) !important;
    background: var(--class-picker-card) !important;
    color: rgba(21, 21, 21, 0.72) !important;
    box-shadow: 0 8px 18px rgba(21, 21, 21, 0.06) !important;
    padding: 0.94rem 1rem 0.94rem 1.06rem !important;
}

body.home-page .class-course-picker__item::before {
    display: none !important;
    content: none !important;
}

body.home-page .class-course-picker__item::after {
    width: 2rem !important;
    height: 2rem !important;
    border: 1px solid rgba(21, 21, 21, 0.82) !important;
    background: #111111 !important;
    color: #ffe486 !important;
    box-shadow: 0 10px 20px rgba(17, 17, 17, 0.2) !important;
}

body.home-page .class-course-picker__item:hover,
body.home-page .class-course-picker__item:focus-visible {
    transform: translateY(-2px) !important;
    border-color: rgba(224, 170, 0, 0.56) !important;
    background: #fffdf6 !important;
    color: #171717 !important;
    box-shadow: 0 16px 30px rgba(224, 170, 0, 0.16) !important;
}

body.home-page .class-course-picker__item:hover::after,
body.home-page .class-course-picker__item:focus-visible::after {
    background: #222222 !important;
    color: #ffe486 !important;
    border-color: #222222 !important;
    box-shadow: 0 14px 24px rgba(17, 17, 17, 0.24) !important;
}

body.home-page .class-course-picker__empty {
    border: 1px dashed rgba(21, 21, 21, 0.18) !important;
    background: #fbfaf5 !important;
    color: var(--class-picker-ink-soft) !important;
    border-radius: 1.25rem !important;
}

@media (max-width: 760px) {
    body.home-page .class-course-picker__dialog {
        width: calc(100vw - 1rem) !important;
        border-radius: 1.6rem !important;
    }

    body.home-page .class-course-picker__dialog h3 {
        font-size: clamp(1.3rem, 6vw, 1.66rem) !important;
        padding-right: 3rem !important;
        max-width: none !important;
    }

    body.home-page .class-course-picker__item {
        font-size: 0.96rem !important;
    }
}

body .header-actions.has-notify-bell .user-menu {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    isolation: isolate;
}

body .user-toggle,
body .header-actions.has-notify-bell .user-toggle {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "meta avatar caret";
    align-items: center;
    gap: 0.78rem !important;
    min-height: auto;
    padding: 0 !important;
    background: transparent !important;
    color: var(--bee-ink) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none;
}

body .header-actions.has-notify-bell .user-toggle {
    padding-left: 0 !important;
}

body .user-toggle::before,
body .header-actions.has-notify-bell .user-toggle::before {
    content: none;
}

body .user-toggle:hover,
body .user-toggle:focus-visible,
body .header-actions.has-notify-bell .user-toggle:hover,
body .header-actions.has-notify-bell .user-toggle:focus-visible {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body .header-actions.has-notify-bell .header-notify-btn,
body .header-actions.has-notify-bell .header-notify-btn.is-active {
    position: static !important;
    width: 4rem;
    height: 4rem;
    flex: 0 0 4rem;
    left: auto;
    border-radius: 999px !important;
    background: var(--bee-ink) !important;
    color: var(--bee-white) !important;
    border: 0 !important;
    box-shadow: 0 14px 28px rgba(19, 19, 19, 0.16) !important;
}

body .header-actions.has-notify-bell .header-notify-btn:hover,
body .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    background: #242424 !important;
    color: var(--bee-white) !important;
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.2) !important;
}

body .header-notify-btn__badge {
    top: 0.02rem;
    right: 0.02rem;
    min-width: 1.55rem;
    height: 1.55rem;
    padding: 0 0.42rem;
    background: #f04646;
    color: #fff;
    border: 2px solid #fff;
    box-shadow: 0 10px 18px rgba(240, 70, 70, 0.28);
}

body .user-meta {
    grid-area: meta;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
}

body .user-avatar {
    grid-area: avatar;
    position: relative;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 999px;
    border: 2px solid rgba(255, 215, 0, 0.92);
    background: #fff;
    box-shadow: 0 8px 18px rgba(233, 196, 0, 0.14);
    overflow: visible;
}

body .user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 999px;
    display: block;
}

body .user-avatar::after {
    content: "";
    position: absolute;
    right: -0.15rem;
    bottom: -0.15rem;
    width: 0.72rem;
    height: 0.72rem;
    border-radius: 999px;
    background: #22c55e;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.15);
}

body .user-greeting {
    color: var(--bee-copy-soft) !important;
    opacity: 1;
    font-size: 0.62rem;
    line-height: 1.1;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body .user-name {
    color: var(--bee-ink) !important;
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.04;
    max-width: clamp(150px, 18vw, 255px);
}

body .user-caret {
    grid-area: caret;
    margin-left: 0.18rem;
    border-top-color: var(--bee-gold) !important;
    border-left-width: 6px;
    border-right-width: 6px;
    border-top-width: 8px;
}

body .user-dropdown {
    top: calc(100% + 0.9rem) !important;
    min-width: 20rem !important;
    width: min(20rem, calc(100vw - 1rem));
    padding: 0 !important;
    border-radius: 1.9rem !important;
    background:
        linear-gradient(180deg, rgba(255, 251, 233, 0.98), rgba(255, 242, 184, 0.96)) !important;
    border: 1px solid rgba(233, 196, 0, 0.24);
    box-shadow: 0 30px 60px rgba(233, 196, 0, 0.18) !important;
    overflow: hidden;
    backdrop-filter: none;
}

body .user-menu.is-open .user-dropdown {
    display: block;
}

body .user-dropdown__summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    padding: 1.45rem 1.35rem 1.15rem;
    border-radius: 0 !important;
    background: var(--bee-surface-low);
    border: 0;
}

body .user-dropdown__summary-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.62rem 1rem;
    border-radius: 999px;
    background: var(--bee-gold);
    color: var(--bee-ink);
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(233, 196, 0, 0.16);
}

body .user-dropdown__summary-badge-icon {
    display: inline-flex;
    width: 0.9rem;
    height: 0.9rem;
}

body .user-dropdown__summary-badge-icon svg {
    width: 100%;
    height: 100%;
}

body .user-dropdown__summary-profile {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

body .user-dropdown__summary .user-avatar {
    width: 3.2rem;
    height: 3.2rem;
}

body .user-dropdown__summary-copy {
    align-items: flex-start;
    gap: 0.2rem;
}

body .user-dropdown__summary-greeting {
    color: var(--bee-copy-soft);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body .user-dropdown__summary-name {
    color: var(--bee-ink);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: -0.03em;
}

body .user-dropdown__summary-note {
    margin: 0;
    max-width: 16rem;
    color: var(--bee-copy-soft);
    font-size: 0.78rem;
    line-height: 1.5;
    text-align: center;
}

body .user-dropdown__overview {
    padding: 1rem 1.25rem 1.05rem;
    border-bottom: 1px solid rgba(208, 198, 171, 0.16);
}

body .user-dropdown__overview-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
}

body .user-dropdown__overview-kicker {
    color: var(--bee-copy-soft);
    font-size: 0.62rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body .user-dropdown__overview-value {
    color: var(--bee-ink);
    font-size: 0.9rem;
    font-weight: 900;
}

body .user-dropdown__overview-track {
    height: 0.38rem;
    border-radius: 999px;
    background: var(--bee-surface-low);
    overflow: hidden;
}

body .user-dropdown__overview-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ffd700, #e9c400);
}

body .user-dropdown__actions {
    padding: 0.85rem;
    display: grid;
    gap: 0.22rem;
}

body .user-action {
    display: flex !important;
    align-items: center;
    gap: 0.8rem;
    min-width: 0 !important;
    min-height: 3.4rem;
    padding: 0.78rem 0.9rem !important;
    border-radius: 1.15rem !important;
    background: rgba(255, 255, 255, 0.34) !important;
    border: 0 !important;
    color: var(--bee-ink) !important;
    box-shadow: none !important;
    transform: none !important;
}

body .user-action:hover,
body .user-action:focus-visible,
body .user-action.is-active {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.38), rgba(255, 248, 220, 0.94)) !important;
    color: var(--bee-ink) !important;
}

body .user-action__icon {
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--bee-ink);
    box-shadow: 0 6px 14px rgba(233, 196, 0, 0.14);
}

body .user-action:hover .user-action__icon,
body .user-action:focus-visible .user-action__icon,
body .user-action.is-active .user-action__icon {
    background: rgba(255, 215, 0, 0.92);
}

body .user-action__icon svg {
    width: 1rem;
    height: 1rem;
}

body .user-action__label {
    min-width: 0;
    font-size: 0.9rem;
    font-weight: 800;
}

body .user-action__chevron {
    display: none !important;
}

body .user-action.is-destructive {
    color: #ba1a1a !important;
    margin-top: 0.2rem;
}

body .user-action.is-destructive .user-action__icon {
    background: rgba(186, 26, 26, 0.08);
    color: #ba1a1a;
}

body .user-dropdown__footer {
    padding: 0.9rem 1rem 1rem;
    border-top: 1px solid rgba(233, 196, 0, 0.18);
    background: rgba(255, 249, 225, 0.62);
}

body .user-dropdown__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.2rem;
    padding: 0.85rem 1rem;
    border-radius: 1.15rem;
    background: var(--bee-gold);
    color: var(--bee-ink);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 10px 20px rgba(233, 196, 0, 0.18);
}

body .user-dropdown__cta:hover,
body .user-dropdown__cta:focus-visible {
    background: #ffdd2e;
    color: var(--bee-ink);
}

@media (max-width: 900px) {
    body .header-actions.has-notify-bell .user-menu {
        gap: 0.6rem;
    }

    body .user-toggle,
    body .header-actions.has-notify-bell .user-toggle {
        gap: 0.62rem !important;
        min-height: auto;
        padding: 0 !important;
    }

    body .header-actions.has-notify-bell .header-notify-btn,
    body .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 3.15rem;
        height: 3.15rem;
        flex-basis: 3.15rem;
    }

    body .user-avatar {
        width: 2.85rem;
        height: 2.85rem;
    }

    body .user-name {
        max-width: clamp(115px, 30vw, 180px);
        font-size: 0.98rem;
    }

    body .user-dropdown {
        width: min(19rem, calc(100vw - 0.75rem));
        right: -0.2rem;
    }
}

body.home-page .home-hero--slider-only {
    position: relative;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    padding-top: clamp(0.8rem, 2vw, 1.35rem);
    padding-bottom: 0;
    border-radius: 0 !important;
    overflow: visible;
}

body.home-page .home-hero--slider-only .hero-shell {
    display: block !important;
    width: min(calc(var(--bee-max-width) + 18rem), calc(100vw - 1.5rem)) !important;
    max-width: none !important;
    padding-inline: 0 !important;
    margin-inline: auto !important;
}

body.home-page .home-hero--slider-only .hero-media {
    width: 100%;
}

body.home-page .home-hero--slider-only .hero-slider--full {
    position: relative;
    width: 100%;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider,
body.home-page .home-hero--slider-only .hero-slider--full .slider-empty {
    width: 100%;
    max-width: none;
    aspect-ratio: 2172 / 724;
    min-height: 0;
    border: 1px solid rgba(224, 170, 0, 0.2);
    border-radius: 0 !important;
    background: linear-gradient(180deg, #ffe27a 0%, #ffcb05 100%);
    box-shadow: none !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slide {
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    overflow: hidden;
}

body.home-page .home-hero--slider-only .hero-slider--full .slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    border-radius: 0 !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control {
    width: 4rem;
    height: 4rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #5f4500;
    box-shadow:
        0 18px 38px rgba(24, 41, 61, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control--prev {
    left: 1.1rem;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control--next {
    right: 1.1rem;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control span {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    border-radius: inherit;
    background: transparent;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control svg {
    width: 1.34rem;
    height: 1.34rem;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control:hover,
body.home-page .home-hero--slider-only .hero-slider--full .slider-control:focus,
body.home-page .home-hero--slider-only .hero-slider--full .slider-control:focus-visible {
    background: rgba(255, 255, 255, 0.98);
    color: #2b2108;
    border-color: rgba(255, 214, 89, 0.9);
    box-shadow:
        0 22px 46px rgba(24, 41, 61, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
    outline: none;
    transform: translateY(-50%);
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control:focus-visible {
    box-shadow:
        0 0 0 4px rgba(255, 215, 0, 0.24),
        0 22px 46px rgba(24, 41, 61, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-dots {
    position: absolute;
    left: 50%;
    bottom: 1.15rem;
    transform: translateX(-50%);
    margin: 0;
    z-index: 3;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-dot {
    background: rgba(255, 255, 255, 0.46);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-dot.active {
    background: var(--bee-gold);
}

body.home-page .home-hero--slider-only + .home-search {
    margin-top: 0 !important;
    margin-bottom: 0;
}

body.home-page .home-search {
    position: relative;
    z-index: 4;
    padding: clamp(2.25rem, 4.8vw, 3rem) 0 clamp(2.55rem, 5.4vw, 3.45rem);
    background: var(--bee-surface-low);
}

body.home-page .home-search .section-search {
    width: min(44rem, calc(100% - 1rem));
    max-width: none;
    padding: 0;
    background: transparent !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}

body.home-page .home-search .global-search {
    min-height: clamp(4.6rem, 5vw, 5.15rem);
    padding: 0.7rem 0.85rem 0.7rem 1rem !important;
    border: 1px solid rgba(232, 191, 33, 0.36) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow:
        0 28px 56px rgba(35, 26, 9, 0.12),
        0 12px 24px rgba(255, 211, 64, 0.16) !important;
}

body.home-page .home-search .global-search:focus-within {
    border-color: rgba(224, 170, 0, 0.62) !important;
    box-shadow:
        0 30px 60px rgba(35, 26, 9, 0.14),
        0 0 0 4px rgba(255, 215, 0, 0.12) !important;
    transform: translateY(-1px);
}

body.home-page .home-search .global-search-icon {
    width: 3rem;
    height: 3rem;
    background: linear-gradient(135deg, rgba(255, 243, 196, 0.98), rgba(255, 214, 90, 0.95));
    color: #8c6500;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.82);
}

body.home-page .home-search .global-search input {
    font-size: 1.08rem;
    font-weight: 700;
    color: rgba(28, 27, 27, 0.84);
}

body.home-page .home-search .global-search input::placeholder {
    color: rgba(28, 27, 27, 0.42);
    font-weight: 600;
}

body.home-page .home-search .global-search-clear {
    width: 2.75rem;
    height: 2.75rem;
    background: rgba(249, 246, 238, 0.96);
    color: rgba(28, 27, 27, 0.5);
}

body.home-page .home-search .global-search-feedback {
    margin-top: 0.7rem;
    padding: 0 0.85rem;
    text-align: center;
    font-size: 0.9rem;
    color: rgba(28, 27, 27, 0.66);
    min-height: 0;
}

body.home-page .home-search .global-search-feedback[hidden],
body.home-page .home-search .global-search-feedback:empty {
    display: none;
}

body.home-page .home-main,
body.home-page .home-main--guest {
    padding-top: 0 !important;
}

body.home-page .home-main > .home-about,
body.home-page .home-main--guest > .home-about {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.home-page .home-hero--single {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-top: 7.9rem;
    padding-bottom: 0.85rem;
    overflow: clip;
}

body.home-page .home-hero--single .hero-shell--single {
    width: min(1600px, calc(100vw - 2rem));
    max-width: none;
    padding-inline: 0;
    margin-inline: auto;
}

body.home-page .home-hero--single .hero-feature {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
    align-items: center;
    gap: clamp(1.2rem, 3vw, 2.4rem);
    min-height: clamp(22rem, 29vw, 35rem);
    aspect-ratio: 2172 / 724;
    padding: clamp(1.5rem, 3vw, 2.6rem);
    border-radius: 2.2rem;
    background:
        radial-gradient(circle at top left, rgba(255, 255, 255, 0.52), rgba(255, 255, 255, 0) 26%),
        radial-gradient(circle at 82% 22%, rgba(99, 210, 255, 0.18), rgba(99, 210, 255, 0) 24%),
        radial-gradient(circle at 92% 88%, rgba(255, 215, 0, 0.16), rgba(255, 215, 0, 0) 28%),
        linear-gradient(135deg, #fff8dd 0%, #ffe06d 46%, #ffcb05 100%);
    border: 1px solid rgba(17, 17, 17, 0.08);
    box-shadow: 0 26px 50px rgba(17, 17, 17, 0.08);
    overflow: hidden;
}

body.home-page .home-hero--single .hero-feature::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(17, 17, 17, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(17, 17, 17, 0.05) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0));
    pointer-events: none;
}

body.home-page .home-hero--single .hero-feature__copy,
body.home-page .home-hero--single .hero-feature__visual {
    position: relative;
    z-index: 1;
}

body.home-page .home-hero--single .hero-feature__copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

body.home-page .home-hero--single .hero-feature__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.4rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.08);
    color: #111111;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.home-page .home-hero--single .hero-feature__eyebrow::before {
    content: "";
    width: 1rem;
    height: 1rem;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
    flex: 0 0 auto;
}

body.home-page .home-hero--single .hero-feature__title {
    margin: 1rem 0 0;
    max-width: 12ch;
    color: #111111;
    font-size: clamp(2.2rem, 4.2vw, 4.6rem);
    line-height: 0.94;
    letter-spacing: -0.07em;
    font-weight: 900;
    text-wrap: balance;
}

body.home-page .home-hero--single .hero-feature__summary {
    margin: 1rem 0 0;
    max-width: 34rem;
    color: rgba(17, 17, 17, 0.76);
    font-size: clamp(1rem, 1.2vw, 1.1rem);
    line-height: 1.72;
}

body.home-page .home-hero--single .hero-feature__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.4rem;
}

body.home-page .home-hero--single .hero-feature__cta {
    min-height: 3.35rem;
    padding-inline: 1.3rem;
    border-radius: 999px;
}

body.home-page .home-hero--single .hero-feature__cta--ghost {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(17, 17, 17, 0.08);
    color: #111111;
}

body.home-page .home-hero--single .hero-feature__cta--ghost:hover,
body.home-page .home-hero--single .hero-feature__cta--ghost:focus-visible {
    background: rgba(255, 255, 255, 0.88);
    color: #111111;
}

body.home-page .home-hero--single .hero-feature__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    width: min(100%, 38rem);
    margin-top: 1.55rem;
}

body.home-page .home-hero--single .hero-feature__stat {
    padding: 0.95rem 1rem;
    border-radius: 1.35rem;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(17, 17, 17, 0.08);
}

body.home-page .home-hero--single .hero-feature__stat strong {
    display: block;
    color: #111111;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1;
    font-weight: 900;
}

body.home-page .home-hero--single .hero-feature__stat span {
    display: block;
    margin-top: 0.35rem;
    color: rgba(17, 17, 17, 0.62);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-hero--single .hero-feature__visual {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    min-width: 0;
}

body.home-page .home-hero--single .hero-feature__board {
    position: relative;
    width: min(100%, 44rem);
    height: 100%;
    min-height: clamp(18rem, 24vw, 29rem);
    padding: clamp(1.1rem, 2.6vw, 1.7rem);
    border-radius: 1.9rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.74)),
        linear-gradient(rgba(29, 122, 255, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(29, 122, 255, 0.08) 1px, transparent 1px);
    background-size: auto, 36px 36px, 36px 36px;
    border: 1px solid rgba(17, 17, 17, 0.08);
    box-shadow: 0 20px 40px rgba(17, 17, 17, 0.08);
    overflow: hidden;
}

body.home-page .home-hero--single .hero-feature__board::before {
    content: "";
    position: absolute;
    inset: auto auto -3.5rem -3.5rem;
    width: 13rem;
    height: 13rem;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 203, 5, 0.24), rgba(255, 203, 5, 0));
}

body.home-page .home-hero--single .hero-feature__board-mark {
    width: 3.5rem;
    height: 3.5rem;
    padding: 0.65rem;
    border-radius: 1.15rem;
    background: rgba(255, 203, 5, 0.16);
}

body.home-page .home-hero--single .hero-feature__board-mark img {
    width: 100%;
    height: 100%;
    display: block;
}

body.home-page .home-hero--single .hero-feature__board-copy {
    max-width: 18rem;
    margin-top: 1rem;
}

body.home-page .home-hero--single .hero-feature__board-label {
    display: inline-block;
    color: rgba(17, 17, 17, 0.55);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.home-page .home-hero--single .hero-feature__board-copy strong {
    display: block;
    margin-top: 0.5rem;
    color: #111111;
    font-size: clamp(1.45rem, 1.8vw, 2rem);
    line-height: 1.08;
    letter-spacing: -0.05em;
    font-weight: 900;
}

body.home-page .home-hero--single .hero-feature__board-copy p {
    margin: 0.7rem 0 0;
    color: rgba(17, 17, 17, 0.68);
    font-size: 0.98rem;
    line-height: 1.65;
}

body.home-page .home-hero--single .hero-feature__board-art {
    position: absolute;
    right: -2.2rem;
    bottom: -1.8rem;
    width: min(56%, 30rem);
    max-width: 30rem;
}

body.home-page .home-hero--single .hero-feature__board-art img {
    display: block;
    width: 100%;
    height: auto;
}

body.home-page .home-hero--single .hero-feature__chip {
    position: absolute;
    display: inline-flex;
    align-items: center;
    min-height: 2.6rem;
    padding: 0.55rem 0.95rem;
    border-radius: 999px;
    background: #111111;
    color: #ffcb05;
    font-size: 0.84rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    box-shadow: 0 16px 28px rgba(17, 17, 17, 0.14);
}

body.home-page .home-hero--single .hero-feature__chip--top {
    top: 1rem;
    right: 0.8rem;
}

body.home-page .home-hero--single .hero-feature__chip--bottom {
    left: 1rem;
    bottom: 1rem;
}

@media (max-width: 1100px) {
    body.home-page .home-hero--single .hero-shell--single {
        width: min(100vw - 1.5rem, 1600px);
    }

    body.home-page .home-hero--single .hero-feature {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
        min-height: 0;
        aspect-ratio: auto;
    }

    body.home-page .home-hero--single .hero-feature__title {
        max-width: 13ch;
    }

    body.home-page .home-hero--single .hero-feature__board {
        min-height: 22rem;
    }
}

@media (max-width: 860px) {
    body.home-page .home-hero--single {
        padding-top: 6.9rem;
    }

    body.home-page .home-hero--single .hero-shell--single {
        width: min(100vw - 1rem, 1600px);
    }

    body.home-page .home-hero--single .hero-feature {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding: 1rem;
        border-radius: 1.6rem;
    }

    body.home-page .home-hero--single .hero-feature__summary {
        max-width: none;
    }

    body.home-page .home-hero--single .hero-feature__stats {
        width: 100%;
    }

    body.home-page .home-hero--single .hero-feature__board {
        min-height: 19rem;
        border-radius: 1.5rem;
    }

    body.home-page .home-hero--single .hero-feature__board-art {
        width: min(58%, 22rem);
        right: -1.5rem;
        bottom: -1rem;
    }
}

@media (max-width: 640px) {
    body.home-page .home-hero--single .hero-feature {
        padding: 0.9rem;
        border-radius: 1.35rem;
    }

    body.home-page .home-hero--single .hero-feature::before {
        background-size: 34px 34px;
    }

    body.home-page .home-hero--single .hero-feature__eyebrow {
        min-height: 2.1rem;
        padding: 0.38rem 0.72rem;
        font-size: 0.72rem;
    }

    body.home-page .home-hero--single .hero-feature__title {
        max-width: none;
        font-size: clamp(1.85rem, 9.6vw, 2.8rem);
    }

    body.home-page .home-hero--single .hero-feature__summary {
        font-size: 0.94rem;
        line-height: 1.62;
    }

    body.home-page .home-hero--single .hero-feature__actions {
        width: 100%;
        flex-direction: column;
    }

    body.home-page .home-hero--single .hero-feature__cta {
        width: 100%;
    }

    body.home-page .home-hero--single .hero-feature__stats {
        grid-template-columns: 1fr;
    }

    body.home-page .home-hero--single .hero-feature__board {
        min-height: 16rem;
        padding: 0.9rem;
    }

    body.home-page .home-hero--single .hero-feature__board-mark {
        width: 3rem;
        height: 3rem;
    }

    body.home-page .home-hero--single .hero-feature__board-copy {
        max-width: 13.5rem;
    }

    body.home-page .home-hero--single .hero-feature__board-copy strong {
        font-size: 1.35rem;
    }

    body.home-page .home-hero--single .hero-feature__board-copy p {
        font-size: 0.9rem;
        line-height: 1.5;
    }

    body.home-page .home-hero--single .hero-feature__chip {
        min-height: 2.2rem;
        padding: 0.45rem 0.8rem;
        font-size: 0.72rem;
    }
}

@media (max-width: 900px) {
    body.home-page .home-hero--slider-only {
        padding-top: 0.65rem;
    }

    body.home-page .home-hero--slider-only .hero-shell {
        width: calc(100vw - 0.85rem) !important;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider,
    body.home-page .home-hero--slider-only .hero-slider--full .slider-empty {
        min-height: 0;
        border-radius: 1.25rem !important;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-control {
        width: 3rem;
        height: 3rem;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-control svg {
        width: 1.05rem;
        height: 1.05rem;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-dots {
        bottom: 0.8rem;
    }
}

body .header-actions.has-notify-bell .user-menu {
    gap: 0.85rem;
}

body .header-actions.has-notify-bell .header-notify-btn,
body .header-actions.has-notify-bell .header-notify-btn.is-active {
    position: relative !important;
    display: grid !important;
    place-items: center;
    width: 3.35rem;
    height: 3.35rem;
    flex: 0 0 3.35rem;
    align-self: center;
    border-radius: 1.2rem !important;
    background: linear-gradient(180deg, #ffffff 0%, #f5f0e7 100%) !important;
    color: var(--bee-ink) !important;
    border: 1px solid rgba(208, 198, 171, 0.62) !important;
    box-shadow: 0 12px 24px rgba(19, 19, 19, 0.08) !important;
    overflow: visible !important;
    transform: none !important;
}

body .header-actions.has-notify-bell .header-notify-btn::before {
    content: "";
    position: absolute;
    inset: 0.38rem;
    border-radius: 0.95rem;
    background: rgba(17, 17, 17, 0.05);
}

body .header-actions.has-notify-bell .header-notify-btn:hover,
body .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    background: linear-gradient(180deg, #ffffff 0%, #f7f1df 100%) !important;
    color: var(--bee-ink) !important;
    border-color: rgba(233, 196, 0, 0.62) !important;
    box-shadow: 0 16px 30px rgba(233, 196, 0, 0.2) !important;
    transform: translateY(-1px) !important;
}

body .header-actions.has-notify-bell .header-notify-btn__icon {
    position: relative;
    z-index: 1;
    width: 1.35rem;
    height: 1.35rem;
    color: var(--bee-ink);
}

body .header-actions.has-notify-bell .header-notify-btn__icon svg {
    width: 100%;
    height: 100%;
}

body .header-actions.has-notify-bell .header-notify-btn__badge {
    top: -0.34rem;
    right: -0.28rem;
    min-width: 1.35rem;
    height: 1.35rem;
    padding: 0 0.32rem;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    border: 2px solid #fff;
    font-size: 0.68rem;
    line-height: 1.15rem;
    box-shadow: 0 10px 16px rgba(239, 68, 68, 0.22);
    z-index: 2;
}

@media (max-width: 900px) {
    body .header-actions.has-notify-bell .user-menu {
        gap: 0.55rem;
    }

    body .header-actions.has-notify-bell .header-notify-btn,
    body .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 2.95rem;
        height: 2.95rem;
        flex-basis: 2.95rem;
        border-radius: 1rem !important;
    }

    body .header-actions.has-notify-bell .header-notify-btn::before {
        inset: 0.34rem;
        border-radius: 0.78rem;
    }

body .header-actions.has-notify-bell .header-notify-btn__icon {
        width: 1.16rem;
        height: 1.16rem;
    }
}

@media (min-width: 901px) {
    body .main-nav {
        display: flex;
        align-items: end;
        justify-content: space-between;
        flex: 1 1 36rem;
        width: 100%;
        max-width: 50rem;
        min-width: 0;
        gap: 0.9rem;
        padding: 0 !important;
    }

    body .main-nav a {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.22rem;
        min-height: 3rem;
        padding: 0.2rem 0.05rem 0.5rem !important;
        color: rgba(28, 27, 27, 0.72) !important;
        font-weight: 800;
        letter-spacing: -0.02em;
        text-align: center;
        white-space: nowrap;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        flex: 0 1 auto;
    }

    body .main-nav a::before {
        content: none;
    }

    body .main-nav a::after {
        content: none;
    }

    body .main-nav a:hover,
    body .main-nav a:focus-visible {
        color: var(--bee-ink) !important;
        background: transparent !important;
    }

}

body .main-nav a[aria-current="page"],
body.mobile-nav-ready .main-nav a[aria-current="page"] {
    color: var(--bee-ink) !important;
    background: transparent !important;
}

body .main-nav a[aria-current="page"]::after,
body.mobile-nav-ready .main-nav a[aria-current="page"]::after {
    transform: scaleX(1);
    opacity: 1;
}

@media (min-width: 901px) {
    body .main-nav a::after,
    body .main-nav a[aria-current="page"]::after,
    body.course-page .main-nav a::after,
    body.course-page .main-nav a[aria-current="page"]::after {
        content: none !important;
        display: none !important;
    }
}

@media (max-width: 900px) {
    body.mobile-nav-ready .site-header,
    body.mobile-nav-ready .site-header.exam-page-header,
    body.mobile-nav-ready .site-header.container,
    body.mobile-nav-ready .site-header.exam-page-header.container {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "logo menu"
            "actions actions"
            "nav nav";
        align-items: center;
        gap: 0.8rem 0.9rem;
        background: linear-gradient(180deg, rgba(255, 249, 226, 0.98), rgba(255, 241, 191, 0.96)) !important;
        border-radius: 0 !important;
        box-shadow: 0 18px 36px rgba(122, 94, 16, 0.12) !important;
        overflow: visible !important;
    }

    body.mobile-nav-ready .logo-block {
        grid-area: logo;
        width: 100%;
        min-width: 0;
        margin: 0 0 0 -0.14rem;
        padding: 0;
        justify-self: start;
        justify-content: flex-start;
    }

    body.mobile-nav-ready .logo-link {
        display: inline-flex;
        align-items: center;
        margin: 0;
        padding: 0;
        justify-content: flex-start;
    }

    body.mobile-nav-ready .site-logo {
        width: auto !important;
        height: 3rem !important;
        max-width: min(52vw, 200px);
        filter: none !important;
    }

    body.mobile-nav-ready .header-actions {
        display: flex !important;
        grid-area: actions;
        order: initial;
        width: 100%;
        min-width: 0;
        max-width: 100%;
        margin-left: 0;
        justify-content: flex-start;
        align-items: center;
        gap: 0.8rem;
    }

    body.mobile-nav-ready .header-actions.has-notify-bell .user-menu {
        display: flex;
        align-items: center;
        flex: 1 1 auto;
        min-width: 0;
        gap: 0.8rem;
        width: 100%;
        max-width: 100%;
        padding: 0;
        background: transparent !important;
        border-radius: 0;
        box-shadow: none !important;
    }

    body.mobile-nav-ready .mobile-nav-toggle {
        grid-area: menu;
        order: initial;
        justify-self: end;
        margin: 0 -0.14rem 0 0 !important;
        width: 3.35rem;
        height: 3.35rem;
        border-radius: 1.15rem;
        background: linear-gradient(180deg, #fffef7 0%, #f6f0df 100%) !important;
        border: 1px solid rgba(208, 198, 171, 0.72) !important;
        box-shadow: 0 10px 22px rgba(122, 94, 16, 0.12) !important;
    }

    body.mobile-nav-ready .main-nav {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        grid-area: nav;
        margin-top: 0.55rem !important;
        grid-column: 1 / -1;
    }

    body.mobile-nav-ready .main-nav:not(.is-open) {
        display: none !important;
    }

    body.mobile-nav-ready .main-nav.is-open {
        display: grid !important;
    }

    body.mobile-nav-ready .main-nav a[aria-current="page"] {
        padding: 0.85rem 1rem !important;
        border-radius: 1rem !important;
        background: rgba(255, 215, 0, 0.14) !important;
    }

    body.mobile-nav-ready .main-nav a[aria-current="page"]::after {
        content: none !important;
    }

    body.mobile-nav-ready .header-actions.has-notify-bell .user-menu,
    body.mobile-nav-ready .user-menu {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    body.mobile-nav-ready .header-actions.has-notify-bell .user-menu {
        gap: 0.8rem;
    }

    body.mobile-nav-ready .user-toggle,
    body.mobile-nav-ready .header-actions .user-toggle,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-toggle {
        position: relative;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto auto;
        grid-template-areas: "meta avatar caret";
        align-items: center;
        gap: 0.78rem !important;
        flex: 1 1 auto;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: auto;
        padding: 0 !important;
        background: transparent !important;
        color: var(--bee-ink) !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none;
    }

    body.mobile-nav-ready .user-toggle:hover,
    body.mobile-nav-ready .user-toggle:focus,
    body.mobile-nav-ready .user-toggle:focus-visible,
    body.mobile-nav-ready .user-toggle:active,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-toggle:hover,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-toggle:focus,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-toggle:focus-visible,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-toggle:active {
        background: transparent !important;
        color: var(--bee-ink) !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }

    body.mobile-nav-ready .user-greeting {
        display: block;
        color: var(--bee-copy-soft) !important;
        opacity: 1;
        font-size: 0.62rem;
        line-height: 1.1;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
    }

    body.mobile-nav-ready .user-name,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-name {
        max-width: 100%;
        color: var(--bee-ink) !important;
        font-size: 1rem;
        font-weight: 800;
        letter-spacing: -0.03em;
        line-height: 1.04;
    }

    body.mobile-nav-ready .header-actions.has-notify-bell .header-notify-btn,
    body.mobile-nav-ready .header-actions.has-notify-bell .header-notify-btn.is-active {
        position: relative !important;
        display: grid !important;
        place-items: center;
        width: 3.25rem;
        height: 3.25rem;
        flex: 0 0 3.25rem;
        align-self: center;
        border-radius: 1.15rem !important;
        margin: 0;
        overflow: visible !important;
        transform: none !important;
        background: linear-gradient(180deg, #ffffff 0%, #f5f0e7 100%) !important;
        color: var(--bee-ink) !important;
        border: 1px solid rgba(208, 198, 171, 0.62) !important;
        box-shadow: 0 12px 24px rgba(19, 19, 19, 0.08) !important;
    }

    body.mobile-nav-ready .header-actions.has-notify-bell .header-notify-btn::before {
        content: "";
        position: absolute;
        inset: 0.38rem;
        border-radius: 0.92rem;
        background: rgba(17, 17, 17, 0.05);
    }

    body.mobile-nav-ready .user-avatar {
        grid-area: avatar;
        width: 3rem;
        height: 3rem;
        border-radius: 999px;
        border: 2px solid rgba(255, 215, 0, 0.58);
        background: #fff;
        box-shadow: 0 10px 20px rgba(233, 196, 0, 0.16);
    }

    body.mobile-nav-ready .user-caret {
        grid-area: caret;
        margin-left: 0.18rem;
        border-top-color: var(--bee-gold) !important;
    }

    body.mobile-nav-ready .user-dropdown {
        position: absolute !important;
        top: calc(100% + 0.6rem) !important;
        right: 0 !important;
        left: auto !important;
        width: min(20rem, calc(100vw - 1rem)) !important;
        min-width: 0 !important;
        margin-top: 0 !important;
        padding: 0 !important;
        background: linear-gradient(180deg, rgba(255, 251, 233, 0.98), rgba(255, 242, 184, 0.96)) !important;
        border: 1px solid rgba(233, 196, 0, 0.24) !important;
        box-shadow: 0 30px 60px rgba(233, 196, 0, 0.18) !important;
        border-radius: 1.9rem !important;
        backdrop-filter: none;
        overflow: hidden !important;
    }
}

@media (max-width: 560px) {
    body.mobile-nav-ready .site-header,
    body.mobile-nav-ready .site-header.exam-page-header,
    body.mobile-nav-ready .site-header.container,
    body.mobile-nav-ready .site-header.exam-page-header.container {
        gap: 0.55rem;
        padding-inline: 0.95rem;
    }

    body.mobile-nav-ready .logo-block {
        margin-left: -0.16rem;
    }

    body.mobile-nav-ready .site-logo {
        height: 3.1rem !important;
        max-width: min(54vw, 206px);
    }

    body.mobile-nav-ready .mobile-nav-toggle {
        margin-right: -0.16rem !important;
    }

    body.mobile-nav-ready .user-name,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-name {
        max-width: 100%;
        font-size: 0.94rem;
        line-height: 1.04;
    }

    body.mobile-nav-ready .user-greeting {
        font-size: 0.58rem;
        letter-spacing: 0.14em;
    }

    body.mobile-nav-ready .header-actions {
        gap: 0.65rem;
    }

    body.mobile-nav-ready .header-actions.has-notify-bell .user-menu {
        gap: 0.65rem;
    }

    body.mobile-nav-ready .header-actions.has-notify-bell .header-notify-btn,
    body.mobile-nav-ready .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 3rem;
        height: 3rem;
        flex-basis: 3rem;
        border-radius: 1rem !important;
    }

    body.mobile-nav-ready .header-actions.has-notify-bell .header-notify-btn::before {
        inset: 0.34rem;
        border-radius: 0.78rem;
    }

    body.mobile-nav-ready .user-avatar {
        width: 2.85rem;
        height: 2.85rem;
    }

    /* Keep mobile user strip visually clean: no gray slab behind name/avatar */
    body.mobile-nav-ready .header-actions,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-menu,
    body.mobile-nav-ready .user-menu,
    body.mobile-nav-ready .user-toggle,
    body.mobile-nav-ready .header-actions .user-toggle,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-toggle,
    body.mobile-nav-ready .user-meta {
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        border-color: transparent !important;
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    body.mobile-nav-ready .user-toggle,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-toggle {
        border: 0 !important;
        border-radius: 0 !important;
    }

    body.mobile-nav-ready .user-toggle::before,
    body.mobile-nav-ready .header-actions.has-notify-bell .user-toggle::before {
        content: none !important;
    }
}

body.post-page .post-header {
    padding-top: clamp(7.9rem, 10vw, 9.3rem);
}

body.post-page {
    background:
        radial-gradient(circle at 8% 8%, rgba(255, 215, 0, 0.16), transparent 20%),
        linear-gradient(180deg, #fffdfa 0%, #fff8e7 100%);
    font-family: "Nunito Sans", system-ui, sans-serif;
    color: #302b24;
}

body.post-page .post-header,
body.post-page .post-content,
body.post-page .post-related {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.post-page .post-header {
    padding-bottom: clamp(1.35rem, 3vw, 2rem);
}

body.post-page .post-header .container {
    width: min(72rem, calc(100% - 2rem));
}

body.post-page .post-back {
    color: #b38700;
}

body.post-page .post-header h1 {
    max-width: none;
    width: 100%;
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: clamp(2.3rem, 5vw, 4.2rem);
    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.05em;
}

body.post-page .post-meta {
    margin-top: 1rem;
    gap: 0.65rem;
    flex-wrap: wrap;
    font-size: 0.95rem;
    font-weight: 700;
    color: rgba(48, 43, 36, 0.68);
}

body.post-page .post-meta span {
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.14);
}

body.post-page .post-content {
    width: min(72rem, calc(100% - 2rem));
    max-width: none;
    margin: 0 auto;
    padding: 0 0 clamp(2.8rem, 5vw, 4rem);
}

body.post-page .post-article {
    display: grid;
    gap: 1.35rem;
}

body.post-page .post-hero,
body.post-page .post-video {
    margin: 0;
}

body.post-page .post-hero img,
body.post-page .post-video iframe {
    width: 100%;
    margin: 0;
    border-radius: 2rem;
    box-shadow: 0 28px 60px rgba(17, 17, 17, 0.12);
}

body.post-page .post-video-link {
    margin: -0.15rem 0 0;
}

body.post-page .post-video-link a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.85rem 1.1rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.14);
    color: var(--bee-ink);
    font-weight: 800;
    text-decoration: none;
}

body.post-page .post-excerpt {
    margin: 0;
    padding: 1.15rem 1.35rem;
    border-radius: 1.4rem;
    border: 1px solid rgba(255, 215, 0, 0.42);
    background: linear-gradient(180deg, rgba(255, 251, 230, 0.96), rgba(255, 245, 201, 0.92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: 1.06rem;
    line-height: 1.85;
    color: #5f5138;
}

body.post-page .post-body {
    padding: clamp(1.6rem, 3.5vw, 2.75rem);
    border-radius: 2rem;
    border: 1px solid rgba(17, 17, 17, 0.06);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 30px 70px rgba(17, 17, 17, 0.08);
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: clamp(1.04rem, 0.2vw + 1rem, 1.1rem);
    line-height: 1.92;
    color: #3c3328;
}

body.post-page .post-body > *:first-child {
    margin-top: 0 !important;
}

body.post-page .post-body > *:last-child {
    margin-bottom: 0 !important;
}

body.post-page .post-body :where(p, ul, ol, li, span, strong, em, a, blockquote, figcaption, div) {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
}

body.post-page .post-body p {
    margin: 0 0 1.1rem;
}

body.post-page .post-body h2,
body.post-page .post-body h3,
body.post-page .post-body h4,
body.post-page .post-body h5,
body.post-page .post-body h6 {
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    color: var(--bee-ink) !important;
    letter-spacing: -0.03em;
    line-height: 1.18;
}

body.post-page .post-body h2 {
    margin: 2.6rem 0 1rem;
    padding-top: 1.2rem;
    border-top: 1px dashed rgba(255, 215, 0, 0.52);
    font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
    font-weight: 800;
}

body.post-page .post-body h3 {
    margin: 2rem 0 0.8rem;
    font-size: clamp(1.22rem, 1.6vw, 1.42rem) !important;
    font-weight: 800;
}

body.post-page .post-body h4,
body.post-page .post-body h5,
body.post-page .post-body h6 {
    margin: 1.5rem 0 0.6rem;
    font-size: 1.08rem !important;
    font-weight: 800;
}

body.post-page .post-body ul,
body.post-page .post-body ol {
    margin: 0 0 1.2rem;
    padding-left: 1.35rem;
}

body.post-page .post-body li {
    margin-bottom: 0.55rem;
}

body.post-page .post-body ul li::marker,
body.post-page .post-body ol li::marker {
    color: #c89400;
}

body.post-page .post-body a {
    color: #a97700 !important;
    font-weight: 700;
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.14em;
}

body.post-page .post-body blockquote {
    margin: 1.5rem 0;
    padding: 1rem 1.2rem;
    border-left: 4px solid rgba(255, 215, 0, 0.72);
    border-radius: 0 1rem 1rem 0;
    background: rgba(255, 247, 214, 0.78);
    color: #4f4534;
}

body.post-page .post-body img,
body.post-page .post-body iframe,
body.post-page .post-body figure {
    margin: 1.7rem auto;
}

body.post-page .post-body img,
body.post-page .post-body iframe {
    border-radius: 1.4rem;
    box-shadow: 0 20px 40px rgba(17, 17, 17, 0.1);
}

body.post-page .post-body img.emoji,
body.post-page .post-body img[src*="images/emoji.php"],
body.post-page .post-body img[src*="s.w.org/images/core/emoji"],
body.post-page .post-body img[src*="twemoji"] {
    display: inline-block !important;
    width: 1.15em !important;
    max-width: none !important;
    height: 1.15em !important;
    margin: 0 0.05em !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    vertical-align: -0.2em;
    object-fit: contain;
}

body.post-page .post-empty {
    padding: 2rem;
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(17, 17, 17, 0.06);
    box-shadow: 0 24px 52px rgba(17, 17, 17, 0.08);
}

body.post-page .post-related {
    width: min(72rem, calc(100% - 2rem));
    padding-top: clamp(1rem, 3vw, 1.5rem);
    padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

body.post-page .post-related h2 {
    margin-bottom: 1.4rem;
    font-family: "Nunito Sans", system-ui, sans-serif;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    text-align: left;
}

body.post-page .post-related .blog-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 22rem));
    gap: clamp(1.15rem, 2.2vw, 1.6rem);
    justify-content: start;
    align-items: stretch;
}

body.post-page .post-related .blog-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    max-width: none;
    margin: 0;
    padding: 0 !important;
    border-radius: 2.05rem !important;
    border: 1px solid rgba(212, 193, 132, 0.14) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08) !important;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.post-page .post-related .blog-card:hover,
body.post-page .post-related .blog-card:focus-within {
    transform: translateY(-1px);
    border-color: rgba(229, 180, 0, 0.22) !important;
    box-shadow: 0 28px 46px rgba(27, 24, 14, 0.12) !important;
}

body.post-page .post-related .blog-card:focus-visible {
    outline: 2px solid rgba(255, 203, 5, 0.5);
    outline-offset: 2px;
}

body.post-page .post-related .blog-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(255, 251, 232, 0.96), rgba(248, 244, 237, 0.94));
    box-shadow: none !important;
}

body.post-page .post-related .blog-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: none !important;
    transition: transform 0.35s ease;
}

body.post-page .post-related .blog-card:hover .blog-thumb img {
    transform: scale(1.02);
}

body.post-page .post-related .blog-badge {
    top: 0.9rem;
    left: 0.9rem;
    min-height: 2rem;
    padding: 0.36rem 0.78rem;
    border-radius: 999px;
    background: rgba(255, 251, 232, 0.94);
    border: 1px solid rgba(229, 180, 0, 0.18);
    color: #8b6500;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    box-shadow: none;
}

body.post-page .post-related .blog-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1.65rem 1.75rem 1.55rem;
}

body.post-page .post-related .blog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

body.post-page .post-related .blog-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.34rem 0.76rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: #f6f1e4 !important;
    color: rgba(28, 27, 27, 0.62) !important;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
}

body.post-page .post-related .blog-meta span + span::before {
    content: none;
}

body.post-page .post-related .blog-info h3 {
    margin: 0;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: clamp(1.35rem, 2vw, 1.72rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
    font-weight: 900;
    color: #141414 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.post-page .post-related .blog-excerpt {
    margin: 0;
    color: rgba(28, 27, 27, 0.72);
    font-size: 1rem;
    line-height: 1.68;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.post-page .post-related .blog-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: auto;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #141414 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    font-weight: 900;
    line-height: 1.2;
}

body.post-page .post-related .blog-link::before {
    content: "Xem b\00E0 i vi\1EBF t";
    font-size: 1.08rem;
}

body.post-page .post-related .blog-link::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #f4f1ef;
    color: #131313;
    font-size: 2rem;
    line-height: 1;
    box-shadow: none !important;
    transition: background 0.2s ease, color 0.2s ease;
}

body.post-page .post-related .blog-card:hover .blog-link::after,
body.post-page .post-related .blog-card:focus-within .blog-link::after {
    background: #ffd700;
    color: #131313;
}

@media (max-width: 768px) {
    body.post-page .post-header {
        /* Fixed mobile header has two rows (logo/menu + user strip). Keep article below it. */
        padding-top: calc(env(safe-area-inset-top, 0px) + 10.6rem);
    }

    body.post-page .post-header h1 {
        max-width: 100%;
        font-size: clamp(2rem, 10vw, 2.9rem);
    }

    body.post-page .post-content,
    body.post-page .post-related,
    body.post-page .post-header .container {
        width: calc(100% - 1.25rem);
    }

    body.post-page .post-body {
        padding: 1.2rem 1rem 1.4rem;
        border-radius: 1.4rem;
        font-size: 1rem;
    }

    body.post-page .post-hero img,
    body.post-page .post-video iframe {
        border-radius: 1.4rem;
    }

    body.post-page .post-meta {
        font-size: 0.88rem;
    }

    body.post-page .post-related .blog-list {
        grid-template-columns: 1fr;
    }

    body.post-page .post-related .blog-info {
        padding: 1.25rem 1.2rem 1.2rem;
    }
}

@media (max-width: 560px) {
    body.post-page .post-header {
        padding-top: calc(env(safe-area-inset-top, 0px) + 11.1rem);
    }
}

/* Homepage games section */
body.home-page .home-games {
    position: relative;
    padding-top: 0;
    padding-bottom: clamp(3rem, 4.8vw, 4rem);
    background:
        radial-gradient(circle at 10% 12%, rgba(107, 209, 255, 0.16), rgba(107, 209, 255, 0) 24%),
        radial-gradient(circle at 92% 16%, rgba(255, 215, 0, 0.18), rgba(255, 215, 0, 0) 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(247, 243, 236, 0.96));
}

body.home-page .home-games .container {
    position: relative;
}

body.home-page .home-games .section-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1.4rem;
    margin-bottom: 1.7rem;
}

body.home-page .home-games .section-text {
    max-width: 100%;
}

body.home-page .home-games .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(107, 209, 255, 0.15);
    color: #14637d;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

body.home-page .home-games .section-kicker::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #63d2ff, #ffd447);
    box-shadow: 0 0 0 0.3rem rgba(99, 210, 255, 0.14);
}

body.home-page .home-games .section-text h2 {
    margin: 0.8rem 0 0.7rem;
    font-size: clamp(1.9rem, 3.2vw, 3rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
    font-weight: 900;
    color: #131313;
}

body.home-page .home-games .section-text p {
    margin: 0;
    max-width: 38rem;
    font-size: 1rem;
    line-height: 1.68;
    color: rgba(28, 27, 27, 0.72);
}

body.home-page .home-games .section-stats {
    display: flex;
    justify-content: flex-end;
}

body.home-page .home-games .stat-pill {
    min-width: 10.25rem;
    padding: 1rem 1.15rem;
    border-radius: 1.55rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background:
        radial-gradient(circle at top right, rgba(99, 210, 255, 0.22), rgba(99, 210, 255, 0) 46%),
        radial-gradient(circle at bottom left, rgba(255, 215, 0, 0.18), rgba(255, 215, 0, 0) 38%),
        #ffffff;
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.06);
}

body.home-page .home-games .stat-pill strong {
    display: block;
    font-size: clamp(1.7rem, 2.8vw, 2.3rem);
    line-height: 1;
    color: #131313;
}

body.home-page .home-games .stat-pill span {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(28, 27, 27, 0.5);
}

body.home-page .home-games-shell {
    display: block;
}

body.home-page .home-game-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

body.home-page .home-games-panel {
    padding: 1.05rem;
    border-radius: 2rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.12), rgba(255, 215, 0, 0) 34%),
        rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 42px rgba(19, 19, 19, 0.08);
}

body.home-page .home-games-overview {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

body.home-page .home-games-overview__copy {
    display: grid;
    gap: 0.35rem;
}

body.home-page .home-games-panel__title {
    margin: 0;
    color: #131313;
    font-size: clamp(1.08rem, 1.7vw, 1.34rem);
    line-height: 1.18;
    letter-spacing: -0.03em;
}

body.home-page .home-games-login-cta {
    flex: 0 0 auto;
}

body.home-page .home-games-toolbar {
    display: grid;
    gap: 0.9rem;
    margin-bottom: 1rem;
}

body.home-page .home-games-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

body.home-page .home-games-filter-select-wrap {
    display: none;
    position: relative;
}

body.home-page .home-games-filter-select-label {
    display: block;
    margin: 0 0 0.38rem;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.home-page .home-games-filter-select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.home-page .home-games-filter-dropdown {
    position: relative;
    z-index: 6;
}

body.home-page .home-games-filter-dropdown__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.64rem 1.05rem 0.64rem 1.25rem;
    border: 1px solid rgba(224, 170, 0, 0.34);
    border-radius: 999px;
    background:
        radial-gradient(circle at 14% 12%, rgba(255, 237, 174, 0.8), rgba(255, 237, 174, 0) 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(255, 249, 231, 0.94));
    color: rgba(19, 19, 19, 0.84);
    font: inherit;
    font-size: 0.95rem;
    font-weight: 900;
    text-align: left;
    cursor: pointer;
    box-shadow:
        inset 0 0 0 4px rgba(255, 225, 96, 0.18),
        0 12px 24px rgba(19, 19, 19, 0.06);
}

body.home-page .home-games-filter-dropdown__button:hover,
body.home-page .home-games-filter-dropdown__button:focus-visible,
body.home-page .home-games-filter-dropdown.is-open .home-games-filter-dropdown__button {
    outline: 3px solid rgba(243, 199, 37, 0.32);
    outline-offset: 2px;
    border-color: rgba(243, 199, 37, 0.34);
}

body.home-page .home-games-filter-dropdown__chevron {
    flex: 0 0 auto;
    width: 0.62rem;
    height: 0.62rem;
    border-right: 2px solid rgba(19, 19, 19, 0.68);
    border-bottom: 2px solid rgba(19, 19, 19, 0.68);
    transform: translateY(-2px) rotate(45deg);
    transition: transform 0.18s ease;
}

body.home-page .home-games-filter-dropdown.is-open .home-games-filter-dropdown__chevron {
    transform: translateY(2px) rotate(225deg);
}

body.home-page .home-games-filter-dropdown__menu {
    position: absolute;
    top: calc(100% + 0.42rem);
    left: 0;
    right: 0;
    z-index: 12;
    display: grid;
    gap: 0.2rem;
    max-height: min(19rem, 58vh);
    padding: 0.38rem;
    overflow-y: auto;
    border: 1px solid rgba(224, 170, 0, 0.24);
    border-radius: 1.25rem;
    background:
        radial-gradient(circle at top left, rgba(255, 229, 134, 0.28), rgba(255, 229, 134, 0) 40%),
        rgba(255, 253, 246, 0.98);
    box-shadow: 0 24px 44px rgba(19, 19, 19, 0.16);
}

body.home-page .home-games-filter-dropdown__option {
    display: block;
    width: 100%;
    padding: 0.74rem 0.9rem;
    border: 0;
    border-radius: 0.95rem;
    background: transparent;
    color: rgba(19, 19, 19, 0.78);
    font: inherit;
    font-size: 0.92rem;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

body.home-page .home-games-filter-dropdown__option:hover,
body.home-page .home-games-filter-dropdown__option:focus-visible {
    outline: none;
    background: rgba(255, 239, 178, 0.72);
    color: rgba(19, 19, 19, 0.94);
}

body.home-page .home-games-filter-dropdown__option.is-active {
    background: linear-gradient(135deg, #f6c514, #d99f00);
    color: #17120a;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42);
}

body.home-page .home-games-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.58rem;
    min-height: 3rem;
    padding: 0.6rem 0.95rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    border-radius: 999px;
    background: rgba(247, 244, 237, 0.92);
    color: rgba(28, 27, 27, 0.7);
    font-size: 0.84rem;
    font-weight: 800;
    transition: border-color var(--bee-fast), background-color var(--bee-fast), color var(--bee-fast), box-shadow var(--bee-fast);
}

body.home-page .home-games-filter-btn strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.8rem;
    min-height: 1.8rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.15);
    color: #7b6100;
    font-size: 0.76rem;
    font-weight: 900;
}

body.home-page .home-games-filter-btn:hover,
body.home-page .home-games-filter-btn:focus-visible {
    color: #131313;
    border-color: rgba(243, 199, 37, 0.28);
    background: rgba(255, 255, 255, 0.98);
}

body.home-page .home-games-filter-btn.is-active {
    color: #131313;
    border-color: rgba(243, 199, 37, 0.28);
    background: linear-gradient(135deg, #ffe178 0%, #ffcb05 100%);
    box-shadow: 0 14px 24px rgba(243, 199, 37, 0.2);
}

body.home-page .home-games-filter-btn.is-active strong {
    background: rgba(255, 255, 255, 0.7);
    color: #6d5400;
}

body.home-page .home-games-status {
    margin: 0;
    color: rgba(28, 27, 27, 0.58);
    font-size: 0.86rem;
    font-weight: 700;
}

body.home-page .home-games-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.95rem;
}

body.home-page .home-game-card {
    display: block;
    min-width: 0;
    border-radius: 1.35rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 248, 239, 0.92));
    box-shadow: 0 16px 26px rgba(19, 19, 19, 0.05);
    transition: transform var(--bee-fast), box-shadow var(--bee-fast);
}

body.home-page .home-game-card:hover,
body.home-page .home-game-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 22px 34px rgba(19, 19, 19, 0.08);
}

body.home-page .home-game-card.is-in-lessons {
    border-color: rgba(243, 199, 37, 0.24);
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.1), rgba(255, 215, 0, 0) 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(252, 248, 239, 0.94));
}

body.home-page .home-game-card.is-fresh {
    background:
        radial-gradient(circle at top right, rgba(107, 209, 255, 0.1), rgba(107, 209, 255, 0) 32%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 248, 239, 0.92));
}

body.home-page .home-game-card__link {
    display: grid;
    grid-template-columns: 6.35rem minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    min-width: 0;
    min-height: 100%;
    padding: 0.78rem;
    color: inherit;
    text-decoration: none;
}

body.home-page .home-game-card__link:focus-visible {
    outline: 3px solid rgba(243, 199, 37, 0.38);
    outline-offset: -1px;
    border-radius: 1.35rem;
}

body.home-page .home-game-card__thumb {
    display: block;
    align-self: start;
    aspect-ratio: 1 / 1;
    border-radius: 1rem;
    overflow: hidden;
    background: #ece7dc;
}

body.home-page .home-game-card__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home-page .home-game-card__body {
    display: grid;
    gap: 0.52rem;
    min-width: 0;
}

body.home-page .home-game-card__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.8rem;
    padding: 0.34rem 0.72rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.12);
    color: #7b6100;
    font-size: 0.73rem;
    font-weight: 900;
}

body.home-page .home-game-card h3 {
    margin: 0;
    min-width: 0;
    font-size: 1.02rem;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: #131313;
}

body.home-page .home-game-card__summary {
    margin: 0;
    color: rgba(28, 27, 27, 0.68);
    font-size: 0.85rem;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.home-page .home-game-card__footer {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.7rem;
    margin-top: auto;
}

body.home-page .home-game-category-card .home-game-card__footer {
    justify-content: space-between;
}

body.home-page .home-game-card__meta {
    color: rgba(28, 27, 27, 0.52);
    font-size: 0.76rem;
    font-weight: 700;
}

body.home-page .home-game-card__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.16);
    color: #6d5400;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    transition: transform var(--bee-fast), background-color var(--bee-fast), color var(--bee-fast);
}

body.home-page .home-game-card:hover .home-game-card__arrow,
body.home-page .home-game-card:focus-within .home-game-card__arrow {
    transform: translateX(2px);
    background: linear-gradient(135deg, #ffe178 0%, #ffcb05 100%);
    color: #131313;
}

body.home-page .home-games-empty {
    margin: 1rem 0 0;
    padding: 1rem 1.15rem;
    border-radius: 1.25rem;
    background: rgba(247, 244, 237, 0.92);
    color: rgba(28, 27, 27, 0.6);
    font-size: 0.92rem;
    font-weight: 700;
    text-align: center;
}

body.home-page .home-games-pagination {
    display: flex;
    justify-content: center;
    margin-top: 1.15rem;
}

body.home-page .home-games-pagination[hidden] {
    display: none !important;
}

body.home-page .home-games-pagination__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.home-page .home-games-pagination__button {
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.8rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: rgba(28, 27, 27, 0.78);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: transform var(--bee-fast), background-color var(--bee-fast), border-color var(--bee-fast), color var(--bee-fast), box-shadow var(--bee-fast);
}

body.home-page .home-games-pagination__button:hover,
body.home-page .home-games-pagination__button:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(243, 199, 37, 0.28);
    background: #ffffff;
    color: #131313;
    box-shadow: 0 10px 18px rgba(243, 199, 37, 0.16);
}

body.home-page .home-games-pagination__button.is-current {
    border-color: rgba(243, 199, 37, 0.32);
    background: linear-gradient(135deg, #ffe178 0%, #ffcb05 100%);
    color: #131313;
    box-shadow: 0 12px 22px rgba(243, 199, 37, 0.2);
}

body.home-page .home-games-load-more {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

body.home-page .home-games-load-more .btn-ghost {
    min-width: 11rem;
}

@media (max-width: 1100px) {
    body.home-page .home-games-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    body.home-page .home-games {
        padding-top: 0;
        padding-bottom: 2.8rem;
    }

    body.home-page .home-games .section-intro {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 0.9rem;
        margin-bottom: 1.25rem;
    }

    body.home-page .home-games .section-stats {
        justify-content: flex-start;
    }

    body.home-page .home-games-grid {
        grid-template-columns: 1fr;
    }

    body.home-page .home-games-overview {
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    body.home-page .home-games-panel {
        padding: 0.85rem;
        border-radius: 1.6rem;
    }

    body.home-page .home-games-filters {
        display: none;
    }

    body.home-page .home-games-filter-select-wrap {
        display: block;
    }

    body.home-page .home-game-card {
        display: block;
    }

    body.home-page .home-game-card__link {
        grid-template-columns: 5.25rem minmax(0, 1fr);
        padding: 0.72rem;
    }

    body.home-page .home-game-card__footer {
        align-items: flex-start;
    }

    body.home-page .home-games-login-cta {
        width: 100%;
        justify-content: center;
    }

    body.home-page .home-games-pagination__list {
        flex-wrap: wrap;
    }

    body.home-page .home-games-pagination__button {
        min-width: 2.3rem;
        height: 2.3rem;
        font-size: 0.84rem;
    }
}

/* Homepage class section rebuild */
body.home-page .class-section {
    position: relative;
    padding-top: clamp(2.6rem, 4vw, 3.2rem);
    padding-bottom: clamp(3rem, 4.8vw, 4.25rem);
    background:
        radial-gradient(circle at 8% 10%, rgba(255, 215, 0, 0.22), rgba(255, 215, 0, 0) 26%),
        radial-gradient(circle at 92% 18%, rgba(255, 233, 154, 0.2), rgba(255, 233, 154, 0) 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(247, 243, 236, 0.96));
}

body.home-page .class-section .container {
    position: relative;
}

body.home-page .class-section .section-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1.4rem;
    margin-bottom: 1.8rem;
}

body.home-page .class-section .section-text {
    max-width: 100%;
}

body.home-page .class-section .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.18);
    color: #8f6e00;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

body.home-page .class-section .section-kicker::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd700, #ffb800);
    box-shadow: 0 0 0 0.3rem rgba(255, 215, 0, 0.16);
}

body.home-page .class-section .section-text h2 {
    margin: 0.8rem 0 0.7rem;
    font-size: clamp(1.95rem, 3.45vw, 3.2rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    font-weight: 900;
    color: #131313;
    white-space: nowrap;
}

body.home-page .class-section .section-text p {
    margin: 0;
    max-width: 34rem;
    font-size: 1.02rem;
    line-height: 1.7;
    color: rgba(28, 27, 27, 0.72);
}

body.home-page .class-section .section-stats {
    display: flex;
    justify-content: flex-end;
}

body.home-page .class-section .stat-pill {
    min-width: 10.5rem;
    padding: 1rem 1.15rem;
    border-radius: 1.6rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0) 46%),
        #ffffff;
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.06);
}

body.home-page .class-section .stat-pill strong {
    display: block;
    font-size: clamp(1.7rem, 2.8vw, 2.35rem);
    line-height: 1;
    color: #131313;
}

body.home-page .class-section .stat-pill span {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(28, 27, 27, 0.52);
}

body.home-page .class-section__class-switcher {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.72rem;
    margin: 0 0 1.15rem;
    padding: 0;
}

body.home-page .class-section__class-tab {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    align-items: center;
    gap: 0.72rem;
    flex: 0 1 16rem;
    width: auto;
    min-width: min(100%, 14rem);
    max-width: min(100%, 18.5rem);
    padding: 0.58rem 0.72rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.82);
    color: #131313;
    text-align: left;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(19, 19, 19, 0.04);
    transition:
        border-color var(--bee-fast),
        background-color var(--bee-fast),
        box-shadow var(--bee-fast),
        transform var(--bee-fast);
}

body.home-page .class-section__class-tab:hover,
body.home-page .class-section__class-tab:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(224, 170, 0, 0.24);
}

body.home-page .class-section__class-tab.is-active {
    border-color: rgba(224, 170, 0, 0.3);
    background: linear-gradient(180deg, rgba(255, 250, 228, 0.98), rgba(255, 244, 205, 0.98));
    box-shadow: 0 16px 28px rgba(224, 170, 0, 0.12);
}

body.home-page .class-section__class-tab-thumb {
    display: block;
    width: 4rem;
    aspect-ratio: 16 / 9;
    border-radius: 0.95rem;
    overflow: hidden;
    background: #f1ede6;
}

body.home-page .class-section__class-tab-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home-page .class-section__class-tab-copy {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
}

body.home-page .class-section__class-tab-label {
    color: rgba(28, 27, 27, 0.5);
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-section__class-tab-title {
    display: block;
    min-width: 0;
    overflow: hidden;
    word-break: break-word;
    font-size: 0.94rem;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.home-page .class-grid,
body.home-page .class-grid.class-grid--desktop-1,
body.home-page .class-grid.class-grid--desktop-2,
body.home-page .class-grid.class-grid--desktop-3 {
    grid-template-columns: 1fr !important;
    gap: 1.8rem !important;
}

body.home-page .class-card {
    --class-accent: #ffd700;
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(280px, 336px) minmax(0, 1.08fr) minmax(280px, 0.9fr);
    grid-template-areas:
        "intro todo notes"
        "intro arena sticker";
    gap: 1rem;
    padding: 1rem;
    border-radius: 2.15rem !important;
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 248, 239, 0.98)),
        #ffffff !important;
    box-shadow: 0 28px 52px rgba(19, 19, 19, 0.08) !important;
    overflow: hidden;
    isolation: isolate;
    transform: none !important;
}

body.home-page .class-card::before {
    content: "";
    position: absolute;
    inset: 1rem auto 1rem 1rem;
    width: 0.52rem;
    border-radius: 999px;
    background: var(--class-accent);
    opacity: 0.95;
}

body.home-page .class-card::after {
    content: "";
    position: absolute;
    right: -2.8rem;
    top: -2.8rem;
    width: 8rem;
    height: 8rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.26), rgba(255, 215, 0, 0));
    pointer-events: none;
    z-index: 0;
}

body.home-page .class-card:hover,
body.home-page .class-card:focus-within {
    transform: translateY(-4px) !important;
    box-shadow: 0 36px 62px rgba(19, 19, 19, 0.12) !important;
}

body.home-page .class-card-content,
body.home-page .class-todo-home,
body.home-page .class-notes-panel,
body.home-page .class-arena-panel-host,
body.home-page .class-sticker-book {
    position: relative;
    z-index: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    order: 0 !important;
}

body.home-page .class-card-content {
    grid-area: intro;
    display: grid;
    grid-template-areas:
        "cover"
        "body"
        "attendance";
    gap: 1rem;
    align-content: start;
    padding: 1rem !important;
    border-radius: 1.8rem !important;
    background:
        radial-gradient(circle at top left, rgba(255, 215, 0, 0.18), rgba(255, 215, 0, 0) 42%),
        linear-gradient(180deg, #fffef8, #fff9e8) !important;
    box-shadow: 0 20px 38px rgba(19, 19, 19, 0.08) !important;
}

body.home-page .class-card.restricted {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro";
}

body.home-page .class-cover {
    grid-area: cover;
    width: 100% !important;
    margin: 0 !important;
    aspect-ratio: 4 / 4.9;
    border-radius: 1.7rem !important;
    border: 0 !important;
    background:
        linear-gradient(180deg, rgba(255, 248, 214, 0.92), rgba(255, 255, 255, 0.98)) !important;
    box-shadow: 0 16px 28px rgba(19, 19, 19, 0.12) !important;
    overflow: hidden;
}

body.home-page .class-cover img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

body.home-page .class-body {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: 0.78rem;
}

body.home-page .class-body h3 {
    margin: 0;
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
    font-weight: 900;
    color: #121212;
}

body.home-page .class-meta {
    align-self: flex-start;
    margin: 0;
    padding: 0.46rem 0.78rem;
    border-radius: 999px;
    background: #131313;
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.home-page .class-note,
body.home-page .class-note--muted {
    margin: 0;
    padding: 0.82rem 0.95rem;
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.84);
    color: rgba(28, 27, 27, 0.72);
    font-weight: 700;
    font-size: 0.9rem;
}

body.home-page .class-card .btn-primary,
body.home-page .class-card .class-learn-now-link,
body.home-page .class-card .class-zoom-link {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.35rem;
    padding: 0.9rem 1rem;
    border-radius: 1.2rem !important;
    border: 0 !important;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%) !important;
    color: #131313 !important;
    box-shadow: 0 14px 26px rgba(255, 200, 0, 0.26) !important;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.home-page .class-card .class-zoom-link {
    gap: 0.68rem;
    background: linear-gradient(135deg, #ffcf24 0%, #f2b800 100%) !important;
    color: #131313 !important;
    box-shadow: 0 16px 28px rgba(255, 193, 7, 0.24) !important;
}

body.home-page .class-card .class-learn-now-link > span,
body.home-page .class-showcase-card__button.class-learn-now-link > span {
    position: relative;
    z-index: 1;
}

body.home-page .class-card .class-learn-now-link::before,
body.home-page .class-showcase-card__button.class-learn-now-link::before {
    content: "";
    position: absolute;
    top: -32%;
    left: -38%;
    width: 28%;
    height: 165%;
    transform: skewX(-24deg) translateX(0);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0));
    opacity: 0;
    pointer-events: none;
    will-change: transform, opacity;
    animation: hoanganhLightSweep 3.6s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

body.home-page .class-card .class-learn-now-link::after,
body.home-page .class-card .class-zoom-link::before,
body.home-page .class-card .class-zoom-link::after {
    content: none !important;
}

body.home-page .class-attendance-cta {
    grid-area: attendance;
    display: grid;
    gap: 0.45rem;
    padding: 0.95rem 1rem;
    border-radius: 1.35rem;
    border: 1px dashed rgba(19, 19, 19, 0.14);
    background: rgba(255, 255, 255, 0.82);
}

body.home-page .class-attendance-cta__btn {
    width: 100%;
    border-radius: 1rem !important;
    box-shadow: none !important;
}

body.home-page .class-attendance-cta__meta {
    color: rgba(28, 27, 27, 0.64);
    font-size: 0.8rem;
    font-weight: 700;
}

body.home-page .class-todo-home {
    grid-area: todo;
    padding: 1.15rem 1.2rem !important;
    border-radius: 1.8rem !important;
    border: 1px solid rgba(255, 215, 0, 0.18) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 222, 89, 0.16), rgba(255, 222, 89, 0) 42%),
        linear-gradient(180deg, #fffef9, #f9f4e9) !important;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.06) !important;
}

body.home-page .class-todo-home__title,
body.home-page .class-notes-title,
body.home-page .class-sticker-book__title,
body.home-page .class-arena-panel__title {
    font-size: 1.02rem;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: #131313;
}

body.home-page .class-todo-home__count,
body.home-page .class-arena-panel__count {
    border: 0 !important;
    background: #fff3c4 !important;
    color: #7b6200 !important;
    font-weight: 800;
}

body.home-page .class-todo-home__mood {
    border: 0 !important;
    border-radius: 1.2rem !important;
    background: linear-gradient(135deg, #fff6d0, #ffffff) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 215, 0, 0.18);
}

body.home-page .class-todo-home__groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

body.home-page .class-todo-home__group {
    padding: 0.85rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(19, 19, 19, 0.08);
}

body.home-page .class-todo-home__group--completed {
    background: rgba(246, 250, 238, 0.95);
}

body.home-page .class-todo-home__item {
    width: 100%;
    padding: 0.75rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: #ffffff;
    box-shadow: 0 10px 16px rgba(19, 19, 19, 0.04);
}

body.home-page .class-todo-home__item.is-completed {
    background: #f6faee;
}

body.home-page .class-todo-home__item:hover,
body.home-page .class-todo-home__item:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 16px 22px rgba(19, 19, 19, 0.08);
}

body.home-page .class-todo-home__check {
    width: 2.85rem;
    min-width: 2.85rem;
    max-width: 2.85rem;
    height: 2.85rem;
    flex: 0 0 2.85rem;
    aspect-ratio: 1 / 1;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    background: linear-gradient(180deg, #fff5c6, #ffffff);
    border: 1px solid rgba(255, 215, 0, 0.24);
}

body.home-page .class-todo-home__check-sticker,
body.home-page .class-todo-home__check-sticker-fallback {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

body.home-page .class-todo-home__check-sticker {
    display: block;
    width: auto;
    height: 74%;
    max-width: 74%;
    border-radius: 0;
    object-fit: contain;
}

body.home-page .class-todo-home__check-sticker-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.home-page .class-todo-home__check-mark {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    color: #131313;
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1;
}

body.home-page .class-todo-home__item.is-completed .class-todo-home__check-mark {
    opacity: 1;
}

body.home-page .class-todo-home__item-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: #151515;
}

body.home-page .class-todo-home__item-date {
    color: rgba(28, 27, 27, 0.56);
}

body.home-page .class-notes-panel {
    grid-area: notes;
    padding: 1.15rem !important;
    border-radius: 1.8rem !important;
    border: 1px solid rgba(255, 215, 0, 0.14) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 234, 167, 0.2), rgba(255, 234, 167, 0) 44%),
        linear-gradient(180deg, #fffefa, #f8f1e3) !important;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.06) !important;
}

body.home-page .class-notes-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
}

body.home-page .class-notes-filters,
body.home-page .class-sticker-book__filters {
    gap: 0.45rem;
}

body.home-page .class-notes-filter-btn,
body.home-page .class-sticker-book__filter-btn {
    border: 0 !important;
    border-radius: 999px !important;
    background: #f7f1e3 !important;
    color: rgba(28, 27, 27, 0.62) !important;
    font-weight: 800;
    box-shadow: none !important;
}

body.home-page .class-notes-filter-btn.is-active,
body.home-page .class-sticker-book__filter-btn.is-active {
    background: #131313 !important;
    color: #ffffff !important;
}

body.home-page .class-notes-scroll {
    max-height: 25rem;
    padding-right: 0.18rem;
}

body.home-page .class-notes-list {
    display: grid;
    gap: 0.85rem;
}

body.home-page .class-notes-list::before {
    content: none;
}

body.home-page .class-notes-list li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.8rem;
    padding: 0.9rem;
    border-radius: 1.3rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: #ffffff;
}

body.home-page .class-notes-marker {
    width: 0.72rem;
    height: 100%;
    min-height: 3.8rem;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--class-accent), #ffd700);
}

body.home-page .class-note-tag {
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff6d8 !important;
    color: #7b6200 !important;
    font-weight: 800;
}

body.home-page .class-note-tag.is-member {
    background: #fff3c4 !important;
    color: #7b6200 !important;
}

body.home-page .class-notes-list time {
    color: rgba(28, 27, 27, 0.46);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-notes-list p {
    color: rgba(28, 27, 27, 0.74);
}

body.home-page .class-arena-panel-host {
    grid-area: arena;
    min-width: 0;
}

body.home-page .class-arena-panel {
    min-height: 100%;
    padding: 1.15rem !important;
    border-radius: 1.8rem !important;
    border: 0 !important;
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.16), rgba(255, 215, 0, 0) 34%),
        linear-gradient(145deg, #1a1a1a 0%, #232323 100%) !important;
    box-shadow: 0 22px 40px rgba(19, 19, 19, 0.16) !important;
    color: #ffffff !important;
}

body.home-page .class-arena-panel::before,
body.home-page .class-arena-panel::after {
    content: none !important;
}

body.home-page .class-arena-panel__head {
    gap: 0.7rem;
    align-items: start;
}

body.home-page .class-arena-panel__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 0.36rem 0.68rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.82);
}

body.home-page .class-arena-panel__eyebrow::after {
    content: none;
}

body.home-page .class-arena-panel__title,
body.home-page .class-arena-panel__subtitle,
body.home-page .class-arena-panel__count,
body.home-page .class-arena-session__top,
body.home-page .class-arena-session__title,
body.home-page .class-arena-session__my-rank,
body.home-page .class-arena-session__leaderboard-head,
body.home-page .class-arena-session__leaderboard-list li,
body.home-page .class-arena-session__tie {
    color: #ffffff !important;
}

body.home-page .class-arena-panel__subtitle {
    opacity: 0.72;
}

body.home-page .class-arena-panel__count {
    background: rgba(255, 215, 0, 0.16) !important;
    color: #ffe381 !important;
}

body.home-page .class-arena-panel__list {
    display: grid;
    gap: 0.85rem;
}

body.home-page .class-arena-session {
    border-radius: 1.35rem !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: none !important;
}

body.home-page .class-arena-session__enter {
    border: 0 !important;
    border-radius: 1.1rem !important;
    background: linear-gradient(135deg, #ffe16d, #ffd200) !important;
    color: #131313 !important;
    box-shadow: 0 14px 24px rgba(255, 210, 0, 0.18) !important;
}

body.home-page .class-sticker-book {
    grid-area: sticker;
    padding: 1.15rem !important;
    border-radius: 1.8rem !important;
    border: 1px solid rgba(255, 215, 0, 0.2) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.22), rgba(255, 215, 0, 0) 42%),
        linear-gradient(180deg, #fffdf5, #fff7dc) !important;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.06) !important;
}

body.home-page .class-sticker-book__subtitle,
body.home-page .class-sticker-book__empty,
body.home-page .class-sticker-book__ranking-empty {
    color: rgba(28, 27, 27, 0.66);
}

body.home-page .class-sticker-book__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

body.home-page .class-sticker-book__stats span {
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: none;
}

body.home-page .class-sticker-book__name-filter {
    padding: 0.75rem;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.72);
}

body.home-page .class-sticker-book__name-filter select {
    border-radius: 1rem !important;
    border: 1px solid rgba(19, 19, 19, 0.1) !important;
    background: #ffffff !important;
    min-height: 2.75rem;
}

body.home-page .class-sticker-book__ranking {
    padding: 0.85rem;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, 0.76);
}

body.home-page .class-sticker-book__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

body.home-page .class-sticker-book__item {
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    border-radius: 1.35rem !important;
    background: #ffffff !important;
    box-shadow: 0 10px 18px rgba(19, 19, 19, 0.04) !important;
}

body.home-page .class-sticker-book__thumb {
    box-shadow: none !important;
}

@media (max-width: 1280px) {
    body.home-page .class-card {
        grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
        grid-template-areas:
            "intro todo"
            "intro notes"
            "arena sticker";
    }
}

@media (max-width: 1120px) {
    body.home-page .class-card,
    body.home-page .class-card.restricted {
        grid-template-columns: 1fr;
        grid-template-areas:
            "intro"
            "todo"
            "notes"
            "arena"
            "sticker";
    }

    body.home-page .class-cover {
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 900px) {
    body.home-page .class-section .section-intro {
        grid-template-columns: 1fr;
    }

    body.home-page .class-section .section-stats {
        justify-content: flex-start;
    }

    body.home-page .class-card {
        padding: 0.85rem;
        border-radius: 1.7rem !important;
        gap: 0.85rem;
    }

    body.home-page .class-card::before {
        inset: 0 0 auto 0;
        width: auto;
        height: 0.42rem;
        border-radius: 0 0 999px 999px;
    }

    body.home-page .class-card-content,
    body.home-page .class-todo-home,
    body.home-page .class-notes-panel,
    body.home-page .class-arena-panel,
    body.home-page .class-sticker-book {
        border-radius: 1.45rem !important;
    }

    body.home-page .class-todo-home__groups,
    body.home-page .class-sticker-book__list {
        grid-template-columns: 1fr;
    }

    body.home-page .class-notes-scroll {
        max-height: none;
    }
}

/* Homepage class section tightening */
body.home-page .class-card {
    grid-template-columns: minmax(270px, 320px) minmax(0, 1fr) !important;
    grid-template-areas:
        "intro todo"
        "intro notes"
        "intro arena"
        "intro sticker" !important;
    align-items: start !important;
}

body.home-page .class-card.restricted {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "intro" !important;
}

body.home-page .class-card-content,
body.home-page .class-todo-home,
body.home-page .class-notes-panel,
body.home-page .class-arena-panel-host,
body.home-page .class-sticker-book {
    align-self: start !important;
    height: auto !important;
}

body.home-page .class-arena-panel-host:empty {
    display: none !important;
}

body.home-page .class-card:not(:has(.class-arena-panel-host:not(:empty))) {
    grid-template-areas:
        "intro todo"
        "intro notes"
        "intro sticker" !important;
}

body.home-page .class-card-content {
    position: sticky;
    top: 6.75rem;
}

body.home-page .class-todo-home,
body.home-page .class-notes-panel,
body.home-page .class-sticker-book,
body.home-page .class-arena-panel {
    border-radius: 1.55rem !important;
}

body.home-page .class-todo-home {
    padding: 1rem 1.05rem !important;
}

body.home-page .class-todo-home__groups {
    grid-template-columns: 1fr !important;
}

body.home-page .class-todo-home__group {
    padding: 0.78rem !important;
}

body.home-page .class-todo-home__list {
    max-height: 16.5rem;
}

body.home-page .class-todo-home__item {
    min-height: 0;
}

body.home-page .class-notes-panel {
    min-height: 0 !important;
}

body.home-page .class-notes-empty,
body.home-page .class-sticker-book__empty {
    margin: 0;
    padding: 0.9rem 0;
}

body.home-page .class-notes-list li {
    padding: 0.82rem !important;
}

body.home-page .class-sticker-book__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.home-page .class-sticker-book__scroll {
    max-height: none;
}

@media (max-width: 1180px) {
    body.home-page .class-card,
    body.home-page .class-card:not(:has(.class-arena-panel-host:not(:empty))) {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "intro"
            "todo"
            "notes"
            "arena"
            "sticker" !important;
    }

    body.home-page .class-card-content {
        position: relative;
        top: auto;
    }
}

@media (max-width: 760px) {
    body.home-page .class-sticker-book__list {
        grid-template-columns: 1fr !important;
    }
}

/* Homepage class showcase reset */
body.home-page .class-section {
    background:
        radial-gradient(circle at 10% 8%, rgba(255, 215, 0, 0.12), rgba(255, 215, 0, 0) 26%),
        linear-gradient(180deg, #fbf8f2 0%, #f5f1ea 100%);
}

body.home-page .class-grid,
body.home-page .class-grid.class-grid--desktop-1,
body.home-page .class-grid.class-grid--desktop-2,
body.home-page .class-grid.class-grid--desktop-3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    align-items: stretch;
    width: 100%;
}

body.home-page .class-showcase-card {
    --class-accent: #ffd700;
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
    gap: 1.2rem;
    padding: 1rem;
    border-radius: 2rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 247, 242, 0.98)),
        #ffffff;
    box-shadow: 0 24px 54px rgba(19, 19, 19, 0.07);
    overflow: hidden;
    min-width: 0;
    width: 100%;
}

body.home-page .class-showcase-card::before {
    content: none;
}

body.home-page .class-showcase-card__lead {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    min-width: 0;
}

body.home-page .class-showcase-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 1.55rem;
    overflow: hidden;
    background: #f1ede6;
}

body.home-page .class-showcase-card__media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 40%;
    background: linear-gradient(180deg, rgba(19, 19, 19, 0), rgba(19, 19, 19, 0.22));
    pointer-events: none;
}

body.home-page .class-showcase-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home-page .class-showcase-card__badge {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.42rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #131313;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__leaderboard {
    padding: 0.95rem;
    border-radius: 1.4rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: linear-gradient(180deg, #fffdfa 0%, #f7f1e5 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.home-page .class-showcase-card__leaderboard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    margin-bottom: 0.85rem;
}

body.home-page .class-showcase-card__leaderboard-head h4 {
    margin: 0;
    color: #131313;
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__leaderboard-head span {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.22);
    color: #8e6e00;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.home-page .class-showcase-card__leaderboard-note {
    margin: 0 0 0.8rem;
    padding: 0.68rem 0.82rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(255, 248, 214, 0.92), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(255, 215, 0, 0.18);
    color: rgba(19, 19, 19, 0.82);
    font-size: 0.78rem;
    line-height: 1.5;
    font-weight: 800;
}

body.home-page .class-showcase-card__leaderboard-note[data-tone='leader'] {
    background: linear-gradient(135deg, rgba(255, 239, 166, 0.96), rgba(255, 250, 222, 0.98));
    color: #5e4700;
}

body.home-page .class-showcase-card__leaderboard-note[data-tone='top'] {
    background: linear-gradient(135deg, rgba(255, 245, 199, 0.94), rgba(255, 255, 255, 0.98));
    color: #6d5400;
}

body.home-page .class-showcase-card__leaderboard-note[data-tone='boost'] {
    background: linear-gradient(135deg, rgba(255, 244, 215, 0.94), rgba(255, 250, 239, 0.98));
    color: #745a15;
}

body.home-page .class-showcase-card__leaderboard-list {
    --leaderboard-visible-items: 10;
    --leaderboard-row-height: 3.28rem;
    --leaderboard-row-gap: 0.58rem;
    margin: 0;
    padding: 0 0.18rem 0 0;
    list-style: none;
    display: grid;
    gap: var(--leaderboard-row-gap);
    max-height: calc((var(--leaderboard-row-height) * var(--leaderboard-visible-items)) + (var(--leaderboard-row-gap) * (var(--leaderboard-visible-items) - 1)));
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(64, 55, 31, 0.56) rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__leaderboard-list::-webkit-scrollbar {
    width: 6px;
}

body.home-page .class-showcase-card__leaderboard-list::-webkit-scrollbar-track {
    background: rgba(19, 19, 19, 0.08);
    border-radius: 999px;
}

body.home-page .class-showcase-card__leaderboard-list::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 213, 22, 0.92), rgba(90, 74, 31, 0.52));
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    background-clip: padding-box;
}

body.home-page .class-showcase-card__leaderboard-item {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.62rem;
    padding: 0.55rem 0.62rem;
    border-radius: 1rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    background: rgba(255, 255, 255, 0.94);
}

body.home-page .class-showcase-card__leaderboard-item.is-top {
    border-color: rgba(255, 196, 0, 0.24);
    background: linear-gradient(180deg, rgba(255, 246, 205, 0.94), rgba(255, 252, 237, 0.96));
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1 {
    border-color: rgba(255, 200, 0, 0.34);
    background: linear-gradient(135deg, rgba(255, 240, 166, 0.96), rgba(255, 252, 237, 0.96));
}

body.home-page .class-showcase-card__leaderboard-item.is-top-2 {
    border-color: rgba(140, 151, 171, 0.28);
    background: linear-gradient(135deg, rgba(247, 249, 255, 0.98), rgba(255, 255, 255, 0.98));
}

body.home-page .class-showcase-card__leaderboard-item.is-top-3 {
    border-color: rgba(191, 132, 74, 0.28);
    background: linear-gradient(135deg, rgba(255, 238, 214, 0.96), rgba(255, 255, 255, 0.98));
}

body.home-page .class-showcase-card__leaderboard-item:nth-child(1),
body.home-page .class-showcase-card__leaderboard-item:nth-child(2),
body.home-page .class-showcase-card__leaderboard-item:nth-child(3) {
    position: sticky;
    box-shadow: 0 10px 20px rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__leaderboard-item:nth-child(1) {
    top: 0;
    z-index: 6;
}

body.home-page .class-showcase-card__leaderboard-item:nth-child(2) {
    top: calc(var(--leaderboard-row-height) + var(--leaderboard-row-gap));
    z-index: 5;
}

body.home-page .class-showcase-card__leaderboard-item:nth-child(3) {
    top: calc((var(--leaderboard-row-height) * 2) + (var(--leaderboard-row-gap) * 2));
    z-index: 4;
}

body.home-page .class-showcase-card__leaderboard-item.is-me {
    border-color: rgba(19, 19, 19, 0.14);
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.04);
}

body.home-page .class-showcase-card__leaderboard-rank {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #131313;
    font-size: 0.78rem;
    font-weight: 900;
    position: relative;
}

body.home-page .class-showcase-card__leaderboard-item.is-top .class-showcase-card__leaderboard-rank {
    background: linear-gradient(135deg, #ffdd42, #ffcb00);
    border-color: rgba(255, 200, 0, 0.42);
}

body.home-page .class-showcase-card__leaderboard-item.is-top-2 .class-showcase-card__leaderboard-rank {
    background: linear-gradient(135deg, #ffffff, #cfd6e3);
    border-color: rgba(127, 135, 150, 0.45);
    color: #4e5667;
}

body.home-page .class-showcase-card__leaderboard-item.is-top-3 .class-showcase-card__leaderboard-rank {
    background: linear-gradient(135deg, #ffe0bb, #c97f36);
    border-color: rgba(166, 104, 47, 0.48);
    color: #5c3411;
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-rank::before,
body.home-page .class-showcase-card__leaderboard-item.is-top-2 .class-showcase-card__leaderboard-rank::before,
body.home-page .class-showcase-card__leaderboard-item.is-top-3 .class-showcase-card__leaderboard-rank::before {
    content: '♛';
    position: absolute;
    top: -0.54rem;
    left: 50%;
    transform: translateX(-50%);
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 8px 16px rgba(19, 19, 19, 0.12);
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-rank::before {
    background: linear-gradient(135deg, #ffdd42, #ffcb00);
    border: 1px solid rgba(255, 200, 0, 0.42);
    color: #6b4900;
}

body.home-page .class-showcase-card__leaderboard-item.is-top-2 .class-showcase-card__leaderboard-rank::before {
    background: linear-gradient(135deg, #ffffff, #cfd6e3);
    border: 1px solid rgba(127, 135, 150, 0.45);
    color: #4e5667;
}

body.home-page .class-showcase-card__leaderboard-item.is-top-3 .class-showcase-card__leaderboard-rank::before {
    background: linear-gradient(135deg, #ffe0bb, #c97f36);
    border: 1px solid rgba(166, 104, 47, 0.48);
    color: #5c3411;
}

body.home-page .class-showcase-card__leaderboard-student {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

body.home-page .class-showcase-card__leaderboard-avatar {
    width: 1.95rem;
    height: 1.95rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.1);
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    flex-shrink: 0;
}

body.home-page .class-showcase-card__leaderboard-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home-page .class-showcase-card__leaderboard-avatar-fallback {
    color: #5b5752;
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__leaderboard-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #131313;
    font-size: 0.86rem;
    font-weight: 800;
}

body.home-page .class-showcase-card__leaderboard-score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    min-height: 2rem;
    padding: 0.2rem 0.7rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #f2c833 0%, #d79b00 100%);
    color: #4f3900;
    border: 1px solid rgba(211, 154, 0, 0.28);
    font-size: 0.8rem;
    font-weight: 900;
    box-shadow: 0 10px 18px rgba(215, 168, 18, 0.14);
}

body.home-page .class-showcase-card__leaderboard-empty,
body.home-page .class-showcase-card__leaderboard-foot {
    margin: 0;
    color: rgba(28, 27, 27, 0.6);
    font-size: 0.79rem;
    line-height: 1.5;
}

body.home-page .class-showcase-card__leaderboard-foot {
    margin-top: 0.65rem;
}

@media (max-width: 768px) {
    body.home-page .class-showcase-card__leaderboard-list {
        --leaderboard-visible-items: 5;
    }
}

body.home-page .class-showcase-card__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    min-width: 0;
    padding: 0.25rem 0.15rem 0.15rem 0;
}

body.home-page .class-showcase-card__eyebrow-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.home-page .class-showcase-card__eyebrow,
body.home-page .class-showcase-card__tone {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.42rem 0.78rem;
    border-radius: 999px;
    background: #f4efe5;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__tone {
    background: rgba(255, 215, 0, 0.16);
    color: #8e6e00;
}

body.home-page .class-showcase-card__title {
    margin: 0;
    font-size: clamp(1.55rem, 2.2vw, 2.2rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
    font-weight: 900;
    color: #131313;
}

body.home-page .class-showcase-card__actions {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(11.25rem, 0.82fr);
    gap: 0.8rem;
    align-items: stretch;
    transition: grid-template-columns 420ms cubic-bezier(0.22, 1, 0.36, 1), gap 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-page .class-showcase-card__actions.is-attendance-completed {
    grid-template-columns: minmax(0, 1.94fr) minmax(4.5rem, 0.22fr);
    gap: 0.55rem;
}

body.home-page .class-showcase-card__action-main,
body.home-page .class-showcase-card__attendance {
    min-width: 0;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 300ms ease;
}

body.home-page .class-showcase-card__button,
body.home-page .class-showcase-card__attendance-btn {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.35rem;
    padding: 0.9rem 1rem;
    border-radius: 1.15rem;
    border: 0;
    overflow: hidden;
    isolation: isolate;
    text-decoration: none;
    font-size: 0.96rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    white-space: nowrap;
    transition:
        transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow var(--bee-fast),
        background-color var(--bee-fast),
        color var(--bee-fast),
        border-color var(--bee-fast),
        min-width 420ms cubic-bezier(0.22, 1, 0.36, 1),
        max-width 420ms cubic-bezier(0.22, 1, 0.36, 1),
        padding 420ms cubic-bezier(0.22, 1, 0.36, 1),
        border-radius 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-page .class-showcase-card__button {
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #131313;
    box-shadow: 0 14px 26px rgba(255, 200, 0, 0.22);
    transform-origin: left center;
}

body.home-page .class-showcase-card__button:hover,
body.home-page .class-showcase-card__button:focus-visible,
body.home-page .class-showcase-card__attendance-btn:hover,
body.home-page .class-showcase-card__attendance-btn:focus-visible {
    transform: translateY(-2px);
}

body.home-page .class-showcase-card__button--dark {
    background: linear-gradient(135deg, #efc338 0%, #d49a00 100%);
    color: #4d3700;
    box-shadow: 0 16px 28px rgba(212, 154, 0, 0.2);
}

body.home-page .class-showcase-card__button.class-zoom-link {
    gap: 0.68rem;
    background: linear-gradient(135deg, #ffcf24 0%, #f2b800 100%) !important;
    color: #131313 !important;
    box-shadow: 0 16px 28px rgba(255, 193, 7, 0.22) !important;
}

body.home-page .class-card .class-zoom-link:hover,
body.home-page .class-card .class-zoom-link:focus-visible,
body.home-page .class-showcase-card__button.class-zoom-link:hover,
body.home-page .class-showcase-card__button.class-zoom-link:focus-visible {
    background: linear-gradient(135deg, #ffd84f 0%, #f5c328 100%) !important;
    color: #131313 !important;
}

body.home-page .class-zoom-link__live {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.55rem;
    padding: 0.18rem 0.52rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #d9a100 0%, #b68000 100%);
    color: #fff7dc;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255, 247, 220, 0.12);
}

body.home-page .class-zoom-link__live-dot {
    width: 0.46rem;
    height: 0.46rem;
    border-radius: 50%;
    background: #ff4d4f;
    box-shadow: 0 0 0 0.16rem rgba(255, 77, 79, 0.18);
    flex-shrink: 0;
}

body.home-page .class-zoom-link__label {
    position: relative;
    z-index: 1;
}

body.home-page .class-showcase-card__button--disabled {
    background: #ece7dd;
    color: rgba(28, 27, 27, 0.54);
    box-shadow: none;
    cursor: not-allowed;
}

body.home-page .class-showcase-card__attendance {
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    gap: 0;
}

body.home-page .class-showcase-card__attendance-btn {
    box-shadow: none;
    border-radius: 1rem !important;
    min-width: 100%;
    justify-content: center;
    transform-origin: right center;
}

body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__button:not(.class-showcase-card__button--disabled) {
    box-shadow: 0 16px 32px rgba(255, 200, 0, 0.28);
}

body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn {
    width: 4.5rem;
    min-width: 4.5rem;
    max-width: 4.5rem;
    padding-inline: 0.5rem;
    border-radius: 999px !important;
    font-size: 0;
    color: transparent;
    background: linear-gradient(145deg, #efc338 0%, #d29a00 100%) !important;
    border: 1px solid rgba(210, 154, 0, 0.28) !important;
    box-shadow: 0 14px 28px rgba(210, 154, 0, 0.22) !important;
}

body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn::before {
    content: "\2713";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.08rem;
    font-weight: 900;
    color: #4d3800;
    line-height: 1;
}

body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn.is-completed::before {
    color: #4d3800;
}

body.home-page .class-showcase-card__actions.is-attendance-just-completed .class-showcase-card__action-main .class-showcase-card__button {
    animation: hoanganhClaimAttendanceSlot 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes hoanganhLightSweep {
    0% {
        opacity: 0;
        transform: skewX(-24deg) translateX(-18%);
    }
    12% {
        opacity: 0;
        transform: skewX(-24deg) translateX(-18%);
    }
    24% {
        opacity: 0.34;
    }
    32% {
        opacity: 0.88;
    }
    44% {
        opacity: 0;
        transform: skewX(-24deg) translateX(520%);
    }
    100% {
        opacity: 0;
        transform: skewX(-24deg) translateX(520%);
    }
}

@keyframes hoanganhClaimAttendanceSlot {
    0% {
        transform: translateX(0) scaleX(1);
    }
    38% {
        transform: translateX(0.35rem) scaleX(1.02);
    }
    100% {
        transform: translateX(0) scaleX(1);
    }
}

@keyframes hoanganhTopLeaderGlow {
    0%,
    100% {
        box-shadow:
            0 14px 28px rgba(219, 170, 0, 0.14),
            inset 0 1px 0 rgba(255, 255, 255, 0.82);
    }
    50% {
        box-shadow:
            0 18px 34px rgba(219, 170, 0, 0.24),
            0 0 0 1px rgba(255, 215, 0, 0.12),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
}

@keyframes hoanganhTopLeaderSweep {
    0% {
        opacity: 0;
        transform: skewX(-24deg) translateX(-180%);
    }
    18% {
        opacity: 0;
        transform: skewX(-24deg) translateX(-180%);
    }
    36% {
        opacity: 0.42;
    }
    48% {
        opacity: 0;
        transform: skewX(-24deg) translateX(260%);
    }
    100% {
        opacity: 0;
        transform: skewX(-24deg) translateX(260%);
    }
}

body.home-page .class-section .section-kicker,
body.home-page .class-meta,
body.home-page .class-section .stat-pill span,
body.home-page .class-todo-home__count,
body.home-page .class-arena-panel__count,
body.home-page .class-showcase-card__eyebrow,
body.home-page .class-showcase-card__leaderboard-chip,
body.home-page .class-showcase-card__leaderboard-rank,
body.home-page .class-todo-home__group h5,
body.home-page .class-todo-home__group-count {
    font-weight: 700;
}

body.home-page .class-section .section-text h2,
body.home-page .class-body h3,
body.home-page .class-showcase-card__title,
body.home-page .class-showcase-card__leaderboard-score,
body.home-page .class-todo-home__title,
body.home-page .class-notes-title,
body.home-page .class-sticker-book__title,
body.home-page .class-arena-panel__title {
    font-weight: 800;
}

body.home-page .class-card .btn-primary,
body.home-page .class-card .class-learn-now-link,
body.home-page .class-card .class-zoom-link,
body.home-page .class-showcase-card__button,
body.home-page .class-showcase-card__attendance-btn {
    font-weight: 800;
}

body.home-page .class-note,
body.home-page .class-note--muted,
body.home-page .class-todo-home__item-title,
body.home-page .class-showcase-card__leaderboard-name,
body.home-page .class-notes-list strong,
body.home-page .class-sticker-book__student-name {
    font-weight: 700;
}

body.home-page .class-showcase-card__action-meta,
body.home-page .class-showcase-card__attendance-meta {
    display: none !important;
}

body.home-page .class-showcase-card--practice-hub {
    border-color: rgba(224, 170, 0, 0.12);
}

body.home-page .class-showcase-card__media--practice {
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 215, 0, 0.24), rgba(255, 215, 0, 0) 34%),
        linear-gradient(160deg, #fff9e8 0%, #f6f0e2 100%);
}

body.home-page .class-showcase-card__practice-summary,
body.home-page .class-showcase-card__practice {
    padding: 1rem 1.05rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: linear-gradient(180deg, #fffdf8 0%, #fbf7ef 100%);
    box-shadow:
        0 14px 28px rgba(19, 19, 19, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.home-page .class-showcase-card__practice {
    margin-top: 0.1rem;
}

body.home-page .class-showcase-card__practice-head,
body.home-page .class-showcase-card__practice-summary-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.8rem;
    margin-bottom: 0.85rem;
}

body.home-page .class-showcase-card__practice-copy {
    display: grid;
    gap: 0.32rem;
    min-width: 0;
}

body.home-page .class-showcase-card__practice-eyebrow {
    justify-self: start;
    min-height: 1.7rem;
    padding: 0.24rem 0.62rem;
    border-radius: 999px;
    background: #fff3c9;
    color: #946f00;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__practice-title,
body.home-page .class-showcase-card__practice-summary-head h4 {
    margin: 0;
    color: #131313;
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.home-page .class-showcase-card__practice-count,
body.home-page .class-showcase-card__practice-summary-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.95rem;
    padding: 0.3rem 0.72rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.18);
    color: #8e6e00;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.home-page .class-showcase-card__practice-note,
body.home-page .class-showcase-card__practice-lead {
    margin: 0 0 0.9rem;
    color: rgba(28, 27, 27, 0.64);
    font-size: 0.86rem;
    line-height: 1.6;
}

body.home-page .class-showcase-card__practice-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

body.home-page .class-showcase-card__practice-summary-item {
    padding: 0.75rem 0.8rem;
    border-radius: 1rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    background: rgba(255, 255, 255, 0.94);
}

body.home-page .class-showcase-card__practice-summary-item strong {
    display: block;
    color: #131313;
    font-size: 1.48rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.05em;
}

body.home-page .class-showcase-card__practice-summary-item span {
    display: block;
    margin-top: 0.35rem;
    color: rgba(28, 27, 27, 0.58);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__practice-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(16.6rem, 18.4rem);
    gap: 0.8rem;
    overflow-x: auto;
    padding: 0.02rem 0.05rem 0.2rem;
    scroll-snap-type: x proximity;
}

body.home-page .class-showcase-card__practice-strip {
    scrollbar-width: thin;
    scrollbar-color: rgba(64, 55, 31, 0.58) rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__practice-strip::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

body.home-page .class-showcase-card__practice-strip::-webkit-scrollbar-track {
    background: rgba(19, 19, 19, 0.08);
    border-radius: 999px;
}

body.home-page .class-showcase-card__practice-strip::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 213, 22, 0.92), rgba(90, 74, 31, 0.52));
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    background-clip: padding-box;
}

body.home-page .class-practice-card {
    --practice-accent: #8e6e00;
    scroll-snap-align: start;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 100%;
    border-radius: 1.2rem;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: rgba(255, 255, 255, 0.98);
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(19, 19, 19, 0.04);
}

body.home-page .class-practice-card.is-starters {
    --practice-accent: #b72168;
}

body.home-page .class-practice-card.is-movers {
    --practice-accent: #177e55;
}

body.home-page .class-practice-card.is-flyers {
    --practice-accent: #4f5fd8;
}

body.home-page .class-practice-card__thumb {
    aspect-ratio: 16 / 9;
    background: #f3efe6;
}

body.home-page .class-practice-card__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home-page .class-practice-card__body {
    display: grid;
    gap: 0.55rem;
    padding: 0.85rem 0.9rem 0.65rem;
}

body.home-page .class-practice-card__tags {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

body.home-page .class-practice-card__tag {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: 0.2rem 0.56rem;
    border-radius: 999px;
    background: rgba(122, 94, 16, 0.12);
    color: rgba(28, 27, 27, 0.66);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.home-page .class-practice-card__tag.is-free {
    background: rgba(255, 215, 0, 0.16);
    color: #8e6e00;
}

body.home-page .class-practice-card__tag.is-assigned {
    background: rgba(19, 19, 19, 0.08);
    color: #131313;
}

body.home-page .class-practice-card__tag--muted {
    background: rgba(19, 19, 19, 0.04);
    color: rgba(28, 27, 27, 0.52);
}

body.home-page .class-practice-card__body h5 {
    margin: 0;
    color: #131313;
    font-size: 0.98rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -0.02em;
}

body.home-page .class-practice-card__body p {
    margin: 0;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.8rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.72em;
}

body.home-page .class-practice-card__meta {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-top: auto;
}

body.home-page .class-practice-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.24rem;
    padding: 0.3rem 0.58rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.12);
    color: rgba(28, 27, 27, 0.7);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.03em;
}

body.home-page .class-practice-card__meta strong {
    color: var(--practice-accent);
}

body.home-page .class-practice-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0 0.9rem 0.9rem;
}

body.home-page .class-practice-card__duration {
    color: var(--practice-accent);
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

body.home-page .class-practice-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.55rem;
    padding: 0.58rem 0.9rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #131313;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: -0.01em;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(255, 200, 0, 0.16);
    white-space: nowrap;
}

body.home-page .class-practice-card__action.is-resume {
    background: #131313;
    color: #ffe381;
    box-shadow: none;
}

body.home-page .class-practice-card__action.is-locked {
    pointer-events: none;
    background: #f3ede0;
    color: rgba(28, 27, 27, 0.52);
    box-shadow: none;
}

body.home-page .class-practice-card__action:hover,
body.home-page .class-practice-card__action:focus-visible {
    transform: translateY(-1px);
}

body.home-page .class-showcase-card__practice {
    margin-top: 0.05rem;
    padding: 0.72rem 0.8rem 0.8rem;
    border-radius: 1.2rem;
    font-family: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
    order: 60;
}

body.home-page .class-showcase-card__practice-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.68rem;
}

body.home-page .class-showcase-card__practice-copy {
    display: block;
}

body.home-page .class-showcase-card__practice-eyebrow,
body.home-page .class-showcase-card__practice-note {
    display: none;
}

body.home-page .class-showcase-card__practice-title {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    line-height: 1.1;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__practice-count {
    min-height: 1.72rem;
    padding: 0.24rem 0.62rem;
    font-size: 0.66rem;
}

body.home-page .class-showcase-card__practice-filters {
    margin-top: 0;
    margin-bottom: 0.58rem;
    padding-bottom: 0.12rem;
    gap: 0.42rem;
}

body.home-page .class-showcase-card__practice-filters .exam-category-pill {
    min-height: 36px;
    gap: 0.34rem;
    padding: 0.34rem 0.78rem;
    font-size: 0.77rem;
    font-weight: 780;
}

body.home-page .class-showcase-card__practice-filters .exam-category-pill span {
    min-width: 1.12rem;
    height: 1.12rem;
    font-size: 0.66rem;
    padding: 0 0.32rem;
}

body.home-page .class-showcase-card__practice-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    grid-auto-columns: auto;
    --practice-visible-items: 6;
    --practice-row-height: 4.9rem;
    gap: 0.55rem;
    max-height: calc((var(--practice-row-height) * var(--practice-visible-items)) + (0.55rem * (var(--practice-visible-items) - 1)));
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 0.22rem 0 0;
    scroll-snap-type: none;
}

body.home-page .class-showcase-card__practice-empty {
    margin-top: 0.72rem;
}

body.home-page .class-practice-card {
    grid-template-columns: 5.4rem minmax(0, 1fr) auto;
    grid-template-rows: none;
    align-items: center;
    min-height: var(--practice-row-height);
    gap: 0.72rem;
    padding: 0.76rem 0.84rem;
    border-radius: 1rem;
    box-shadow: none;
    font-family: inherit;
}

body.home-page .class-practice-card__thumb {
    display: block;
    width: 5.4rem;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: 0.82rem;
    overflow: hidden;
    background: #f3efe6;
}

body.home-page .class-practice-card__body {
    display: grid;
    gap: 0.34rem;
    padding: 0;
    min-width: 0;
}

body.home-page .class-practice-card__body p {
    display: none;
}

body.home-page .class-practice-card__body h5 {
    font-size: 0.95rem;
    line-height: 1.2;
}

body.home-page .class-practice-card__meta {
    gap: 0.38rem;
}

body.home-page .class-practice-card__meta span {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(28, 27, 27, 0.68);
    font-size: 0.7rem;
}

body.home-page .class-practice-card__footer {
    display: inline-flex;
    align-items: center;
    gap: 0.72rem;
    padding: 0;
}

body.home-page .class-practice-card__duration {
    font-size: 0.74rem;
    color: rgba(28, 27, 27, 0.68);
}

body.home-page .class-practice-card__action {
    min-height: 2rem;
    min-width: 5.9rem;
    padding: 0.42rem 0.78rem;
    font-size: 0.74rem;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    font-family: inherit;
    box-shadow: none;
}

@media (max-width: 760px) {
    body.home-page .class-showcase-card__practice-strip {
        gap: 0.5rem;
    }

    body.home-page .class-practice-card {
        grid-template-columns: 4.8rem minmax(0, 1fr);
        align-items: start;
    }

    body.home-page .class-practice-card__thumb {
        width: 4.8rem;
        height: auto;
        border-radius: 0.72rem;
    }

    body.home-page .class-practice-card__footer {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-left: 5.52rem;
    }
}

body.home-page .class-showcase-card__stats,
body.home-page .class-showcase-card__footer {
    display: none !important;
}

body.home-page .class-showcase-card__todo.class-todo-home {
    margin-top: 0.15rem;
    padding: 1rem 1.05rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: linear-gradient(180deg, #fffdfa 0%, #f8f4ec 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body.home-page .class-showcase-card__todo-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin-bottom: 0.85rem;
}

body.home-page .class-showcase-card__todo .class-todo-home__title {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
    font-weight: 900;
    color: #131313;
}

body.home-page .class-showcase-card__todo .class-todo-home__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.18);
    color: #8e6e00;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.home-page .class-showcase-card__todo .class-todo-home__status {
    margin: 0 0 0.9rem;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: 3.4rem;
    padding: 0.92rem 1.15rem 0.92rem 3.95rem;
    border-radius: 1.22rem;
    border: 1px solid rgba(255, 215, 0, 0.26);
    background:
        radial-gradient(circle at 92% 24%, rgba(255, 215, 0, 0.22), rgba(255, 215, 0, 0) 28%),
        linear-gradient(135deg, rgba(255, 252, 242, 0.98), rgba(255, 245, 205, 0.98));
    box-shadow:
        0 16px 28px rgba(255, 208, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
    color: #2d2509;
    font-size: 0.88rem;
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: -0.01em;
}

body.home-page .class-showcase-card__todo .class-todo-home__status::before {
    content: "\2726";
    position: absolute;
    left: 1rem;
    top: 50%;
    width: 2.15rem;
    height: 2.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transform: translateY(-50%);
    background: linear-gradient(145deg, #efc338 0%, #cf9600 100%);
    box-shadow: 0 10px 18px rgba(212, 154, 0, 0.18);
    color: #5a4200;
    font-size: 0.95rem;
    line-height: 1;
}

body.home-page .class-showcase-card__todo .class-todo-home__status::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
    pointer-events: none;
}

body.home-page .class-showcase-card__todo .class-todo-home__status[data-tone='success'] {
    border-color: rgba(255, 215, 0, 0.28);
    background:
        radial-gradient(circle at 92% 24%, rgba(255, 215, 0, 0.28), rgba(255, 215, 0, 0) 30%),
        linear-gradient(135deg, rgba(255, 251, 235, 0.99), rgba(233, 248, 218, 0.99));
    box-shadow:
        0 18px 34px rgba(255, 208, 0, 0.14),
        0 10px 22px rgba(72, 140, 52, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
    color: #20310d;
}

body.home-page .class-showcase-card__todo .class-todo-home__status[data-tone='success']::before {
    content: "\2713";
    color: #ffe16d;
}

body.home-page .class-showcase-card__todo .class-todo-home__status[data-tone='error'] {
    border-color: rgba(185, 64, 56, 0.32);
    background:
        radial-gradient(circle at 92% 24%, rgba(255, 183, 168, 0.26), rgba(255, 183, 168, 0) 30%),
        linear-gradient(135deg, rgba(255, 247, 244, 0.98), rgba(255, 228, 222, 0.98));
    color: #9e2f27;
    box-shadow:
        0 16px 28px rgba(208, 88, 76, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

body.home-page .class-showcase-card__todo .class-todo-home__status[data-tone='error']::before {
    content: "!";
    color: #ffd8cf;
}

body.home-page .class-showcase-card__todo-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
    gap: 0.9rem;
}

body.home-page .class-showcase-card__todo .class-todo-home__group {
    padding: 0.85rem;
    border-radius: 1.15rem;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 12px 24px rgba(19, 19, 19, 0.04);
}

body.home-page .class-showcase-card__todo .class-todo-home__group--completed {
    background: rgba(248, 244, 236, 0.96);
}

body.home-page .class-showcase-card__todo .class-todo-home__group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

body.home-page .class-showcase-card__todo .class-todo-home__group-head h5 {
    margin: 0;
    color: rgba(28, 27, 27, 0.58);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__todo .class-todo-home__group-count {
    min-width: 1.9rem;
    min-height: 1.9rem;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(19, 19, 19, 0.08);
    color: #131313;
    font-size: 0.78rem;
    font-weight: 900;
}

body.home-page .class-showcase-card__todo .class-todo-home__empty {
    margin: 0;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.83rem;
    line-height: 1.55;
}

body.home-page .class-showcase-card__todo .class-todo-home__list {
    display: grid;
    gap: 0.7rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.home-page .class-todo-home__list,
body.home-page .class-showcase-card__todo .class-todo-home__list,
body.home-page .class-notes-scroll,
body.home-page .class-sticker-book__scroll {
    scrollbar-width: thin;
    scrollbar-color: rgba(64, 55, 31, 0.58) rgba(19, 19, 19, 0.08);
}

body.home-page .class-todo-home__list::-webkit-scrollbar,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar,
body.home-page .class-notes-scroll::-webkit-scrollbar,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

body.home-page .class-todo-home__list::-webkit-scrollbar-track,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-track,
body.home-page .class-notes-scroll::-webkit-scrollbar-track,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-track {
    background: rgba(19, 19, 19, 0.08);
    border-radius: 999px;
}

body.home-page .class-todo-home__list::-webkit-scrollbar-thumb,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-thumb,
body.home-page .class-notes-scroll::-webkit-scrollbar-thumb,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 213, 22, 0.92), rgba(90, 74, 31, 0.52));
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    background-clip: padding-box;
}

body.home-page .class-todo-home__list::-webkit-scrollbar-thumb:hover,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-thumb:hover,
body.home-page .class-notes-scroll::-webkit-scrollbar-thumb:hover,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(255, 218, 56, 0.96), rgba(66, 54, 24, 0.64));
}

body.home-page .class-todo-home__list::-webkit-scrollbar-button,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-button,
body.home-page .class-notes-scroll::-webkit-scrollbar-button,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-button {
    width: 0;
    height: 0;
    display: none;
}

body.home-page .class-todo-home__list::-webkit-scrollbar-corner,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-corner,
body.home-page .class-notes-scroll::-webkit-scrollbar-corner,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-corner {
    background: transparent;
}

body.home-page .class-showcase-card__todo .class-todo-home__item {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    padding: 0.75rem 0.8rem;
    border-radius: 1rem;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: #fffdfa;
    box-shadow: none;
}

body.home-page .class-showcase-card__todo .class-todo-home__item:hover,
body.home-page .class-showcase-card__todo .class-todo-home__item:focus-visible {
    transform: translateY(-1px);
    box-shadow: none !important;
}

body.home-page .class-todo-home__item:hover,
body.home-page .class-todo-home__item:focus-visible,
body.home-page .class-showcase-card__leaderboard-item:hover,
body.home-page .class-showcase-card__leaderboard-item:focus-visible,
body.home-page .class-notes-list li:hover,
body.home-page .class-notes-list li:focus-within {
    box-shadow: none !important;
}

body.home-page .class-showcase-card__todo .class-todo-home__item.is-completed {
    background: #f4f1e8;
    border-color: rgba(19, 19, 19, 0.05);
}

body.home-page .class-showcase-card__todo .class-todo-home__check {
    width: 2.3rem;
    min-width: 2.3rem;
    max-width: 2.3rem;
    height: 2.3rem;
    flex-basis: 2.3rem;
    border-radius: 50%;
    background: rgba(255, 215, 0, 0.16);
    border: 1px solid rgba(255, 200, 0, 0.18);
}

body.home-page .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__check {
    background: rgba(19, 19, 19, 0.08);
    border-color: rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__todo .class-todo-home__item-title {
    color: #131313;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.35;
}

body.home-page .class-showcase-card__todo .class-todo-home__item-date {
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.78rem;
    line-height: 1.45;
}

body.home-page .class-showcase-card__notes.class-notes-panel {
    margin-top: 0.1rem;
    padding: 1rem 1.05rem !important;
    border-radius: 1.45rem !important;
    border: 1px solid rgba(19, 19, 19, 0.07) !important;
    background: linear-gradient(180deg, #fffdf8 0%, #fbf7ef 100%) !important;
    box-shadow:
        0 14px 28px rgba(19, 19, 19, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    order: 50;
}

body.home-page .class-showcase-card__notes-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem 0.8rem;
    margin-bottom: 0.72rem;
}

body.home-page .class-showcase-card__notes-headline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    min-width: 0;
}

body.home-page .class-showcase-card__notes .class-notes-title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
    color: #131313;
}

body.home-page .class-showcase-card__notes-count {
    display: inline-flex;
    align-items: center;
    min-height: 1.68rem;
    padding: 0.18rem 0.58rem;
    border-radius: 999px;
    background: #fff1bf;
    color: #8e6e00;
    white-space: nowrap;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__notes .class-notes-filters {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

body.home-page .class-showcase-card__notes .class-notes-scroll {
    max-height: 17rem;
    padding-right: 0.12rem;
}

body.home-page .class-showcase-card__notes .class-notes-list {
    gap: 0.7rem;
    align-content: start;
}

body.home-page .class-showcase-card__notes .class-notes-list li {
    gap: 0.68rem;
    padding: 0.82rem 0.88rem;
    border-radius: 1.05rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: none;
}

body.home-page .class-showcase-card__notes .class-notes-content {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
}

body.home-page .class-showcase-card__notes .class-notes-content p {
    margin: 0;
    line-height: 1.52;
}

body.home-page .class-showcase-card__notes .class-notes-content a {
    color: #7b6200;
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

body.home-page .class-showcase-card__notes .class-notes-empty {
    margin: 0;
    color: rgba(28, 27, 27, 0.62);
    line-height: 1.55;
}

body.home-page .class-showcase-card__notes .class-notes-marker {
    display: none;
}

body.home-page .class-showcase-card__notes .class-note-tag {
    justify-self: start;
    min-height: 1.55rem;
    padding-inline: 0.62rem;
    background: #fff3c9 !important;
    font-size: 0.72rem;
    font-weight: 700;
}

body.home-page .class-showcase-card__notes .class-note-tag.is-member {
    background: #fff0b1 !important;
}

body.home-page .class-showcase-card__notes .class-notes-list time {
    margin-top: 0.02rem;
    font-size: 0.72rem;
    letter-spacing: 0.05em;
}

body.home-page .class-showcase-card__notes .class-notes-filter-btn {
    min-height: 1.85rem;
    padding: 0.3rem 0.68rem;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    border: 1px solid rgba(19, 19, 19, 0.07) !important;
    color: rgba(28, 27, 27, 0.72) !important;
    font-size: 0.72rem;
    font-weight: 700;
}

body.home-page .class-showcase-card__notes .class-notes-filter-btn.is-active {
    background: linear-gradient(145deg, #ebbf2c 0%, #d39a00 100%) !important;
    border-color: rgba(211, 154, 0, 0.36) !important;
    color: #4d3700 !important;
    box-shadow: 0 10px 20px rgba(211, 154, 0, 0.16) !important;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.15rem;
    padding: 0.38rem 0.62rem;
    border-radius: 999px;
    background: #fff7df;
    width: fit-content;
    max-width: 100%;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift__thumb {
    width: 1.95rem;
    height: 1.95rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid rgba(255, 215, 0, 0.22);
    overflow: hidden;
    flex-shrink: 0;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift__thumb img {
    width: auto;
    height: 72%;
    max-width: 72%;
    object-fit: contain;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift__fallback {
    font-size: 0.7rem;
    font-weight: 700;
    color: #131313;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift__label {
    min-width: 0;
    color: rgba(28, 27, 27, 0.72);
    font-size: 0.78rem;
    line-height: 1.35;
}

body.home-page .class-showcase-card__arena-host {
    margin-top: 0.2rem;
    min-width: 0;
}

body.home-page .class-showcase-card__arena-host.class-arena-panel-host:empty {
    display: none;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 0;
    padding: 1.08rem 1.12rem !important;
    border-radius: 1.55rem !important;
    border: 1px solid rgba(214, 156, 0, 0.24) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 224, 114, 0.34), rgba(255, 224, 114, 0) 34%),
        radial-gradient(circle at left bottom, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0) 32%),
        linear-gradient(145deg, #fffdf6 0%, #fff5d5 60%, #f8e9c2 100%) !important;
    box-shadow:
        0 20px 42px rgba(176, 126, 0, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
    color: #231704 !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel::before,
body.home-page .class-showcase-card__arena-host .class-arena-panel::after {
    content: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.95rem;
    margin-bottom: 1rem;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__head-main {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__eyebrow {
    justify-self: start;
    min-height: 1.8rem;
    padding: 0.26rem 0.76rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #fff0b5 0%, #ffd96f 100%) !important;
    color: #7a5200 !important;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: none;
    box-shadow: 0 10px 22px rgba(206, 152, 0, 0.18);
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__eyebrow::after {
    content: none;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__title,
body.home-page .class-showcase-card__arena-host .class-arena-session__title,
body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-head,
body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li,
body.home-page .class-showcase-card__arena-host .class-arena-session__tie,
body.home-page .class-showcase-card__arena-host .class-arena-session__my-rank {
    color: #131313 !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__title {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.16;
    letter-spacing: -0.02em;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__subtitle {
    margin: 0;
    max-width: 34rem;
    color: rgba(58, 39, 0, 0.68) !important;
    font-size: 0.82rem;
    line-height: 1.48;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.32rem 0.86rem;
    border-radius: 999px;
    border: 1px solid rgba(214, 156, 0, 0.18) !important;
    background: linear-gradient(135deg, rgba(255, 241, 180, 0.98), rgba(255, 218, 111, 0.98)) !important;
    color: #6d4a00 !important;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 10px 20px rgba(206, 152, 0, 0.12);
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0.95rem;
}

body.home-page .class-showcase-card__arena-host .class-arena-session {
    display: grid;
    gap: 0.82rem;
    min-width: 0;
    padding: 1rem 1.02rem;
    border-radius: 1.28rem !important;
    border: 1px solid rgba(221, 170, 13, 0.24) !important;
    background:
        radial-gradient(circle at right top, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 247, 223, 0.96) 100%) !important;
    box-shadow:
        0 14px 28px rgba(186, 135, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1,
body.home-page .class-showcase-card__leaderboard-item.is-top-1:hover,
body.home-page .class-showcase-card__leaderboard-item.is-top-1:focus-visible {
    position: sticky;
    top: 0;
    z-index: 6;
    overflow: hidden;
    border-color: rgba(227, 176, 0, 0.44) !important;
    background: linear-gradient(135deg, rgba(255, 244, 196, 0.98), rgba(255, 253, 233, 0.98)) !important;
    box-shadow:
        0 14px 28px rgba(219, 170, 0, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
    transform: translateY(-1px);
    animation: hoanganhTopLeaderGlow 3.2s ease-in-out infinite;
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1::after {
    content: "";
    position: absolute;
    top: -18%;
    bottom: -18%;
    left: -22%;
    width: 28%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.82), rgba(255, 255, 255, 0));
    pointer-events: none;
    opacity: 0;
    animation: hoanganhTopLeaderSweep 4.8s ease-in-out infinite;
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-rank {
    position: relative;
    background: linear-gradient(145deg, #ffdc52 0%, #efbc1c 100%) !important;
    border-color: rgba(227, 176, 0, 0.42) !important;
    color: #5a4200 !important;
    box-shadow: 0 8px 18px rgba(224, 173, 0, 0.18);
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-rank::after {
    content: "\2726";
    position: absolute;
    top: -0.3rem;
    right: -0.16rem;
    width: 0.95rem;
    height: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff8dc;
    color: #d59a00;
    font-size: 0.56rem;
    line-height: 1;
    box-shadow: 0 6px 14px rgba(214, 159, 0, 0.16);
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-score {
    background: linear-gradient(145deg, #f2c63d 0%, #ddaa0d 100%) !important;
    color: #4e3900 !important;
    border-color: rgba(221, 170, 13, 0.3) !important;
    box-shadow: 0 10px 18px rgba(219, 170, 0, 0.18) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    flex-wrap: wrap;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__status {
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0.2rem 0.62rem;
    border-radius: 999px;
    background: #131313;
    color: #ffe381;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__status {
    background: #ffe16d;
    color: #131313;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__status {
    background: #fff4c8;
    color: #896900;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__time {
    color: rgba(28, 27, 27, 0.58);
    font-size: 0.74rem;
    line-height: 1.4;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.32;
    font-weight: 800;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__actions {
    min-width: 0;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter {
    border: 0 !important;
    border-radius: 1rem !important;
    background: linear-gradient(135deg, #ffe16d, #ffd200) !important;
    color: #131313 !important;
    box-shadow: 0 12px 22px rgba(255, 210, 0, 0.16) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter:hover,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter:focus-visible {
    transform: translateY(-1px);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter.is-disabled {
    background: linear-gradient(180deg, #f3ecde, #eee5d5) !important;
    color: rgba(28, 27, 27, 0.66) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown {
    background: rgba(19, 19, 19, 0.08);
    color: #131313;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-open {
    background: rgba(255, 215, 0, 0.16);
    color: #6a5200;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-warning {
    background: rgba(255, 230, 163, 0.88);
    color: #7a4d00;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-closed {
    background: rgba(19, 19, 19, 0.08);
    color: rgba(28, 27, 27, 0.68);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-stats,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-time-total {
    color: rgba(28, 27, 27, 0.66);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-time-main-value {
    color: #131313;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress {
    background: rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__my-rank {
    margin: 0;
    color: rgba(28, 27, 27, 0.68) !important;
    font-size: 0.78rem;
    line-height: 1.45;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard {
    display: grid;
    gap: 0.55rem;
    padding: 0.84rem;
    border-radius: 1rem;
    border: 1px solid rgba(224, 170, 0, 0.18);
    background: linear-gradient(180deg, rgba(255, 251, 238, 0.98), rgba(255, 242, 200, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    margin: 0;
    font-size: 0.78rem;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-head span {
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.7rem;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.55rem;
    padding: 0.42rem 0.52rem;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.74);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li.is-me {
    border-color: rgba(255, 200, 0, 0.24);
    background: rgba(255, 248, 214, 0.96);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li strong,
body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li em {
    color: #131313;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li em {
    opacity: 0.68;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__tie {
    margin: 0;
    color: rgba(28, 27, 27, 0.56) !important;
    font-size: 0.72rem;
    line-height: 1.45;
}

body.home-page .class-showcase-card__arena-host .class-arena-session,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-open,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled {
    border-color: rgba(224, 170, 0, 0.24) !important;
    background:
        radial-gradient(circle at right top, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, #fffef9 0%, #fff4d9 100%) !important;
    box-shadow:
        0 14px 28px rgba(186, 135, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session::before,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled::before {
    background: linear-gradient(180deg, rgba(224, 170, 0, 0.92), rgba(255, 214, 90, 0.72)) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-closed,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-cancelled {
    border-color: rgba(24, 21, 18, 0.1) !important;
    background: linear-gradient(180deg, #faf8f2 0%, #f2ede1 100%) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-closed::before,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-cancelled::before {
    background: linear-gradient(180deg, rgba(136, 118, 74, 0.78), rgba(203, 188, 152, 0.68)) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__status,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__status,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__status {
    background: linear-gradient(135deg, #fff4c5 0%, #ffe08a 100%) !important;
    color: #7c5500 !important;
    box-shadow:
        inset 0 0 0 1px rgba(224, 170, 0, 0.14),
        0 6px 14px rgba(224, 170, 0, 0.12) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-closed .class-arena-session__status,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-cancelled .class-arena-session__status {
    background: rgba(24, 21, 18, 0.06) !important;
    color: rgba(24, 21, 18, 0.72) !important;
    box-shadow: inset 0 0 0 1px rgba(24, 21, 18, 0.08) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__time {
    color: rgba(88, 63, 8, 0.72) !important;
    font-weight: 800;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter {
    border: 1px solid rgba(183, 127, 0, 0.24) !important;
    background: linear-gradient(135deg, #8d5400 0%, #c68500 38%, #f2c12f 100%) !important;
    color: #fffdf7 !important;
    box-shadow:
        0 16px 30px rgba(183, 126, 0, 0.22),
        inset 0 1px 0 rgba(255, 244, 214, 0.28) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter:not(.is-disabled) {
    background: linear-gradient(135deg, #8b4b00 0%, #d68e00 42%, #ffd449 100%) !important;
    color: #fffdf7 !important;
    border-color: rgba(224, 170, 0, 0.34) !important;
    box-shadow:
        0 18px 34px rgba(183, 126, 0, 0.26),
        0 0 0 1px rgba(255, 231, 160, 0.18),
        inset 0 1px 0 rgba(255, 244, 214, 0.34) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter:hover,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter:focus-visible,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter:hover,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter:focus-visible {
    transform: translateY(-2px);
    box-shadow:
        0 20px 36px rgba(183, 126, 0, 0.28),
        inset 0 1px 0 rgba(255, 244, 214, 0.34) !important;
    filter: saturate(1.03) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter.is-disabled,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-cancelled .class-arena-session__enter.is-disabled {
    border-color: rgba(224, 170, 0, 0.14) !important;
    background: linear-gradient(180deg, #f8eed9 0%, #ecddbd 100%) !important;
    color: rgba(95, 71, 17, 0.92) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.74),
        inset 0 -1px 0 rgba(183, 127, 0, 0.08) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-label,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-label {
    color: inherit !important;
    text-shadow: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-countdown {
    background: rgba(145, 104, 8, 0.08) !important;
    color: rgba(101, 69, 0, 0.92) !important;
    box-shadow: inset 0 0 0 1px rgba(183, 127, 0, 0.12) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-open,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-warning {
    background: rgba(145, 104, 8, 0.1) !important;
    color: rgba(101, 69, 0, 0.96) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-closed {
    background: rgba(24, 21, 18, 0.06) !important;
    color: rgba(24, 21, 18, 0.66) !important;
    box-shadow: inset 0 0 0 1px rgba(24, 21, 18, 0.06) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-stats,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-time-total,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-stats,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-time-total {
    color: rgba(108, 75, 10, 0.86) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-time-main-value {
    color: #ffffff !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-time-main-value {
    color: rgba(88, 58, 0, 0.96) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-time-meta {
    color: rgba(108, 75, 10, 0.82) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress {
    background: rgba(24, 21, 18, 0.08) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-progress {
    background: rgba(145, 104, 8, 0.08) !important;
    box-shadow: inset 0 0 0 1px rgba(183, 127, 0, 0.1) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-open,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-done,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-warning {
    background: linear-gradient(90deg, #ffd65a 0%, #e0aa00 100%) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-closed,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-scheduled {
    background: linear-gradient(90deg, rgba(224, 170, 0, 0.32) 0%, rgba(255, 241, 188, 0.82) 100%) !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    body.home-page .class-section .section-text h2 {
        white-space: normal;
    }

    body.home-page .class-showcase-card__notes-head {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__notes-headline {
        flex-wrap: wrap;
    }

    body.home-page .class-showcase-card__todo-head,
    body.home-page .class-showcase-card__todo-layout {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__todo-head {
        display: grid;
    }

    body.home-page .class-showcase-card__todo .class-todo-home__count {
        justify-self: start;
    }

    body.home-page .class-showcase-card__arena-host .class-arena-panel__head {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__arena-host .class-arena-panel__count {
        justify-self: start;
    }

    body.home-page .class-showcase-card__arena-host .class-arena-panel__list {
        grid-template-columns: 1fr;
    }
}

body.home-page .class-showcase-card__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
}

body.home-page .class-showcase-card__stat {
    margin: 0;
    padding: 0.95rem 1rem;
    border-radius: 1.3rem;
    background: #fcfbf8;
    border: 1px solid rgba(19, 19, 19, 0.06);
}

body.home-page .class-showcase-card__stat dt {
    margin: 0;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__stat dd {
    margin: 0.35rem 0 0;
    color: #131313;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 900;
}

body.home-page .class-showcase-card__footer {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

body.home-page .class-showcase-card__meta {
    padding: 0.85rem 0.95rem;
    border-radius: 1.2rem;
    background: linear-gradient(180deg, #ffffff, #f7f3eb);
    border: 1px solid rgba(19, 19, 19, 0.06);
}

body.home-page .class-showcase-card__meta span {
    display: block;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__meta strong {
    display: block;
    margin-top: 0.32rem;
    color: #131313;
    font-size: 0.98rem;
    line-height: 1.35;
    font-weight: 800;
}

body.home-page .class-showcase-card.is-restricted .class-showcase-card__media::after {
    background: linear-gradient(180deg, rgba(19, 19, 19, 0), rgba(19, 19, 19, 0.34));
}

body.home-page .class-showcase-card.is-restricted .class-showcase-card__tone {
    background: rgba(19, 19, 19, 0.08);
    color: rgba(28, 27, 27, 0.62);
}

body.home-page .class-grid[data-class-switcher-grid] {
    gap: 1rem !important;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card {
    order: var(--class-order, var(--class-order-index, 2));
    transition:
        grid-template-columns 320ms cubic-bezier(0.22, 1, 0.36, 1),
        gap 320ms cubic-bezier(0.22, 1, 0.36, 1),
        padding 320ms cubic-bezier(0.22, 1, 0.36, 1),
        border-radius 320ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1),
        border-color 220ms ease;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed {
    grid-template-columns: minmax(12.5rem, 16.5rem) minmax(0, 1fr);
    gap: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 1.6rem;
    box-shadow: 0 14px 28px rgba(19, 19, 19, 0.05);
    cursor: pointer;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed:hover {
    border-color: rgba(224, 170, 0, 0.22);
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__lead {
    gap: 0;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__media {
    height: 100%;
    min-height: 0;
    max-height: 8.8rem;
    border-radius: 1.25rem;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__leaderboard,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__practice,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__arena-host,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__todo,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__notes,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__stats,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__footer {
    display: none;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__content {
    justify-content: center;
    gap: 0.72rem;
    padding: 0;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__eyebrow-row {
    display: none;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__title {
    font-size: clamp(1.12rem, 1.55vw, 1.42rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions {
    max-width: 36rem;
    grid-template-columns: minmax(0, 1.55fr) minmax(10rem, 0.75fr);
    gap: 0.72rem;
    align-items: center;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed {
    grid-template-columns: minmax(0, 1.38fr) minmax(12.25rem, 0.85fr);
    gap: 0.72rem;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__button,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__attendance-btn {
    min-height: 3rem;
    padding: 0.78rem 0.95rem;
    border-radius: 1rem;
    font-size: 0.92rem;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__attendance-meta {
    display: none;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn {
    width: 100%;
    min-width: 100%;
    max-width: none;
    padding-inline: 0.95rem;
    border-radius: 1rem !important;
    font-size: 0.84rem;
    color: #5b4300;
    background: linear-gradient(145deg, #fff2b1 0%, #f2d56b 100%) !important;
    border: 1px solid rgba(210, 154, 0, 0.22) !important;
    box-shadow: 0 10px 18px rgba(210, 154, 0, 0.16) !important;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn::before {
    content: none;
}

@media (max-width: 900px) {
    body.home-page .class-section__class-switcher {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 0.18rem;
        scrollbar-width: thin;
    }

    body.home-page .class-section__class-tab {
        flex: 0 0 15rem;
        grid-template-columns: 3.55rem minmax(0, 1fr);
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed {
        grid-template-columns: 7rem minmax(0, 1fr);
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__media {
        max-height: 5rem;
    }
}

@media (max-width: 640px) {
    body.home-page .class-section__class-switcher {
        margin-bottom: 0.95rem;
        gap: 0.62rem;
    }

    body.home-page .class-section__class-tab {
        flex: 0 0 13.6rem;
        grid-template-columns: 3.1rem minmax(0, 1fr);
        gap: 0.62rem;
        padding: 0.56rem 0.68rem;
    }

    body.home-page .class-section__class-tab-thumb {
        width: 3.1rem;
        border-radius: 0.86rem;
    }

    body.home-page .class-section__class-tab-title {
        font-size: 0.9rem;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed {
        grid-template-columns: 6.15rem minmax(0, 1fr);
        gap: 0.78rem;
        padding: 0.78rem 0.82rem;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__media {
        max-height: 4.25rem;
        border-radius: 1rem;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions,
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed {
        max-width: none;
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__button,
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__attendance-btn {
        min-height: 2.7rem;
        font-size: 0.88rem;
    }
}

@media (max-width: 1180px) {
    body.home-page .class-grid,
    body.home-page .class-grid.class-grid--desktop-1,
    body.home-page .class-grid.class-grid--desktop-2,
    body.home-page .class-grid.class-grid--desktop-3 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body.home-page .class-showcase-card {
        grid-template-columns: 1fr;
        gap: 0.9rem;
        padding: 0.85rem;
        border-radius: 1.5rem;
    }

    body.home-page .class-showcase-card__lead {
        gap: 0.8rem;
    }

    body.home-page .class-showcase-card:not(.is-collapsed) .class-showcase-card__lead {
        display: contents;
    }

    body.home-page .class-showcase-card:not(.is-collapsed) .class-showcase-card__media {
        order: 1;
        aspect-ratio: 16 / 9;
    }

    body.home-page .class-showcase-card:not(.is-collapsed) .class-showcase-card__content {
        order: 2;
        padding: 0.15rem 0 0;
    }

    body.home-page .class-showcase-card:not(.is-collapsed) .class-showcase-card__leaderboard {
        order: 3;
    }

    body.home-page .class-showcase-card__actions,
    body.home-page .class-showcase-card__stats,
    body.home-page .class-showcase-card__footer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    body.home-page .class-showcase-card__actions,
    body.home-page .class-showcase-card__actions.is-attendance-completed,
    body.home-page .class-showcase-card__stats,
    body.home-page .class-showcase-card__footer {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__actions.is-attendance-completed {
        gap: 0.8rem;
    }

    body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn {
        width: 100%;
        min-width: 100%;
        max-width: none;
        padding-inline: 1rem;
        font-size: 0.96rem;
        color: inherit;
        border-radius: 1rem !important;
    }

    body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn::before {
        content: none;
    }
}

@media (min-width: 901px) {
    body .main-nav:has(a:only-child) {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0;
        min-width: 11rem;
    }

    body .main-nav:has(a:only-child) a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.9rem;
        padding: 0.7rem 1.35rem !important;
        border-radius: 999px !important;
        color: var(--bee-ink) !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body .main-nav:has(a:only-child) a::after {
        content: none !important;
    }

    body .main-nav:has(a:only-child) a:hover,
    body .main-nav:has(a:only-child) a:focus-visible {
        background: rgba(255, 215, 0, 0.18) !important;
        color: var(--bee-ink) !important;
    }
}

body.home-page .class-grid.class-grid--guest-showcase {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.35rem !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted {
    grid-template-columns: 1fr;
    gap: 0.95rem;
    min-height: 100%;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__lead {
    gap: 0;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media {
    aspect-ratio: 16 / 9;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__content {
    padding: 0 0.05rem 0.05rem;
    gap: 0.85rem;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
    font-size: clamp(1.06rem, 1.32vw, 1.38rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    min-height: 2.24em;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions {
    grid-template-columns: 1fr;
    gap: 0;
}

@media (max-width: 1180px) {
    body.home-page .class-grid.class-grid--guest-showcase {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.home-page .class-grid.class-grid--guest-showcase {
        grid-template-columns: 1fr !important;
    }
}

/* Course page redesign: white-first layout with gold active states */
body.course-page {
    --course-bg: #fcfbf7;
    --course-surface: #ffffff;
    --course-surface-alt: #fffdf5;
    --course-border: rgba(23, 23, 23, 0.08);
    --course-border-strong: rgba(233, 196, 0, 0.42);
    --course-ink: #161616;
    --course-muted: rgba(22, 22, 22, 0.62);
    --course-accent: #ffd43b;
    --course-accent-strong: #efbc00;
    --course-accent-soft: #fff4bf;
    --course-accent-wash: #fff9e5;
    --course-shadow: 0 20px 48px rgba(18, 18, 18, 0.06);
    background: linear-gradient(180deg, #fffdfa 0%, #ffffff 32%, #fdfbf6 100%) !important;
    color: var(--course-ink) !important;
}

body.course-page::before,
body.course-page::after {
    content: none !important;
    display: none !important;
}

body.course-page .container {
    max-width: min(1320px, calc(100% - 2.5rem));
}

body.course-page .site-header.container,
body.course-page .site-header.exam-page-header.container,
body.course-page .site-header.exam-page-header {
    transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
}

body.course-page.course-review-overlay-open .site-header.container,
body.course-page.course-review-overlay-open .site-header.exam-page-header.container,
body.course-page.course-review-overlay-open .site-header.exam-page-header {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-1rem);
}

body.course-page .header-actions {
    position: relative;
    z-index: 1221;
}

body.course-page .user-menu {
    z-index: 1222;
}

body.course-page .user-menu.is-open {
    z-index: 1224;
}

body.course-page .course-btn.primary,
body.course-page .course-todo-trigger,
body.course-page .course-outline-fab {
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
    border: 1px solid rgba(239, 188, 0, 0.22) !important;
    box-shadow: 0 14px 30px rgba(239, 188, 0, 0.2) !important;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] {
    position: fixed !important;
    top: clamp(0.8rem, 1.8vw, 1.2rem) !important;
    right: clamp(0.8rem, 2vw, 1.4rem) !important;
    bottom: auto !important;
    z-index: 1228 !important;
    display: inline-flex !important;
    align-items: center !important;
    background: linear-gradient(135deg, #ffefb0 0%, #ffd95a 55%, #efc200 100%) !important;
    color: #2c2200 !important;
    border: 1px solid rgba(233, 196, 0, 0.6) !important;
    box-shadow: 0 14px 30px rgba(233, 196, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.48) !important;
    min-height: 3.15rem !important;
    padding: 0.72rem 1.1rem !important;
    border-radius: 1.18rem !important;
    gap: 0.72rem;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"]:hover,
body.course-page .course-outline-fab[data-desktop-todo-mode="1"]:focus-visible {
    background: linear-gradient(135deg, #fff3c6 0%, #ffe176 56%, #f4ca1b 100%) !important;
    color: #251d00 !important;
    box-shadow: 0 18px 34px rgba(233, 196, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.56) !important;
    transform: translateY(-2px) scale(1.02);
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] .course-outline-fab__icon {
    display: inline-flex;
    color: #6a5200;
    width: 1.34rem;
    height: 1.34rem;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] .course-outline-fab__label {
    color: rgba(44, 34, 0, 0.92);
    font-weight: 800;
    font-size: 1.06rem;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] .course-outline-fab__count {
    background: rgba(255, 255, 255, 0.62) !important;
    color: #785b00 !important;
    border: 1px solid rgba(233, 196, 0, 0.46) !important;
    font-weight: 900;
    box-shadow: none !important;
    min-height: 2rem;
    padding: 0.18rem 0.56rem !important;
    min-width: 2.2rem !important;
    font-size: 1rem;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] .course-outline-fab__count strong {
    color: #654a00 !important;
}

.course-outline-fab__icon {
    display: none;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.course-outline-fab__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

body.course-page .course-btn.primary:hover,
body.course-page .course-btn.primary:focus-visible,
body.course-page .course-todo-trigger:hover,
body.course-page .course-todo-trigger:focus-visible,
body.course-page .course-outline-fab:hover,
body.course-page .course-outline-fab:focus-visible {
    background: #ffdf57 !important;
    color: var(--course-ink) !important;
    box-shadow: 0 18px 32px rgba(239, 188, 0, 0.24) !important;
}

body.course-page .course-btn,
body.course-page .course-back {
    min-height: 3.35rem;
    padding: 0.78rem 1.2rem !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--course-ink) !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    box-shadow: none !important;
    font-size: 0.96rem;
    font-weight: 900;
    letter-spacing: -0.01em;
}

body.course-page .course-btn:hover,
body.course-page .course-btn:focus-visible,
body.course-page .course-back:hover,
body.course-page .course-back:focus-visible {
    background: var(--course-surface-alt) !important;
    color: var(--course-ink) !important;
    border-color: rgba(233, 196, 0, 0.46) !important;
    box-shadow: 0 10px 22px rgba(18, 18, 18, 0.05) !important;
    transform: translateY(-1px);
}

body.course-page .course-btn[disabled],
body.course-page .course-btn.primary[disabled] {
    background: #f4f2eb !important;
    color: rgba(22, 22, 22, 0.42) !important;
    border-color: rgba(22, 22, 22, 0.06) !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

body.course-page .course-shell {
    position: relative;
    z-index: 1;
    padding: clamp(8.7rem, 10vw, 9.4rem) 0 3.6rem;
}

body.course-page .course-shell-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.25rem;
    align-items: center;
    padding: 0 0 1.1rem !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.course-page .course-shell-head__main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem 1.1rem;
    min-width: 0;
}

body.course-page .course-back {
    width: fit-content;
    min-height: 2.35rem;
    margin-bottom: 0;
    padding-inline: 0.82rem !important;
    background: transparent !important;
    border-color: rgba(233, 196, 0, 0.34) !important;
    color: rgba(22, 22, 22, 0.74) !important;
    font-size: 0.86rem;
}

body.course-page .course-title,
body.course-page .course-shell-head .course-title {
    margin: 0;
    flex: 1 1 24rem;
    max-width: 14ch;
    color: var(--course-ink) !important;
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    line-height: 1;
    font-weight: 1000;
    letter-spacing: -0.055em;
    text-transform: none;
}

body.course-page .course-todo-trigger {
    align-self: start;
    min-width: 11.25rem;
    gap: 0.8rem;
    border-radius: 1.2rem !important;
    padding: 0.72rem 0.82rem !important;
}

body.course-page .course-todo-trigger__icon {
    background: rgba(255, 255, 255, 0.58) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-todo-trigger__label,
body.course-page .course-todo-trigger__meta,
body.course-page .course-todo-trigger__count {
    color: var(--course-ink) !important;
}

body.course-page .course-todo-trigger__meta {
    opacity: 0.76;
}

body.course-page .course-todo-trigger__count {
    background: rgba(22, 22, 22, 0.1) !important;
}

body.course-page .course-todo-trigger__count.is-empty {
    opacity: 0.56;
}

body.course-page .course-layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(18.75rem, 22rem);
    gap: clamp(1.2rem, 2vw, 1.75rem);
    margin-top: 1.2rem;
    margin-bottom: 0;
    padding-bottom: 0;
    align-items: start;
}

body.course-page .course-player-card,
body.course-page .course-outline-sheet,
body.course-page .course-todo-dialog,
body.course-page .course-confirm-card,
body.course-page .course-review-overlay__surface,
body.course-page .course-message-card {
    background: #ffffff !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 2rem !important;
    box-shadow: var(--course-shadow) !important;
}

body.course-page .course-player-card {
    display: grid;
    gap: 1rem;
    padding: 1rem !important;
    border-radius: 1.6rem !important;
    box-shadow: 0 18px 34px rgba(18, 18, 18, 0.055) !important;
}

body.course-page .course-player-header {
    display: grid;
    gap: 0.78rem;
    margin-bottom: 0;
}

body.course-page .course-player-badge {
    display: inline-flex;
    width: fit-content;
    padding: 0.36rem 0.72rem;
    border-radius: 999px;
    background: var(--course-accent-wash) !important;
    border: 1px solid rgba(239, 188, 0, 0.26) !important;
    color: #785a00 !important;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.course-page .course-player-title {
    margin: 0;
    max-width: none;
    color: var(--course-ink) !important;
    font-size: clamp(1.95rem, 3.2vw, 2.9rem);
    line-height: 1.02;
    font-weight: 1000;
    letter-spacing: -0.055em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.course-page .course-video-wrapper {
    overflow: hidden;
    border-radius: 1.35rem !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    background: #f5f3ed !important;
    box-shadow: none !important;
}

body.course-page .course-video-wrapper iframe,
body.course-page .course-video-wrapper video {
    background: #f7f5ee;
    min-height: 0;
}

body.course-page .course-video-placeholder,
body.course-page .course-video-fallback,
body.course-page .course-video-locked {
    background: linear-gradient(180deg, #ffffff 0%, #faf8f1 100%) !important;
    color: var(--course-muted) !important;
}

body.course-page .course-video-fallback.is-game-cta {
    background: linear-gradient(180deg, #fffdf6 0%, #fff7da 100%) !important;
}

body.course-page .course-video-placeholder img {
    border-bottom: 1px solid rgba(22, 22, 22, 0.06);
}

body.course-page .course-player-source-note {
    background: var(--course-accent-wash) !important;
    border: 1px solid rgba(239, 188, 0, 0.24) !important;
    border-radius: 1.25rem !important;
    box-shadow: none !important;
}

body.course-page .course-player-source-note__badge {
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
    box-shadow: none !important;
}

body.course-page .course-player-source-note p {
    color: var(--course-muted) !important;
}

body.course-page .course-player-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.85rem;
    align-items: center;
    margin-top: 0.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-player-watched {
    justify-self: start;
}

body.course-page .course-player-resources {
    margin-top: 0.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(22, 22, 22, 0.08);
    display: grid;
    gap: 1rem;
}

body.course-page .course-player-resource-tabs,
body.course-page .course-todo-tabs {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    padding: 0.35rem !important;
    border-radius: 999px !important;
    background: #f7f5ee !important;
    border: 1px solid rgba(22, 22, 22, 0.06) !important;
    box-shadow: none !important;
}

body.course-page .course-player-resource-tab,
body.course-page .course-todo-tab {
    min-height: 2.95rem;
    padding: 0.68rem 1.15rem !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: rgba(22, 22, 22, 0.56) !important;
    box-shadow: none !important;
    font-weight: 800;
}

body.course-page .course-player-resource-tab:hover,
body.course-page .course-player-resource-tab:focus-visible,
body.course-page .course-todo-tab:hover,
body.course-page .course-todo-tab:focus-visible {
    background: rgba(255, 212, 59, 0.16) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-player-resource-tab.is-active,
body.course-page .course-todo-tab.is-active {
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
    box-shadow: none !important;
}

body.course-page .course-todo-tab__count {
    background: rgba(22, 22, 22, 0.08) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-player-resource-panel {
    padding: 1rem !important;
    border-radius: 1.2rem !important;
    background: #fcfbf7 !important;
    border: 1px solid rgba(22, 22, 22, 0.06) !important;
    box-shadow: none !important;
}

body.course-page .course-player-attachments-title,
body.course-page .course-player-review-title {
    margin: 0 0 0.9rem;
    color: rgba(22, 22, 22, 0.64) !important;
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.course-page .course-player-attachments-list li a,
body.course-page .course-player-review-item {
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    border-radius: 1.2rem !important;
}

body.course-page .course-player-attachments-list li a {
    color: var(--course-ink) !important;
}

body.course-page .course-player-attachments-list li a:hover,
body.course-page .course-player-attachments-list li a:focus-visible,
body.course-page .course-player-review-item:hover,
body.course-page .course-player-review-item:focus-visible {
    background: var(--course-surface-alt) !important;
    border-color: rgba(239, 188, 0, 0.36) !important;
    box-shadow: 0 12px 24px rgba(18, 18, 18, 0.05) !important;
}

body.course-page .course-player-review-item.is-active {
    background: linear-gradient(180deg, #fff7d1 0%, #fffdf3 100%) !important;
    border-color: rgba(239, 188, 0, 0.72) !important;
    box-shadow: 0 14px 26px rgba(239, 188, 0, 0.16) !important;
}

body.course-page .course-player-review-item-thumb {
    background: #f7f4ec !important;
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-player-review-item-title {
    color: var(--course-ink) !important;
    font-weight: 800;
}

body.course-page .course-outline-panel {
    top: 5.7rem;
    max-height: calc(100vh - 6.5rem);
    height: auto;
    width: 100% !important;
    min-width: 0;
    padding: 0 !important;
    gap: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.course-page .course-outline-sheet {
    width: 100% !important;
    padding: 1rem !important;
    border-radius: 1.5rem !important;
    background: #ffffff !important;
    box-shadow: 0 16px 32px rgba(18, 18, 18, 0.05) !important;
}

body.course-page .course-outline-header {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem 0.9rem;
    align-items: center;
}

body.course-page .course-outline-icon {
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 1rem;
    background: #fff3ba !important;
    color: #7a5e00 !important;
    box-shadow: none !important;
}

body.course-page .course-outline-header h2 {
    margin: 0;
    color: var(--course-ink) !important;
    font-size: clamp(1.18rem, 1.6vw, 1.45rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

body.course-page .course-outline-header-actions {
    grid-column: 1 / -1;
    margin-top: 0;
    gap: 0.45rem;
    justify-content: flex-start;
}

body.course-page .course-outline-scroll-bottom,
body.course-page .course-outline-close {
    background: #ffffff !important;
    color: rgba(22, 22, 22, 0.62) !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-scroll-bottom:hover,
body.course-page .course-outline-scroll-bottom:focus-visible,
body.course-page .course-outline-close:hover,
body.course-page .course-outline-close:focus-visible {
    background: var(--course-surface-alt) !important;
    color: var(--course-ink) !important;
    border-color: rgba(239, 188, 0, 0.42) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-summary {
    gap: 0.45rem;
    flex-wrap: wrap;
}

body.course-page .course-outline-summary-chip {
    background: var(--course-accent-wash) !important;
    color: #725700 !important;
    border: 1px solid rgba(239, 188, 0, 0.24) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-summary-chip strong {
    color: var(--course-ink) !important;
}

body.course-page .course-outline-summary-chip.is-watched {
    background: #f7f4ec !important;
    color: var(--course-muted) !important;
    border-color: rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-outline-summary-chip.is-watched strong {
    color: var(--course-ink) !important;
}

body.course-page .course-outline-empty {
    background: #fbfaf5 !important;
    border: 1px dashed rgba(22, 22, 22, 0.14) !important;
    color: var(--course-muted) !important;
}

body.course-page .course-outline-list {
    gap: 0.65rem;
    padding-right: 0.35rem;
}

body.course-page .course-outline-list::-webkit-scrollbar {
    width: 8px;
}

body.course-page .course-outline-list::-webkit-scrollbar-thumb {
    background: rgba(22, 22, 22, 0.54);
    border-radius: 999px;
}

body.course-page .outline-section {
    --outline-section-level: 0;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 0 !important;
    margin-left: calc(var(--outline-section-level) * 1rem);
    padding: 0.8rem 0 0 !important;
}

body.course-page .outline-section-title {
    color: var(--course-ink) !important;
    font-size: 0.75rem;
    font-weight: 900;
    padding-left: 0;
    margin-bottom: 0.6rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.58;
}

body.course-page .outline-section-title::before {
    content: none !important;
}

body.course-page .outline-lessons {
    gap: 0.45rem;
}

body.course-page .outline-lesson {
    position: relative;
    min-height: 5.15rem;
    padding: 0.82rem 0.9rem 0.82rem 1rem !important;
    border-radius: 1rem !important;
    border: 1px solid rgba(22, 22, 22, 0.06) !important;
    background: #faf9f5 !important;
    color: var(--course-ink) !important;
    box-shadow: none !important;
}

body.course-page .outline-lesson::before {
    content: "";
    position: absolute;
    left: 0.38rem;
    top: 0.55rem;
    bottom: 0.55rem;
    width: 3px;
    border-radius: 999px;
    background: transparent;
    transition: background-color 0.2s ease;
}

body.course-page .outline-lesson:hover,
body.course-page .outline-lesson:focus-within {
    background: #ffffff !important;
    border-color: rgba(239, 188, 0, 0.42) !important;
    box-shadow: 0 10px 22px rgba(18, 18, 18, 0.04) !important;
    transform: translateY(-1px);
}

body.course-page .outline-lesson.is-active {
    background: #ffffff !important;
    border-color: rgba(239, 188, 0, 0.72) !important;
    color: var(--course-ink) !important;
    box-shadow: 0 12px 24px rgba(239, 188, 0, 0.11) !important;
}

body.course-page .outline-lesson.is-watched:not(.is-active) {
    background: #f7f6f1 !important;
    border-color: rgba(22, 22, 22, 0.08) !important;
}

body.course-page .outline-lesson.is-active::before {
    background: var(--course-accent);
}

body.course-page .outline-lesson-number {
    background: #f1efe8 !important;
    color: rgba(22, 22, 22, 0.62) !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-number {
    background: var(--course-accent-wash) !important;
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson-title-text {
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson-preview-badge,
body.course-page .outline-lesson.is-active .outline-lesson-preview-badge {
    background: #fff2b0 !important;
    border: 0 !important;
    color: #6f5500 !important;
    box-shadow: none !important;
}

body.course-page .outline-lesson-go {
    width: 2.15rem;
    height: 2.15rem;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    background: #ffffff !important;
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-go {
    background: var(--course-accent) !important;
    border-color: rgba(239, 188, 0, 0.64) !important;
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson-attachment-icon,
body.course-page .outline-lesson-review-icon,
body.course-page .outline-lesson.is-active .outline-lesson-attachment-icon,
body.course-page .outline-lesson.is-active .outline-lesson-review-icon {
    background: #fff4bf !important;
    color: #6f5500 !important;
}

body.course-page .outline-lesson-watched-badge {
    background: #f7f4ec !important;
    color: rgba(22, 22, 22, 0.62) !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-confirm-modal {
    z-index: 1265 !important;
}

body.course-page .course-todo-overlay,
body.course-page .course-review-overlay,
body.course-page .course-confirm-modal__backdrop {
    background: rgba(15, 15, 15, 0.34) !important;
    backdrop-filter: blur(10px);
}

body.course-page .course-todo-dialog {
    border-radius: 2rem !important;
    background: #ffffff !important;
    box-shadow: 0 30px 70px rgba(18, 18, 18, 0.16) !important;
}

body.course-page .course-confirm-card::before {
    background: linear-gradient(90deg, #f1c400 0%, #ffd84d 100%) !important;
}

body.course-page .course-todo-dialog__head h2,
body.course-page .course-confirm-head h3,
body.course-page .course-review-overlay__title {
    color: var(--course-ink) !important;
}

body.course-page .course-confirm-head h3 {
    font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
    font-size: clamp(1.42rem, 2vw, 1.75rem) !important;
    line-height: 1.14 !important;
    font-weight: 900 !important;
    letter-spacing: -0.03em !important;
}

body.course-page .course-todo-dialog__subtitle,
body.course-page .course-confirm-desc,
body.course-page .course-review-overlay__meta {
    color: var(--course-muted) !important;
}

body.course-page .course-confirm-desc {
    font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    line-height: 1.58 !important;
    letter-spacing: -0.01em !important;
}

body.course-page .course-todo-dialog__close,
body.course-page .course-confirm-close {
    background: #f7f4ec !important;
    color: var(--course-ink) !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    box-shadow: none !important;
}

body.course-page .course-todo-dialog__close:hover,
body.course-page .course-todo-dialog__close:focus-visible,
body.course-page .course-confirm-close:hover,
body.course-page .course-confirm-close:focus-visible {
    background: var(--course-accent-wash) !important;
    border-color: rgba(239, 188, 0, 0.42) !important;
}

body.course-page .course-confirm-actions .course-btn,
body.course-page .course-confirm-actions .course-btn.primary {
    font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
    font-size: 1.02rem !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
}

body.course-page .course-todo-dialog__status {
    background: var(--course-accent-wash) !important;
    border: 1px solid rgba(239, 188, 0, 0.24) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-todo-dialog__status[data-tone="success"] {
    background: #fff7d6 !important;
    color: #6c5200 !important;
}

body.course-page .course-todo-dialog__status[data-tone="error"] {
    background: #fff0e7 !important;
    color: #8c3f1c !important;
}

body.course-page .course-todo-empty,
body.course-page .course-todo-empty--panel {
    background: #fbfaf5 !important;
    border: 1px dashed rgba(22, 22, 22, 0.12) !important;
    color: var(--course-muted) !important;
}

body.course-page .course-todo-item {
    background: #ffffff !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 1.35rem !important;
    box-shadow: none !important;
}

body.course-page .course-todo-item:hover,
body.course-page .course-todo-item:focus-visible {
    background: var(--course-surface-alt) !important;
    border-color: rgba(239, 188, 0, 0.42) !important;
    box-shadow: 0 12px 26px rgba(18, 18, 18, 0.06) !important;
}

body.course-page .course-todo-item.is-completed {
    background: #fbfaf5 !important;
}

body.course-page .course-todo-item__state {
    background: #fff7d1 !important;
    color: #6c5200 !important;
}

body.course-page .course-todo-item__state.is-completed {
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-todo-item__title {
    color: var(--course-ink) !important;
}

body.course-page .course-todo-item__meta-chip {
    background: #f7f4ec !important;
    color: var(--course-muted) !important;
}

body.course-page .course-todo-item__reward,
body.course-page .course-todo-item__reward span {
    background: #fff8db !important;
    color: #6f5500 !important;
}

body.course-page .course-review-overlay__surface {
    padding: 1.3rem !important;
    border-radius: 2rem !important;
}

body.course-page .course-review-overlay__header {
    border-bottom: 1px solid rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-review-overlay__stage {
    background: #f7f4ec !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 1.5rem !important;
    overflow: hidden;
}

body.course-page .course-review-overlay__stage iframe {
    background: #ffffff;
}

/* Gameplay shell full-bleed behavior is mobile-only; desktop keeps game list rail visible. */
@media (max-width: 768px) {
    body.course-page .course-review-overlay.is-gameplay-shell {
        padding: 0 !important;
        background: #ffffff !important;
        backdrop-filter: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__surface {
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #ffffff !important;
        grid-template-rows: minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__stage {
        display: block !important;
        height: 100% !important;
        min-height: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__stage iframe {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__workspace {
        display: block !important;
        height: 100% !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__rail {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__canvas {
        display: block !important;
        height: 100% !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__canvas-head,
    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__preview {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__frame {
        height: 100% !important;
        border-radius: 0 !important;
        border: 0 !important;
    }
}

body.course-page .course-message-card h2 {
    color: var(--course-ink) !important;
}

body.course-page .course-message-card p {
    color: var(--course-muted) !important;
}

@media (max-width: 1100px) {
    body.course-page .course-layout {
        grid-template-columns: 1fr;
    }

    body.course-page .course-outline-panel {
        position: static;
        top: auto;
        max-height: none;
    }
}

@media (max-width: 900px) {
    body.course-page .container {
        max-width: calc(100% - 1.5rem);
    }

    body.course-page .course-shell {
        padding-top: 1.55rem;
    }

    body.course-page .course-shell-head {
        grid-template-columns: 1fr;
        padding: 0 0 1rem !important;
    }

    body.course-page .course-title,
    body.course-page .course-shell-head .course-title {
        max-width: none;
        font-size: clamp(2rem, 11vw, 3.2rem);
    }

    body.course-page .course-todo-trigger {
        width: 100%;
        justify-content: space-between;
    }

    body.course-page .course-player-title {
        max-width: none;
        font-size: clamp(2.1rem, 10vw, 3.3rem);
    }

    body.course-page .course-player-controls {
        grid-template-columns: 1fr 1fr;
    }

    body.course-page .course-player-watched {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    body.course-page .course-player-card,
    body.course-page .course-outline-sheet,
    body.course-page .course-todo-dialog,
    body.course-page .course-confirm-card,
    body.course-page .course-review-overlay__surface,
    body.course-page .course-message-card {
        border-radius: 1.55rem !important;
    }

    body.course-page .course-player-controls {
        grid-template-columns: 1fr;
    }

    body.course-page .course-btn {
        width: 100%;
        justify-content: center;
    }

    body.course-page .course-back {
        width: fit-content;
        max-width: 100%;
        justify-content: center;
    }

    body.course-page .course-player-resource-tabs,
    body.course-page .course-todo-tabs {
        width: 100%;
    }

    body.course-page .course-player-resource-tab,
    body.course-page .course-todo-tab {
        flex: 1 1 0;
        justify-content: center;
    }

    body.course-page .course-outline-header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.course-page .course-outline-header-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    body.course-page .outline-lesson {
        padding: 0.84rem 0.9rem !important;
    }

    body.course-page .outline-lesson-tail {
        justify-content: flex-start;
    }

    body.course-page .course-outline-fab {
        right: 1rem;
        bottom: 1rem;
    }
}

/* Course page refinement inspired by the editorial learning layout */
body.course-page {
    --course-shell-gap: clamp(1.25rem, 2vw, 1.75rem);
}

body.course-page .container {
    max-width: min(1460px, calc(100% - 1.6rem));
}

body.course-page .course-outline-panel::before,
body.course-page .course-outline-panel::after {
    content: none !important;
    display: none !important;
}

body.course-page .course-shell {
    padding-top: clamp(8.7rem, 10vw, 9.4rem);
}

body.course-page .course-shell-head {
    gap: 0.75rem 1rem;
    align-items: start;
    padding-bottom: 0.7rem !important;
}

@media (min-width: 769px) {
    body.course-page .course-shell-head > .course-todo-trigger {
        display: none !important;
    }
}

body.course-page .course-shell-head__main {
    display: grid;
    gap: 0.45rem;
    align-items: start;
    min-width: 0;
}

body.course-page .course-title,
body.course-page .course-shell-head .course-title {
    max-width: none;
    font-size: clamp(1.1rem, 1.7vw, 1.55rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.035em !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.course-page .course-todo-trigger {
    min-width: auto;
    padding: 0.68rem 0.78rem !important;
}

body.course-page .course-layout {
    margin-top: 0.8rem;
    grid-template-columns: minmax(0, 1.56fr) minmax(22rem, 25rem);
    gap: var(--course-shell-gap);
}

body.course-page .course-player-card {
    gap: 0;
    padding: 1.1rem !important;
    border-radius: 1.45rem !important;
}

body.course-page .course-video-wrapper {
    order: 1;
    border-radius: 1.15rem !important;
    background: #111111 !important;
    border-color: rgba(22, 22, 22, 0.14) !important;
}

body.course-page .course-player-header {
    order: 2;
    margin-top: 1rem;
    gap: 0.62rem;
}

body.course-page .course-player-title {
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.72rem, 3vw, 2.55rem);
    line-height: 1.04;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    text-wrap: pretty;
}

body.course-page .course-player-deck {
    order: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.85rem 0 0;
}

body.course-page .course-player-deck-chip {
    display: inline-flex;
    align-items: center;
    min-height: 2.05rem;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    background: #fff4bf !important;
    color: #6f5500 !important;
    border: 1px solid rgba(239, 188, 0, 0.28) !important;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

body.course-page .course-player-deck-chip.is-muted {
    background: #f6f3ef !important;
    color: rgba(22, 22, 22, 0.64) !important;
    border-color: rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-player-source-note {
    order: 4;
    margin-top: 0.9rem;
    border-radius: 1rem !important;
}

body.course-page .course-player-controls {
    order: 5;
    margin-top: 1rem;
    padding-top: 1rem;
}

body.course-page .course-player-resources {
    order: 6;
    margin-top: 1rem;
    padding-top: 1rem;
}

body.course-page .course-player-resource-tabs {
    width: 100%;
    gap: 1.35rem;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.course-page .course-player-resource-tab {
    position: relative;
    min-height: auto;
    padding: 0 0 0.9rem !important;
    border-radius: 0 !important;
    color: rgba(22, 22, 22, 0.56) !important;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.course-page .course-player-resource-tab::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    border-radius: 999px;
    background: transparent;
    transition: background-color 0.2s ease;
}

body.course-page .course-player-resource-tab:hover,
body.course-page .course-player-resource-tab:focus-visible {
    background: transparent !important;
}

body.course-page .course-player-resource-tab.is-active {
    background: transparent !important;
    color: #8f171d !important;
}

body.course-page .course-player-resource-tab.is-active::after {
    background: transparent;
}

body.course-page .course-player-resource-panel {
    margin-top: 0.3rem;
    border-radius: 1.15rem !important;
    background: #f8f6f2 !important;
}

body.course-page .course-player-attachments-list li a,
body.course-page .course-player-review-item {
    background: #ffffff !important;
}

body.course-page .course-outline-sheet {
    padding: 1rem !important;
    border-radius: 1.35rem !important;
    background: #f6f3f2 !important;
    border: 1px solid rgba(22, 22, 22, 0.06) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.85rem;
}

body.course-page .course-outline-kicker {
    color: rgba(22, 22, 22, 0.56);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.course-page .course-outline-progress-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.32rem 0.7rem;
    border-radius: 999px;
    background: #fff4bf;
    color: #6f5500;
    font-size: 0.76rem;
    font-weight: 900;
}

body.course-page .course-outline-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-outline-header-copy {
    min-width: 0;
}

body.course-page .course-outline-header-actions {
    grid-column: 3;
    justify-self: end;
    align-self: start;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

body.course-page .course-outline-scroll-bottom {
    width: 2.45rem;
    min-width: 2.45rem;
    height: 2.45rem;
    padding: 0 !important;
    border-radius: 0.95rem !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

body.course-page .course-outline-scroll-bottom::before {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    background: currentColor;
    opacity: 0.88;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M5.22 7.97a.75.75 0 0 1 1.06 0L10 11.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.03a.75.75 0 0 1 0-1.06Zm0 4a.75.75 0 0 1 1.06 0L10 15.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0l-4.25-4.25a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M5.22 7.97a.75.75 0 0 1 1.06 0L10 11.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.03a.75.75 0 0 1 0-1.06Zm0 4a.75.75 0 0 1 1.06 0L10 15.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0l-4.25-4.25a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.course-page .course-outline-summary {
    padding-top: 0.85rem;
    padding-bottom: 0.8rem;
    gap: 0.5rem;
    flex-wrap: wrap;
}

body.course-page .course-outline-progressbar {
    margin-bottom: 0.9rem;
}

body.course-page .course-outline-progressbar-track {
    display: block;
    width: 100%;
    height: 0.42rem;
    overflow: hidden;
    border-radius: 999px;
    background: #dfd9d8;
}

body.course-page .course-outline-progressbar-fill {
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: var(--course-accent);
    box-shadow: 0 0 16px rgba(239, 188, 0, 0.42);
    transition: width 0.25s ease;
}

body.course-page .course-outline-list {
    gap: 0.75rem;
}

body.course-page .outline-section {
    margin-left: calc(var(--outline-section-level) * 1rem);
    padding-top: 0.9rem !important;
}

body.course-page .outline-section-title {
    margin-bottom: 0.52rem;
}

body.course-page .outline-lesson {
    min-height: 4.65rem;
    padding: 0.78rem 0.9rem !important;
    border: 0 !important;
    border-left: 4px solid transparent !important;
    border-radius: 1rem !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

body.course-page .outline-lesson::before {
    content: none !important;
}

body.course-page .outline-lesson:hover,
body.course-page .outline-lesson:focus-within {
    background: #ffffff !important;
    border-left-color: rgba(239, 188, 0, 0.38) !important;
}

body.course-page .outline-lesson.is-active {
    background: #fff7d1 !important;
    border-color: rgba(239, 188, 0, 0.72) !important;
    border-left-color: var(--course-accent) !important;
    box-shadow: 0 12px 26px rgba(239, 188, 0, 0.14) !important;
}

body.course-page .outline-lesson-go {
    background: transparent !important;
    border: 0 !important;
    color: rgba(22, 22, 22, 0.56) !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-number,
body.course-page .outline-lesson.is-active .outline-lesson-preview-badge,
body.course-page .outline-lesson.is-active .outline-lesson-watched-badge,
body.course-page .outline-lesson.is-active .outline-lesson-attachment-icon,
body.course-page .outline-lesson.is-active .outline-lesson-review-icon {
    background: #ffe88a !important;
    border-color: rgba(239, 188, 0, 0.52) !important;
    color: #5e4700 !important;
    box-shadow: none !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-go {
    width: 2rem;
    height: 2rem;
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-player-review-lab {
    display: grid;
    grid-template-columns: minmax(0, 20rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

body.course-page .course-player-review-lab__rail,
body.course-page .course-player-review-stage {
    min-width: 0;
    padding: 1rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(22, 22, 22, 0.08);
    background: #ffffff;
}

body.course-page .course-player-review-lab__rail {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

body.course-page .course-player-review-header {
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
}

body.course-page .course-player-review-title {
    margin: 0 !important;
    color: var(--course-ink) !important;
    font-size: 0.8rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

body.course-page .course-player-review-subtitle {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.94rem;
    line-height: 1.55;
}

body.course-page .course-player-review-list {
    margin: 0;
    gap: 0.72rem;
}

body.course-page .course-player-review-item {
    display: grid;
    grid-template-columns: 4.35rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.82rem !important;
    text-align: left;
}

body.course-page .course-player-review-item-thumb {
    position: relative;
    width: 4.35rem;
    height: 4.35rem;
    min-width: 4.35rem;
    overflow: hidden;
    border-radius: 1.15rem !important;
    background: #f6f1e3 !important;
}

body.course-page .course-player-review-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.course-page .course-player-review-item-thumb-fallback,
body.course-page .course-player-review-stage__thumb-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #fff6d2 0%, #ffe88a 100%);
    color: #6f5500;
    font-weight: 900;
    letter-spacing: 0.08em;
}

body.course-page .course-player-review-item-thumb-fallback {
    position: absolute;
    inset: 0;
    font-size: 1.05rem;
}

body.course-page .course-player-review-item-thumb-fallback.is-hidden,
body.course-page .course-player-review-stage__thumb-fallback.is-hidden {
    display: none;
}

body.course-page .course-player-review-item-copy {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    min-width: 0;
}

body.course-page .course-player-review-item-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.55rem;
    padding: 0.2rem 0.58rem;
    border-radius: 999px;
    background: #fff4bf;
    color: #7a5e00;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.course-page .course-player-review-item-title {
    display: -webkit-box;
    overflow: hidden;
    color: var(--course-ink) !important;
    font-size: 1rem;
    line-height: 1.28;
    font-weight: 900;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.course-page .course-player-review-item-meta {
    color: rgba(22, 22, 22, 0.52);
    font-size: 0.82rem;
    font-weight: 700;
}

body.course-page .course-player-review-item-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    min-width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    background: #f7f4ec;
    color: rgba(22, 22, 22, 0.68);
    font-size: 1.45rem;
    font-weight: 900;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body.course-page .course-player-review-item:hover,
body.course-page .course-player-review-item:focus-visible {
    transform: translateY(-1px);
}

body.course-page .course-player-review-item:hover .course-player-review-item-arrow,
body.course-page .course-player-review-item:focus-visible .course-player-review-item-arrow,
body.course-page .course-player-review-item.is-active .course-player-review-item-arrow {
    background: var(--course-accent);
    color: var(--course-ink);
}

body.course-page .course-player-review-stage {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

body.course-page .course-player-review-stage__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

body.course-page .course-player-review-stage__eyebrow,
body.course-page .course-player-review-stage__counter,
body.course-page .course-player-review-stage__chip,
body.course-page .course-player-review-stage__canvas-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.32rem 0.72rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 900;
}

body.course-page .course-player-review-stage__eyebrow,
body.course-page .course-player-review-stage__chip,
body.course-page .course-player-review-stage__canvas-state {
    background: #fff4bf;
    color: #725700;
    border: 1px solid rgba(239, 188, 0, 0.22);
}

body.course-page .course-player-review-stage__counter {
    background: #f7f4ec;
    color: rgba(22, 22, 22, 0.66);
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-player-review-stage__hero {
    display: grid;
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

body.course-page .course-player-review-stage__thumb {
    position: relative;
    min-height: 15rem;
    overflow: hidden;
    border-radius: 1.35rem;
    background: #f5efe0;
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-player-review-stage__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.course-page .course-player-review-stage__thumb-fallback {
    position: absolute;
    inset: 0;
    font-size: clamp(2.1rem, 4vw, 3rem);
}

body.course-page .course-player-review-stage__copy {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-width: 0;
}

body.course-page .course-player-review-stage__label {
    color: rgba(22, 22, 22, 0.52);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.course-page .course-player-review-stage__title {
    margin: 0;
    color: var(--course-ink);
    font-size: clamp(1.5rem, 2.2vw, 2.35rem);
    line-height: 1.04;
    letter-spacing: -0.04em;
}

body.course-page .course-player-review-stage__summary {
    margin: 0;
    color: var(--course-muted);
    font-size: 1rem;
    line-height: 1.65;
}

body.course-page .course-player-review-stage__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

body.course-page .course-player-review-stage__canvas {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 20rem;
    padding: 1rem;
    border-radius: 1.45rem;
    background:
        linear-gradient(180deg, rgba(255, 250, 233, 0.88), rgba(255, 255, 255, 0.94)),
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.2), transparent 40%);
    border: 1px solid rgba(239, 188, 0, 0.26);
}

body.course-page .course-player-review-stage__canvas-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

body.course-page .course-player-review-stage__canvas-kicker {
    color: rgba(22, 22, 22, 0.55);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.course-page .course-player-review-stage__canvas-body {
    display: block;
    min-height: clamp(24rem, 60vh, 50rem);
}

body.course-page .course-player-review-stage__frame {
    position: relative;
    width: 100%;
    min-height: inherit;
    height: 100%;
    border-radius: 1.2rem;
    overflow: hidden;
    border: 1px solid rgba(22, 22, 22, 0.1);
    background: #ffffff;
}

body.course-page .course-player-review-stage__iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(24rem, 60vh, 50rem);
    border: 0;
    background: #ffffff;
}

body.course-page .course-player-review-stage__canvas.is-empty .course-player-review-stage__frame {
    display: none;
}

body.course-page .course-player-review-stage__panel {
    display: none;
}

body.course-page .course-player-review-stage__panel-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: var(--course-accent);
    color: var(--course-ink);
    border: 1px solid rgba(239, 188, 0, 0.38);
    font-size: 0.76rem;
    font-weight: 900;
}

body.course-page .course-player-review-stage__panel strong {
    color: var(--course-ink);
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1.2;
}

body.course-page .course-player-review-stage__panel p {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

body.course-page .course-player-review-lab {
    grid-template-columns: 1fr;
}

body.course-page .course-player-review-stage {
    display: none !important;
}

body.course-page .course-review-overlay__surface.is-review-mode {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__stage {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__canvas {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: transparent;
    border: 0;
}

body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__canvas-head,
body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__preview {
    display: none;
}

body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__frame {
    flex: 1 1 auto;
    min-height: 0;
    border-radius: 1.6rem;
}

body.course-page .course-review-overlay__workspace {
    display: grid;
    grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
    gap: 1rem;
    height: 100%;
    min-height: 0;
}

body.course-page .course-review-overlay__rail,
body.course-page .course-review-overlay__canvas {
    min-width: 0;
    min-height: 0;
    padding: 1rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(22, 22, 22, 0.08);
    background: #ffffff;
}

body.course-page .course-review-overlay__rail {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    overflow: auto;
}

body.course-page .course-review-overlay__rail-head {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
body.course-page .course-review-overlay__rail-back {
    align-self: flex-start;
    margin-bottom: 0.2rem;
}

body.course-page .course-review-overlay__rail-title {
    margin: 0;
    color: var(--course-ink);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.course-page .course-review-overlay__rail-subtitle {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.93rem;
    line-height: 1.55;
}

body.course-page .course-review-overlay__list {
    display: grid;
    gap: 0.72rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

body.course-page .course-review-overlay__canvas {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 1rem;
    background:
        linear-gradient(180deg, rgba(255, 250, 233, 0.88), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.22), transparent 42%);
    border-color: rgba(239, 188, 0, 0.26);
}

body.course-page .course-review-overlay__canvas-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
}

body.course-page .course-review-overlay__canvas-copy {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

body.course-page .course-review-overlay__canvas-kicker,
body.course-page .course-review-overlay__canvas-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.32rem 0.72rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 900;
}

body.course-page .course-review-overlay__canvas-kicker {
    width: fit-content;
    background: #fff4bf;
    color: #725700;
    border: 1px solid rgba(239, 188, 0, 0.22);
}

body.course-page .course-review-overlay__canvas-counter {
    background: rgba(255, 255, 255, 0.9);
    color: rgba(22, 22, 22, 0.66);
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-review-overlay__canvas-title {
    margin: 0;
    color: var(--course-ink);
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

body.course-page .course-review-overlay__canvas-source {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.95rem;
    font-weight: 700;
}

body.course-page .course-review-overlay__preview {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
}

body.course-page .course-review-overlay__preview-thumb {
    position: relative;
    min-height: 9rem;
    overflow: hidden;
    border-radius: 1.2rem;
    background: #f5efe0;
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-review-overlay__preview-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.course-page .course-review-overlay__preview-fallback {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #fff6d2 0%, #ffe88a 100%);
    color: #6f5500;
    font-size: 2rem;
    font-weight: 900;
}

body.course-page .course-review-overlay__preview-body {
    min-width: 0;
}

body.course-page .course-review-overlay__preview-note {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.98rem;
    line-height: 1.65;
}

body.course-page .course-review-overlay__frame {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: 1.35rem;
    border: 1px solid rgba(22, 22, 22, 0.08);
    background: #ffffff;
}

body.course-page .course-review-overlay__frame iframe {
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    display: block;
    background: #ffffff;
}

body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__workspace {
    grid-template-columns: 1fr;
}

body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__rail,
body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__preview,
body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__canvas-head {
    display: none;
}

body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__canvas {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: transparent;
    border: 0;
}
body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__header .course-review-overlay-back {
    display: none;
}

/* â”€â”€ Hamburger & drawer-close: hidden by default (desktop) â”€â”€ */
.course-review-overlay__hamburger,
.course-review-overlay__drawer-close {
    display: none !important;
}

/* â”€â”€ Mobile review overlay: fullscreen game + hamburger drawer â”€â”€ */
@media (max-width: 768px) {
    .course-review-overlay {
        padding: 0 !important;
    }

    .course-review-overlay .course-review-overlay__surface {
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .course-review-overlay__header {
        padding: 0.5rem 0.7rem !important;
        gap: 0.45rem !important;
    }

    .course-review-overlay__btn-label {
        display: none;
    }

    .course-review-overlay__btn-label-short {
        display: inline !important;
    }

    .course-review-overlay__title {
        font-size: 0.88rem !important;
    }

    .course-review-overlay__meta {
        font-size: 0.76rem !important;
    }

    /* Show header back button on mobile in review mode */
    body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__header .course-review-overlay-back {
        display: inline-flex !important;
    }

    /* Workspace: single column, full height */
    body.course-page .course-review-overlay__workspace {
        grid-template-columns: 1fr !important;
        grid-template-rows: 1fr !important;
        overflow: hidden;
        position: relative;
    }

    /* Default mobile state: show rail, hide canvas */
    body.course-page .course-review-overlay__workspace .course-review-overlay__canvas {
        display: none !important;
    }

    /* When game is active on mobile: hide rail, show canvas */
    body.course-page .course-review-overlay__workspace.is-mobile-game-open .course-review-overlay__rail {
        display: none !important;
    }

    body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__workspace.is-mobile-game-open .course-review-overlay__canvas {
        display: flex !important;
        flex-direction: column;
    }

    /* â”€â”€ Hamburger button: top-right corner over fullscreen game â”€â”€ */
    body.course-page .course-review-overlay__header .course-review-overlay__hamburger {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__surface.is-review-mode .course-review-overlay__header .course-review-overlay__hamburger {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 12;
        width: 2rem;
        height: 2rem;
        border: none;
        border-radius: 0.58rem;
        background: rgba(0, 0, 0, 0.45);
        backdrop-filter: blur(6px);
        cursor: pointer;
        flex-direction: column;
        gap: 4px;
        padding: 0;
        justify-self: end;
    }

    body.course-page .course-review-overlay__hamburger span {
        display: block;
        width: 1.15rem;
        height: 2px;
        background: #fff;
        border-radius: 2px;
        transition: transform .2s;
    }

    /* â”€â”€ Drawer close button inside rail â”€â”€ */
    body.course-page .course-review-overlay__workspace.is-mobile-drawer-open .course-review-overlay__drawer-close {
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0.55rem;
        right: 0.55rem;
        z-index: 2;
        width: 2rem;
        height: 2rem;
        border: none;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.08);
        font-size: 1.1rem;
        color: #333;
        cursor: pointer;
        padding: 0;
        line-height: 1;
    }

    /* â”€â”€ Rail as slide-in drawer from right â”€â”€ */
    body.course-page .course-review-overlay__workspace.is-mobile-game-open .course-review-overlay__rail {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 85vw;
        max-width: 22rem;
        z-index: 30;
        background: #fff;
        box-shadow: -4px 0 24px rgba(0, 0, 0, 0.18);
        transform: translateX(100%);
        transition: transform .28s cubic-bezier(.4, 0, .2, 1);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.course-page .course-review-overlay__workspace.is-mobile-game-open.is-mobile-drawer-open .course-review-overlay__rail {
        transform: translateX(0) !important;
    }

    /* Backdrop behind drawer */
    body.course-page .course-review-overlay__workspace.is-mobile-game-open::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 25;
        background: rgba(0, 0, 0, 0.35);
        opacity: 0;
        pointer-events: none;
        transition: opacity .28s;
    }

    body.course-page .course-review-overlay__workspace.is-mobile-game-open.is-mobile-drawer-open::before {
        opacity: 1;
        pointer-events: auto;
    }

    /* Rail fills available space and scrolls on mobile */
    body.course-page .course-review-overlay__rail {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    body.course-page .course-review-overlay__rail-subtitle {
        font-size: 0.85rem !important;
    }

    /* Rail head needs relative for close button */
    body.course-page .course-review-overlay__rail-head {
        position: relative;
        padding-right: 2.5rem;
    }

    /* â”€â”€ Mobile gameplay shell: show minimal header â”€â”€ */
    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__surface {
        grid-template-rows: auto minmax(0, 1fr) !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center;
        gap: 0.35rem !important;
        position: relative;
        z-index: 10;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
        padding: 0.3rem 0.42rem !important;
        min-height: 0;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header .course-review-overlay-back {
        display: inline-flex !important;
        width: auto !important;
        max-width: 6.8rem;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0.3rem 0.52rem !important;
        font-size: 0.74rem !important;
        line-height: 1.1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex: 0 1 auto;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__heading {
        min-width: 0;
        gap: 0.06rem;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__title {
        font-size: 0.76rem !important;
        line-height: 1.2;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__meta {
        font-size: 0.66rem !important;
        line-height: 1.2;
    }

    /* Hide prev/next in gameplay shell on mobile */
    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header .course-review-overlay__controls {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header .course-review-overlay__hamburger {
        margin-left: 0;
    }
}

body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__frame {
    flex: 1 1 auto;
    min-height: 0;
}

@media (max-width: 900px) {
    body.course-page .container {
        max-width: calc(100% - 1rem);
    }

    body.course-page .course-shell {
        padding-top: 9.75rem;
    }

    body.course-page .course-shell-head {
        padding-bottom: 0.8rem !important;
    }

    body.course-page .course-player-title {
        max-width: none;
        font-size: clamp(1.65rem, 7vw, 2.3rem);
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    body.course-page .course-player-resource-tabs {
        gap: 0.95rem;
    }

    body.course-page .course-player-review-lab {
        grid-template-columns: 1fr;
    }

    body.course-page .course-player-review-stage__hero {
        grid-template-columns: 1fr;
    }

    body.course-page .course-review-overlay__workspace {
        grid-template-columns: 1fr;
    }

    body.course-page .course-review-overlay__preview {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body.course-page .course-shell {
        padding-top: 10.6rem;
    }
}

@media (max-width: 760px) {
    body.course-page .course-title,
    body.course-page .course-shell-head .course-title {
        max-width: none;
        font-size: clamp(0.98rem, 4.8vw, 1.22rem) !important;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    body.course-page .course-player-card {
        padding: 0.9rem !important;
    }

    body.course-page .course-player-deck {
        gap: 0.42rem;
    }

    body.course-page .course-player-deck-chip {
        min-height: 1.9rem;
        padding-inline: 0.66rem;
        font-size: 0.72rem;
    }

    body.course-page .course-outline-sheet {
        border-radius: 1.2rem !important;
    }

    body.course-page .course-outline-header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.course-page .course-outline-header-actions {
        grid-column: 1 / -1;
        justify-self: stretch;
        justify-content: flex-start;
    }

    body.course-page .course-player-review-lab__rail,
    body.course-page .course-player-review-stage {
        padding: 0.85rem;
        border-radius: 1.2rem;
    }

    body.course-page .course-player-review-item {
        grid-template-columns: 3.6rem minmax(0, 1fr) auto;
        padding: 0.72rem !important;
    }

    body.course-page .course-player-review-item-thumb {
        width: 3.6rem;
        height: 3.6rem;
        min-width: 3.6rem;
    }

    body.course-page .course-player-review-stage__canvas-body {
        min-height: clamp(18rem, 56vh, 36rem);
    }

    body.course-page .course-player-review-stage__iframe {
        min-height: clamp(18rem, 56vh, 36rem);
    }
}

/* Homepage section alignment */
body.home-page .home-about {
    position: relative;
    padding-top: clamp(1.2rem, 2.2vw, 1.8rem);
    padding-bottom: clamp(1.6rem, 3vw, 2.4rem);
    background: transparent;
}

body.home-page .home-about > .container {
    padding: 0;
}

body.home-page .home-about .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(107, 209, 255, 0.15);
    color: #14637d;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

body.home-page .home-about .section-kicker::before {
    content: "";
    width: 0.95rem;
    height: 0.95rem;
    flex: 0 0 auto;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
}

body.home-page .home-about__shell {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: clamp(1.2rem, 2.8vw, 2rem);
    align-items: stretch;
    padding: clamp(1.3rem, 2.4vw, 1.9rem) clamp(1.3rem, 2.4vw, 1.9rem) 0;
    border-radius: 2rem;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 10%, rgba(255, 215, 0, 0.16), rgba(255, 215, 0, 0) 26%),
        radial-gradient(circle at 8% 14%, rgba(107, 209, 255, 0.14), rgba(107, 209, 255, 0) 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 246, 235, 0.94));
    border: 1px solid rgba(19, 19, 19, 0.08);
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.06);
}

body.home-page .home-about__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding-bottom: clamp(1.3rem, 2.4vw, 1.9rem);
}

body.home-page .home-about__content h2 {
    margin: 0.9rem 0 0.9rem;
    color: #131313;
    font-size: clamp(2rem, 3.2vw, 3.35rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    font-weight: 900;
}

body.home-page .home-about__content p {
    margin: 0;
    max-width: 44rem;
    color: rgba(28, 27, 27, 0.75);
    font-size: 1rem;
    line-height: 1.76;
}

body.home-page .home-about__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.35rem;
    margin-top: 1.35rem;
    padding: 0.8rem 1.35rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffe178 0%, #ffcb05 100%);
    color: #111111;
    font-size: 0.98rem;
    font-weight: 900;
    text-decoration: none;
    box-shadow: none;
}

body.home-page .home-about__cta:hover,
body.home-page .home-about__cta:focus-visible {
    background: linear-gradient(135deg, #ffdf72 0%, #ffc400 100%);
    color: #111111;
    transform: translateY(-1px);
    outline: none;
}

body.home-page .home-about__media {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    min-width: 0;
    overflow: hidden;
}

body.home-page .home-about__media::before {
    content: "";
    position: absolute;
    inset: 8% 4% 6% 16%;
    background:
        radial-gradient(circle at 62% 16%, rgba(255, 236, 150, 0.34), rgba(255, 236, 150, 0) 38%),
        radial-gradient(circle at 30% 24%, rgba(168, 232, 255, 0.22), rgba(168, 232, 255, 0) 26%),
        radial-gradient(circle at 50% 70%, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0) 44%);
    filter: blur(10px);
    pointer-events: none;
}

body.home-page .home-about__media-visual {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    width: 100%;
    min-height: clamp(24rem, 31vw, 32rem);
    overflow: hidden;
}

body.home-page .home-about__media-photo {
    position: relative;
    z-index: 1;
    display: block;
    width: auto;
    max-width: 100%;
    max-height: clamp(24rem, 31vw, 32rem);
    height: auto;
    object-fit: contain;
    object-position: center bottom;
    transform: none;
    filter: none;
}

body.home-page .blog-section {
    position: relative;
    padding-top: clamp(2.8rem, 4vw, 3.4rem) !important;
    padding-bottom: clamp(3rem, 4.8vw, 4rem) !important;
    background: transparent !important;
}

body.home-page .blog-section > .container {
    position: relative;
    padding: 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.home-page .blog-section .section-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1.4rem;
    margin-bottom: 1.7rem;
    padding-top: 0;
}

body.home-page .blog-section .section-intro::before {
    display: none;
}

body.home-page .blog-section .section-text {
    max-width: 100%;
}

body.home-page .blog-section .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(107, 209, 255, 0.15);
    color: #14637d;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

body.home-page .blog-section .section-kicker::before {
    content: "";
    width: 0.95rem;
    height: 0.95rem;
    flex: 0 0 auto;
    border-radius: 0;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
    box-shadow: none;
}

body.home-page .blog-section .section-text h2 {
    margin: 0.8rem 0 0.7rem;
    font-size: clamp(1.9rem, 3.2vw, 3rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
    font-weight: 900;
    color: #131313;
    white-space: normal;
}

body.home-page .blog-section .section-text p {
    margin: 0;
    max-width: 38rem;
    font-size: 1rem;
    line-height: 1.68;
    color: rgba(28, 27, 27, 0.72);
}

body.home-page .blog-section .section-stats {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.home-page .blog-section .stat-pill {
    min-width: 10.25rem;
    padding: 1rem 1.15rem;
    border-radius: 1.55rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background:
        radial-gradient(circle at top right, rgba(99, 210, 255, 0.22), rgba(99, 210, 255, 0) 46%),
        radial-gradient(circle at bottom left, rgba(255, 215, 0, 0.18), rgba(255, 215, 0, 0) 38%),
        #ffffff;
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.06);
}

body.home-page .blog-section .stat-pill strong {
    display: block;
    color: #131313;
    font-size: clamp(2rem, 3.4vw, 3rem);
    line-height: 0.9;
    letter-spacing: -0.06em;
    font-weight: 900;
}

body.home-page .blog-section .stat-pill span {
    display: block;
    margin-top: 0.5rem;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.home-page .blog-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr));
    gap: clamp(1.15rem, 2.2vw, 1.6rem);
    align-items: stretch;
}

body.home-page .blog-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 0 !important;
    border-radius: 2.05rem !important;
    border: 1px solid rgba(212, 193, 132, 0.14) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08) !important;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transform-origin: center center;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

body.home-page .blog-card:hover,
body.home-page .blog-card:focus-within {
    transform: translateY(-1px);
    border-color: rgba(229, 180, 0, 0.22) !important;
    box-shadow: 0 28px 46px rgba(27, 24, 14, 0.12) !important;
}

body.home-page .blog-card:focus-visible {
    outline: 2px solid rgba(255, 203, 5, 0.5);
    outline-offset: 2px;
}

body.home-page .blog-card.pinned {
    border-color: rgba(229, 180, 0, 0.24) !important;
}

body.home-page .blog-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(255, 251, 232, 0.96), rgba(248, 244, 237, 0.94));
    box-shadow: none !important;
}

body.home-page .blog-thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: none !important;
    transition: transform 0.35s ease;
}

body.home-page .blog-card:hover .blog-thumb img {
    transform: scale(1.02);
}

body.home-page .blog-thumb.is-placeholder {
    color: rgba(20, 20, 20, 0.46);
}

body.home-page .blog-thumb-label {
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.home-page .blog-badge {
    top: 0.9rem;
    left: 0.9rem;
    min-height: 2rem;
    padding: 0.36rem 0.78rem;
    border-radius: 999px;
    background: rgba(255, 251, 232, 0.94);
    border: 1px solid rgba(229, 180, 0, 0.18);
    box-shadow: none;
    color: #8b6500;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
}

body.home-page .blog-info {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1.65rem 1.75rem 1.55rem;
}

body.home-page .blog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

body.home-page .blog-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.34rem 0.76rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: #f6f1e4 !important;
    color: rgba(28, 27, 27, 0.62) !important;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.06em;
}

body.home-page .blog-meta span + span::before {
    content: none;
}

body.home-page .blog-info h3 {
    margin: 0;
    font-family: var(--app-sans-font) !important;
    font-size: clamp(1.35rem, 2vw, 1.72rem);
    line-height: 1.08;
    letter-spacing: -0.045em;
    font-weight: 900;
    color: #141414 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.home-page .blog-excerpt {
    margin: 0;
    min-height: 0;
    color: rgba(28, 27, 27, 0.72);
    font-size: 1rem;
    line-height: 1.68;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body.home-page .blog-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: auto;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #141414 !important;
    box-shadow: none !important;
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.2;
}

body.home-page .blog-link::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #f4f1ef;
    color: #131313;
    font-size: 2rem;
    line-height: 1;
    box-shadow: none !important;
    transition: background 0.2s ease, color 0.2s ease;
}

body.home-page .blog-card:hover .blog-link::after,
body.home-page .blog-card:focus-within .blog-link::after {
    background: #ffd700;
    color: #131313;
}

body.home-page .blog-section .section-kicker,
body.home-page .blog-section .section-text h2,
body.home-page .blog-section .section-text p,
body.home-page .blog-card,
body.home-page .blog-card *,
body.home-page .blog-meta span,
body.home-page .blog-info h3,
body.home-page .blog-excerpt,
body.home-page .blog-link {
    font-family: var(--app-sans-font) !important;
}

body.home-page .blog-empty {
    padding: 1rem 1.15rem;
    border-radius: 1.35rem;
    background: rgba(255, 251, 232, 0.92);
    color: rgba(28, 27, 27, 0.66);
    font-weight: 800;
}

@media (max-width: 1024px) {
    body.home-page .blog-section .section-intro {
        grid-template-columns: 1fr;
        align-items: start;
    }

    body.home-page .blog-section .section-stats {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    body.home-page .blog-section {
        padding-top: 2.2rem !important;
    }

    body.home-page .blog-section .section-text h2 {
        font-size: clamp(1.75rem, 8vw, 2.45rem);
    }

    body.home-page .blog-card {
        border-radius: 1.7rem !important;
    }

    body.home-page .blog-info {
        padding: 1.3rem 1.2rem 1.15rem;
    }

    body.home-page .blog-info h3 {
        font-size: 1.18rem;
    }

    body.home-page .blog-excerpt {
        font-size: 0.95rem;
    }

    body.home-page .blog-link {
        font-size: 1rem;
    }

    body.home-page .blog-link::after {
        width: 2.7rem;
        height: 2.7rem;
    }
}

body.home-page .class-section,
body.home-page .home-courses,
body.home-page .home-exams {
    position: relative;
    padding-top: clamp(2.8rem, 4vw, 3.4rem);
    padding-bottom: clamp(3rem, 4.8vw, 4rem);
    background:
        radial-gradient(circle at 10% 12%, rgba(107, 209, 255, 0.12), rgba(107, 209, 255, 0) 24%),
        radial-gradient(circle at 92% 16%, rgba(255, 215, 0, 0.16), rgba(255, 215, 0, 0) 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(247, 243, 236, 0.96));
}

body.home-page .home-main--guest .home-exams--guest-showcase {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.home-page .home-main .home-about,
body.home-page .home-main--guest .home-about {
    order: 0;
}

body.home-page .class-section > .container,
body.home-page .home-courses > .container,
body.home-page .home-exams > .container,
body.home-page .home-games > .container {
    position: relative;
    padding: 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.home-page .class-section .section-intro,
body.home-page .home-courses .section-intro,
body.home-page .home-exams .section-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1.4rem;
    margin-bottom: 1.7rem;
    padding-top: 0;
}

body.home-page .class-section .section-intro::before,
body.home-page .home-courses .section-intro::before,
body.home-page .home-exams .section-intro::before {
    display: none;
}

body.home-page .class-section .section-text,
body.home-page .home-courses .section-text,
body.home-page .home-exams .section-text {
    max-width: 100%;
}

body.home-page .class-section .section-kicker,
body.home-page .home-courses .section-kicker,
body.home-page .home-exams .section-kicker,
body.home-page .home-exams-guest-copy .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(107, 209, 255, 0.15);
    color: #14637d;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

body.home-page .class-section .section-kicker::before,
body.home-page .home-courses .section-kicker::before,
body.home-page .home-exams .section-kicker::before,
body.home-page .home-exams-guest-copy .section-kicker::before {
    content: "";
    width: 0.95rem;
    height: 0.95rem;
    flex: 0 0 auto;
    border-radius: 0;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
    box-shadow: none;
}

body.home-page .class-section .section-text h2,
body.home-page .home-courses .section-text h2,
body.home-page .home-exams .section-text h2,
body.home-page .home-exams-guest-copy h2 {
    margin: 0.8rem 0 0.7rem;
    font-size: clamp(1.9rem, 3.2vw, 3rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
    font-weight: 900;
    color: #131313;
    white-space: normal;
}

body.home-page .class-section .section-text p,
body.home-page .home-courses .section-text p,
body.home-page .home-exams .section-text p,
body.home-page .home-exams-guest-copy p {
    margin: 0;
    max-width: 38rem;
    font-size: 1rem;
    line-height: 1.68;
    color: rgba(28, 27, 27, 0.72);
}

body.home-page .class-section .section-stats,
body.home-page .home-courses .section-stats,
body.home-page .home-exams .section-stats {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.home-page .class-section .stat-pill,
body.home-page .home-courses .stat-pill,
body.home-page .home-exams .stat-pill {
    min-width: 10.25rem;
    padding: 1rem 1.15rem;
    border-radius: 1.55rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background:
        radial-gradient(circle at top right, rgba(99, 210, 255, 0.22), rgba(99, 210, 255, 0) 46%),
        radial-gradient(circle at bottom left, rgba(255, 215, 0, 0.18), rgba(255, 215, 0, 0) 38%),
        #ffffff;
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.06);
}

body.home-page .class-section .stat-pill strong,
body.home-page .home-courses .stat-pill strong,
body.home-page .home-exams .stat-pill strong {
    display: block;
    font-size: clamp(1.7rem, 2.8vw, 2.3rem);
    line-height: 1;
    color: #131313;
}

body.home-page .class-section .stat-pill span,
body.home-page .home-courses .stat-pill span,
body.home-page .home-exams .stat-pill span {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(28, 27, 27, 0.5);
}

body.home-page .home-courses .course-layout,
body.home-page .home-exams .home-exams-categories,
body.home-page .home-exams .home-exams-toolbar {
    position: relative;
    z-index: 1;
}

body.home-page .home-courses .course-category-tabs {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.home-page .home-exams .home-exams-categories {
    padding: 0.35rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    border-radius: 999px;
    background: rgba(247, 244, 237, 0.92);
    box-shadow: none;
}

body.home-page .home-courses .category-tab,
body.home-page .home-exams .exam-category-pill {
    min-height: 3rem;
    padding: 0.6rem 0.95rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    border-radius: 999px;
    background: rgba(247, 244, 237, 0.92);
    color: rgba(28, 27, 27, 0.7);
    font-size: 0.84rem;
    font-weight: 800;
    transition: border-color var(--bee-fast), background-color var(--bee-fast), color var(--bee-fast), box-shadow var(--bee-fast);
}

body.home-page .home-courses .category-tab .category-count,
body.home-page .home-exams .exam-category-pill span {
    background: rgba(255, 215, 0, 0.15);
    color: #7b6100;
    font-size: 0.76rem;
    font-weight: 900;
}

body.home-page .home-courses .category-tab:hover,
body.home-page .home-courses .category-tab:focus-visible,
body.home-page .home-exams .exam-category-pill:hover,
body.home-page .home-exams .exam-category-pill:focus-visible {
    color: #131313;
    border-color: rgba(243, 199, 37, 0.28);
    background: rgba(255, 255, 255, 0.98);
    transform: none;
}

body.home-page .home-courses .category-tab.is-active,
body.home-page .home-exams .exam-category-pill.is-active {
    color: #131313;
    border-color: rgba(243, 199, 37, 0.28);
    background: linear-gradient(135deg, #ffe178 0%, #ffcb05 100%);
    box-shadow: 0 14px 24px rgba(243, 199, 37, 0.2);
}

body.home-page .home-courses .category-tab.is-active .category-count,
body.home-page .home-exams .exam-category-pill.is-active span {
    background: rgba(255, 255, 255, 0.7);
    color: #6d5400;
}

body.home-page .class-section .class-showcase-card,
body.home-page .home-courses .course-card,
body.home-page .home-exams .exam-home-card {
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 248, 239, 0.92)) !important;
    box-shadow: 0 16px 26px rgba(19, 19, 19, 0.05) !important;
}

body.home-page .class-section .class-showcase-card:hover,
body.home-page .class-section .class-showcase-card:focus-within,
body.home-page .home-courses .course-card:hover,
body.home-page .home-courses .course-card:focus-within,
body.home-page .home-exams .exam-home-card:hover,
body.home-page .home-exams .exam-home-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 22px 34px rgba(19, 19, 19, 0.08) !important;
}

body.home-page .home-courses .course-card,
body.home-page .home-exams .exam-home-card {
    border-radius: 1.35rem !important;
    overflow: hidden;
}

body.home-page .home-courses .course-thumb,
body.home-page .home-exams .exam-home-card__thumb img {
    border-radius: 1.35rem 1.35rem 0 0 !important;
}

body.home-page .home-courses .course-stack,
body.home-page .home-exams .home-exams-grid {
    gap: 1rem;
}

body.home-page .home-games .home-exams-guest-copy,
body.home-page .home-courses .section-stats .stat-pill:nth-of-type(-n + 2),
body.home-page .home-courses .home-exams-guest-cta {
    display: none !important;
}

@media (max-width: 900px) {
    body.home-page .home-hero--slider-only + .home-search {
        margin-top: 0.85rem;
        margin-bottom: 0;
    }

    body.home-page .home-search {
        padding: 2.25rem 0 2.7rem;
    }

    body.home-page .home-search .section-search {
        width: calc(100% - 1rem);
    }

    body.home-page .home-search .global-search {
        min-height: 4.35rem;
        padding: 0.62rem 0.72rem 0.62rem 0.88rem !important;
    }

    body.home-page .home-search .global-search input {
        font-size: 1rem;
    }

    body.home-page .home-about__shell {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding-bottom: 1rem;
    }

    body.home-page .home-about__content {
        padding-bottom: 0;
    }

    body.home-page .home-about__media {
        justify-content: center;
    }

    body.home-page .home-about__media::before {
        inset: 10% 10% 4%;
    }

    body.home-page .home-about__media-visual {
        min-height: clamp(20rem, 60vw, 27rem);
        justify-content: center;
    }

    body.home-page .home-about__media-photo {
        width: auto;
        max-width: 100%;
        max-height: clamp(20rem, 60vw, 27rem);
        transform: none;
    }

    body.home-page .class-section > .container,
    body.home-page .home-courses > .container,
    body.home-page .home-exams > .container,
    body.home-page .home-games > .container {
        padding: 0;
        border-radius: 0;
    }

    body.home-page .class-section .section-intro,
    body.home-page .home-courses .section-intro,
    body.home-page .home-exams .section-intro {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 0.9rem;
        margin-bottom: 1.25rem;
    }

    body.home-page .class-section .section-stats,
    body.home-page .home-courses .section-stats,
    body.home-page .home-exams .section-stats {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    body.home-page .home-hero--slider-only + .home-search {
        margin-top: 0.7rem;
        margin-bottom: 0;
    }

    body.home-page .home-search {
        padding: 1.95rem 0 2.46rem;
    }

    body.home-page .home-search .section-search {
        width: calc(100% - 0.85rem);
    }

    body.home-page .home-search .global-search {
        min-height: 4rem;
        padding: 0.5rem 0.58rem 0.5rem 0.72rem !important;
    }

    body.home-page .home-search .global-search-icon,
    body.home-page .home-search .global-search-clear {
        width: 2.45rem;
        height: 2.45rem;
    }

    body.home-page .home-search .global-search input {
        font-size: 0.95rem;
    }

    body.home-page .home-about__shell {
        padding: 1rem;
        border-radius: 1.5rem;
    }

    body.home-page .home-about__content h2 {
        font-size: clamp(1.75rem, 8vw, 2.35rem);
    }

    body.home-page .home-about__content p {
        font-size: 0.94rem;
    }

    body.home-page .home-about__media {
        margin-top: 0.25rem;
    }

    body.home-page .home-about__media::before {
        inset: 12% 8% 2%;
    }

    body.home-page .home-about__media-visual {
        min-height: clamp(17rem, 76vw, 22rem);
    }

    body.home-page .home-about__media-photo {
        width: auto;
        max-width: 100%;
        max-height: clamp(17rem, 76vw, 22rem);
        transform: none;
    }

    body.home-page .class-section > .container,
    body.home-page .home-courses > .container,
    body.home-page .home-exams > .container,
    body.home-page .home-games > .container {
        padding: 0;
        border-radius: 0;
    }

    body.home-page .class-section .stat-pill,
    body.home-page .home-courses .stat-pill,
    body.home-page .home-exams .stat-pill {
        min-width: 9rem;
    }
}

body.home-page .home-main > .class-section,
body.home-page .home-main > .home-courses,
body.home-page .home-main > .home-exams,
body.home-page .home-main > .home-games,
body.home-page .home-main--guest > .class-section,
body.home-page .home-main--guest > .home-courses,
body.home-page .home-main--guest > .home-exams,
body.home-page .home-main--guest > .home-games {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.home-page .home-main > .home-section + .home-section,
body.home-page .home-main--guest > .home-section + .home-section {
    padding-top: 0 !important;
}

body.home-page .home-main--guest > .home-exams--guest-showcase {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.home-page .home-main--guest > .home-games {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.home-page .home-main--guest > .home-games > .container > .section-heading {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home-page .home-main > .class-section > .container > .section-heading,
body.home-page .home-main > .home-courses > .container > .section-heading,
body.home-page .home-main > .home-exams > .container > .section-heading,
body.home-page .home-main > .home-games > .container > .section-heading,
body.home-page .home-main--guest > .class-section > .container > .section-heading,
body.home-page .home-main--guest > .home-courses > .container > .section-heading,
body.home-page .home-main--guest > .home-exams > .container > .section-heading,
body.home-page .home-main--guest > .home-games > .container > .section-heading {
    margin-top: 0;
}

@media (max-width: 900px) {
    body.home-page .home-main > .class-section,
    body.home-page .home-main > .home-courses,
    body.home-page .home-main > .home-exams,
    body.home-page .home-main > .home-games,
    body.home-page .home-main--guest > .class-section,
    body.home-page .home-main--guest > .home-courses,
    body.home-page .home-main--guest > .home-exams,
    body.home-page .home-main--guest > .home-games {
        padding-bottom: 0 !important;
    }

    body.home-page .home-main > .home-section + .home-section,
    body.home-page .home-main--guest > .home-section + .home-section {
        padding-top: 0 !important;
    }

    body.home-page .home-main--guest > .home-exams--guest-showcase {
        padding-bottom: 0 !important;
    }

    body.home-page .home-main--guest > .home-games {
        padding-top: 0 !important;
    }
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 100%;
    padding: 0;
    border-radius: 2.05rem;
    border: 1px solid rgba(176, 148, 67, 0.14);
    background: #ffffff;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08);
    overflow: hidden;
    cursor: default;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted::before {
    content: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted:hover,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted:focus-within {
    transform: translateY(-5px);
    box-shadow: 0 28px 48px rgba(27, 24, 14, 0.12);
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__lead {
    position: relative;
    display: block;
    margin: 0;
    z-index: 1;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0;
    border-radius: 0;
    border: 0;
    background: #e9edf1;
    box-shadow: none;
    transform: none;
    overflow: hidden;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media::after {
    background: linear-gradient(180deg, rgba(19, 19, 19, 0), rgba(19, 19, 19, 0.16));
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.34rem 0.88rem;
    border-radius: 999px;
    background: #ffd700;
    color: #141414;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(255, 215, 0, 0.22);
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.85rem;
    margin-top: 0;
    padding: 1.65rem 1.75rem 1.55rem;
    border-radius: 0;
    border: 0;
    background: #ffffff;
    box-shadow: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__eyebrow-row {
    display: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__eyebrow {
    display: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
    max-width: none;
    min-height: 0;
    margin: 0;
    color: #141414;
    font-size: clamp(1.3rem, 1.7vw, 1.8rem);
    line-height: 1.18;
    letter-spacing: -0.045em;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__summary {
    margin: 0;
    color: rgba(28, 27, 27, 0.7);
    font-size: 1rem;
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions.is-attendance-completed {
    display: block;
    max-width: none;
    padding-top: 0.35rem;
    border-top: 0;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__action-main::before {
    content: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card {
    justify-content: space-between;
    width: 100%;
    min-height: 0;
    padding: 0.45rem 0.45rem 0.45rem 1rem;
    border-radius: 999px;
    background: transparent;
    color: #141414;
    box-shadow: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-label {
    font-size: 1.28rem;
    font-weight: 900;
    letter-spacing: -0.04em;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: #f4f1ef;
    color: #131313;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    box-shadow: none;
    transition: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card:hover,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card:focus-visible {
    transform: translateY(-1px);
    background: #ffd700;
    color: #141414;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card:hover .class-showcase-card__button-icon,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card:focus-visible .class-showcase-card__button-icon {
    transform: none;
    background: #ffd700;
    box-shadow: none;
}

@media (max-width: 1180px) {
    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
        font-size: clamp(1.22rem, 1.92vw, 1.58rem);
    }
}

@media (max-width: 760px) {
    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted {
        border-radius: 1.7rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__lead {
        margin: 0;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media {
        aspect-ratio: 16 / 9;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__badge {
        top: 0.85rem;
        left: 0.85rem;
        min-height: 1.85rem;
        padding: 0.32rem 0.76rem;
        font-size: 0.7rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__content {
        padding: 1.25rem 1.15rem 1.2rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
        max-width: none;
        font-size: 1.22rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__summary {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-label {
        font-size: 1.08rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-icon {
        width: 2.7rem;
        height: 2.7rem;
        font-size: 1.7rem;
    }
}

body.home-page .home-main--guest .home-courses .course-card,
body.home-page .home-main--guest .home-exams .exam-home-card {
    position: relative;
    padding: 1rem;
    border-radius: 2rem !important;
    overflow: hidden;
}

body.home-page .home-main--guest .home-courses .course-card::before,
body.home-page .home-main--guest .home-exams .exam-home-card::before {
    content: "";
    position: absolute;
    inset: 0.8rem;
    border-radius: 1.6rem;
    border: 1px solid rgba(176, 148, 67, 0.14);
    pointer-events: none;
}

body.home-page .home-main--guest .home-courses .course-card::after,
body.home-page .home-main--guest .home-exams .exam-home-card::after {
    content: "";
    position: absolute;
    top: 1rem;
    right: 0.3rem;
    width: 4.35rem;
    height: 4.35rem;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
    filter: drop-shadow(0 10px 18px rgba(19, 19, 19, 0.14));
    pointer-events: none;
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb {
    position: relative;
    z-index: 1;
    width: calc(100% - 1.55rem);
    aspect-ratio: 16 / 9;
    margin: 0 auto 0 0;
    border-radius: 1.8rem;
    border: 0.4rem solid rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 24px rgba(24, 24, 24, 0.1);
    overflow: hidden;
    transform: rotate(-0.8deg);
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper {
    margin-bottom: -1rem;
    border-bottom: 0;
}

body.home-page .home-main--guest .home-exams .exam-home-card__thumb {
    margin-bottom: -0.95rem;
    border-bottom: 0;
}

body.home-page .home-main--guest .home-courses .course-thumb,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 0 !important;
}

body.home-page .home-main--guest .home-courses .course-body,
body.home-page .home-main--guest .home-exams .exam-home-card__body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    flex: 1;
    padding: 1.55rem 0.9rem 0.95rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 22px rgba(19, 19, 19, 0.05);
}

body.home-page .home-main--guest .home-courses .course-meta {
    order: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

body.home-page .home-main--guest .home-courses .course-meta span {
    color: rgba(28, 27, 27, 0.68);
    font-size: 0.8rem;
    font-weight: 800;
}

body.home-page .home-main--guest .home-courses .course-meta span:last-child {
    order: -1;
    min-height: 2rem;
    padding: 0.36rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: #f6f1e4;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: normal;
}

body.home-page .home-main--guest .home-courses .course-title {
    order: 1;
    max-width: 12ch;
    min-height: 0;
    margin: 0;
    color: #141414;
    font-size: clamp(1.16rem, 1.45vw, 1.46rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    display: block;
}

body.home-page .home-main--guest .home-courses .course-level {
    order: 2;
    margin: 0;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-main--guest .home-courses .course-action {
    order: 3;
    margin-top: auto;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.9rem 1rem;
    border-radius: 999px !important;
}

body.home-page .home-main--guest .home-courses .course-action .course-action-icon {
    display: none;
}

body.home-page .home-main--guest .home-exams .exam-home-card__tags {
    gap: 0.4rem;
}

body.home-page .home-main--guest .home-exams .exam-home-tag {
    min-height: 2rem;
    padding: 0.34rem 0.76rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: #f6f1e4;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-main--guest .home-exams .exam-home-tag.is-free {
    background: rgba(255, 240, 168, 0.56);
    color: #8b6a0d;
}

body.home-page .home-main--guest .home-exams .exam-home-tag.is-vip {
    background: rgba(222, 232, 255, 0.78);
    color: #3355a3;
}

body.home-page .home-main--guest .home-exams .exam-home-card h3 {
    max-width: 12ch;
    margin: 0;
    color: #141414;
    font-family: inherit;
    font-size: clamp(1.14rem, 1.45vw, 1.44rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

body.home-page .home-main--guest .home-exams .exam-home-card p {
    min-height: 0;
    margin: 0;
    color: rgba(28, 27, 27, 0.68);
    font-size: 0.84rem;
    line-height: 1.5;
    -webkit-line-clamp: 2;
}

body.home-page .home-main--guest .home-exams .exam-home-card__info {
    margin-top: 0;
    padding-top: 0.8rem;
    border-top: 1px dashed rgba(176, 148, 67, 0.35);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.48rem 0.65rem;
}

body.home-page .home-main--guest .home-exams .exam-home-card__info span {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    font-size: 0.78rem;
    font-weight: 800;
    color: rgba(28, 27, 27, 0.72);
}

body.home-page .home-main--guest .home-exams .exam-home-card__info strong {
    color: #8b6a0d;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-main--guest .home-exams .exam-home-card__footer {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0.65rem;
    padding: 0 0.9rem 0.95rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    border-top: 0;
    border-radius: 0 0 1.6rem 1.6rem;
    background: rgba(255, 255, 255, 0.92);
}

body.home-page .home-main--guest .home-exams .exam-home-duration {
    align-self: flex-start;
    min-height: 2rem;
    padding: 0.34rem 0.76rem;
    border-radius: 999px;
    background: #f6f1e4;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-main--guest .home-exams .exam-home-action {
    width: 100%;
    min-height: 3.25rem;
    padding: 0.9rem 1rem;
    border-radius: 999px;
    font-size: 0.94rem;
    font-weight: 900;
}

@media (max-width: 1180px) {
    body.home-page .home-main--guest .home-courses .course-title,
    body.home-page .home-main--guest .home-exams .exam-home-card h3 {
        max-width: 14ch;
    }
}

@media (max-width: 760px) {
    body.home-page .home-main--guest .home-courses .course-card,
    body.home-page .home-main--guest .home-exams .exam-home-card {
        padding: 0.9rem;
        border-radius: 1.85rem !important;
    }

    body.home-page .home-main--guest .home-courses .course-card::before,
    body.home-page .home-main--guest .home-exams .exam-home-card::before {
        inset: 0.65rem;
        border-radius: 1.4rem;
    }

    body.home-page .home-main--guest .home-courses .course-card::after,
    body.home-page .home-main--guest .home-exams .exam-home-card::after {
        width: 3.85rem;
        height: 3.85rem;
        top: 0.8rem;
        right: 0.2rem;
    }

    body.home-page .home-main--guest .home-courses .course-thumb-wrapper,
    body.home-page .home-main--guest .home-exams .exam-home-card__thumb {
        width: calc(100% - 1.2rem);
        transform: rotate(-0.45deg);
    }

    body.home-page .home-main--guest .home-courses .course-body,
    body.home-page .home-main--guest .home-exams .exam-home-card__body {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card__footer {
        padding: 0 0.85rem 0.85rem;
    }

    body.home-page .home-main--guest .home-courses .course-title,
    body.home-page .home-main--guest .home-exams .exam-home-card h3 {
        max-width: none;
    }
}

/* Guest home courses: rebuilt clean stack */
body.home-page .home-main--guest .home-courses .course-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    border-radius: 2.05rem !important;
    border: 1px solid rgba(212, 193, 132, 0.14) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08) !important;
    isolation: isolate;
}

body.home-page .home-main--guest .home-courses .course-card:hover,
body.home-page .home-main--guest .home-courses .course-card:focus-within {
    transform: translateY(-5px);
    box-shadow: 0 28px 48px rgba(27, 24, 14, 0.12) !important;
}

body.home-page .home-main--guest .home-courses .course-card::before {
    content: none;
}

body.home-page .home-main--guest .home-courses .course-card::after {
    content: none;
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper {
    position: relative;
    z-index: 1;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0;
    border: 0 !important;
    box-shadow: none;
    transform: none !important;
    overflow: hidden;
    background: transparent;
}

body.home-page .home-main--guest .home-courses .course-thumb {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    object-position: center;
    display: block;
}

body.home-page .home-main--guest .home-courses .course-body {
    position: relative;
    z-index: 1;
    gap: 0.85rem;
    padding: 1.65rem 1.75rem 1.55rem;
    border-radius: 0;
    border: 0;
    background: #ffffff;
    box-shadow: none;
}

body.home-page .home-main--guest .home-courses .course-title {
    max-width: none;
    min-height: 0;
    margin: 0;
    font-size: clamp(1.3rem, 1.7vw, 1.8rem);
    line-height: 1.18;
    letter-spacing: -0.045em;
    color: #141414;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.home-page .home-main--guest .home-courses .course-summary {
    margin: 0;
    color: rgba(28, 27, 27, 0.7);
    font-size: 1rem;
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home-page .home-main--guest .home-courses .course-level,
body.home-page .home-main--guest .home-courses .course-meta {
    display: none;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card {
    justify-content: space-between;
    width: 100%;
    min-height: 0;
    margin-top: 0.35rem;
    padding: 0.45rem 0.45rem 0.45rem 1rem;
    border: 0;
    border-radius: 999px !important;
    background: transparent !important;
    color: #141414 !important;
    box-shadow: none !important;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main--guest .home-courses .course-action-label {
    font-size: 1.28rem;
    font-weight: 900;
    letter-spacing: -0.04em;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card .course-action-icon {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #f4f1ef;
    background-image: none;
    color: #131313;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    box-shadow: none;
    transition: background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:hover,
body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:focus-visible {
    transform: translateY(-1px);
    background: #ffd700 !important;
    color: #141414 !important;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:hover .course-action-icon,
body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:focus-visible .course-action-icon {
    transform: none;
    background: #ffd700;
    box-shadow: none;
}

@media (max-width: 760px) {
    body.home-page .home-main--guest .home-courses .course-card {
        padding: 0;
        border-radius: 1.7rem !important;
    }

    body.home-page .home-main--guest .home-courses .course-thumb-wrapper {
        width: 100% !important;
        transform: none !important;
    }

    body.home-page .home-main--guest .home-courses .course-body {
        padding: 1.25rem 1.15rem 1.2rem;
    }

    body.home-page .home-main--guest .home-courses .course-title {
        font-size: 1.22rem;
    }

    body.home-page .home-main--guest .home-courses .course-summary {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    body.home-page .home-main--guest .home-courses .course-action-label {
        font-size: 1.08rem;
    }

    body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card .course-action-icon {
        width: 2.7rem;
        height: 2.7rem;
        font-size: 1.7rem;
    }
}

/* Logged-in home courses: match guest legacy card presentation */
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    border-radius: 1.45rem !important;
    border: 1px solid rgba(212, 193, 132, 0.12) !important;
    background: #ffffff !important;
    box-shadow: 0 16px 30px rgba(27, 24, 14, 0.08) !important;
    isolation: isolate;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:focus-within {
    transform: translateY(-3px);
    box-shadow: 0 22px 36px rgba(27, 24, 14, 0.1) !important;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-card::before {
    content: none;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-card::after {
    content: none;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb-wrapper {
    position: relative;
    z-index: 1;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 1.45rem 1.45rem 0 0;
    border: 0 !important;
    box-shadow: none;
    transform: none !important;
    overflow: hidden;
    background: transparent;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    object-position: center;
    display: block;
    border-radius: 1.45rem 1.45rem 0 0 !important;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-height: 9.75rem;
    padding: 1.05rem 1.05rem 1.3rem !important;
    border: 0;
    border-radius: 0;
    background: #ffffff !important;
    box-shadow: none;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-title {
    order: 1;
    max-width: none;
    min-height: 0;
    margin: 0;
    color: #141414;
    font-size: clamp(1rem, 1.15vw, 1.26rem);
    line-height: 1.25;
    letter-spacing: -0.03em;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-summary {
    margin: 0;
    color: rgba(28, 27, 27, 0.7);
    font-size: 0.82rem;
    line-height: 1.5;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-level,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-meta {
    display: none !important;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card {
    justify-content: space-between;
    width: 100%;
    min-height: 0;
    margin-top: auto;
    padding: 0.15rem 0 0;
    border: 0;
    border-radius: 0 !important;
    background: transparent !important;
    color: #141414 !important;
    box-shadow: none !important;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:focus-visible {
    transform: translateY(-1px);
    background: transparent !important;
    color: #141414 !important;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action-label {
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card .course-action-icon {
    width: 1.85rem;
    height: 1.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #f4f1ef;
    background-image: none;
    color: #131313;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: none;
    transition: background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:hover .course-action-icon,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:focus-visible .course-action-icon {
    transform: none;
    background: rgba(244, 241, 239, 0.92);
    box-shadow: none;
}

@media (max-width: 760px) {
    body.home-page .home-main:not(.home-main--guest) .home-courses .course-card {
        border-radius: 1.3rem !important;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-body {
        min-height: 8.9rem;
        padding: 0.95rem 0.95rem 1.15rem !important;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-title {
        font-size: 0.96rem;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-summary {
        font-size: 0.76rem;
        line-height: 1.45;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-action-label {
        font-size: 0.84rem;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card .course-action-icon {
        width: 1.7rem;
        height: 1.7rem;
        font-size: 1rem;
    }
}

/* Guest home exams: align with rebuilt class/course cards */
body.home-page .home-main--guest .home-exams .exam-home-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 !important;
    border-radius: 2.05rem !important;
    border: 1px solid rgba(212, 193, 132, 0.14) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08) !important;
    overflow: hidden;
}

body.home-page .home-main--guest .home-exams .exam-home-card:hover,
body.home-page .home-main--guest .home-exams .exam-home-card:focus-within {
    transform: translateY(-5px);
    box-shadow: 0 28px 48px rgba(27, 24, 14, 0.12) !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card::before,
body.home-page .home-main--guest .home-exams .exam-home-card::after {
    content: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card__thumb {
    position: relative;
    z-index: 1;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: hidden;
    background: transparent;
}

body.home-page .home-main--guest .home-exams .exam-home-card__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center;
    display: block;
}

body.home-page .home-main--guest .home-exams .exam-home-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1.65rem 1.75rem 0.25rem;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card__tags,
body.home-page .home-main--guest .home-exams .exam-home-card__info {
    display: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card h3 {
    max-width: none !important;
    min-height: 0;
    margin: 0;
    color: #141414;
    font-size: clamp(1.3rem, 1.7vw, 1.8rem);
    line-height: 1.18;
    letter-spacing: -0.045em;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.home-page .home-main--guest .home-exams .exam-home-card p[data-exam-meta] {
    min-height: 0;
    margin: 0;
    color: rgba(28, 27, 27, 0.7);
    font-size: 1rem;
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home-page .home-main--guest .home-exams .exam-home-card__footer {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row !important;
    align-items: center;
    align-self: stretch;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 0.9rem;
    padding: 0 1.75rem 1.55rem;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

body.home-page .home-main--guest .home-exams .exam-home-duration {
    align-self: auto;
    order: -1;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

body.home-page .home-main--guest .home-exams .exam-home-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    order: 1;
    gap: 0.9rem;
    width: auto;
    min-height: 0;
    padding: 0.45rem 0.45rem 0.45rem 1rem;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #141414 !important;
    box-shadow: none !important;
    font-size: 1.28rem;
    font-weight: 900;
    letter-spacing: -0.04em;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main--guest .home-exams .exam-home-action::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: #f4f1ef;
    color: #131313;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    box-shadow: none;
    transition: background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main--guest .home-exams .exam-home-action:hover,
body.home-page .home-main--guest .home-exams .exam-home-action:focus-visible {
    transform: translateY(-1px);
    background: #ffd700 !important;
    color: #141414 !important;
}

body.home-page .home-main--guest .home-exams .exam-home-action:hover::after,
body.home-page .home-main--guest .home-exams .exam-home-action:focus-visible::after {
    transform: none;
    background: #ffd700;
    box-shadow: none;
}

body.home-page .home-main--guest .home-exams .exam-home-action.is-locked {
    opacity: 0.7;
}

@media (max-width: 760px) {
    body.home-page .home-main--guest .home-exams .exam-home-card {
        border-radius: 1.7rem !important;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card__body {
        padding: 1.25rem 1.15rem 0.2rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card h3 {
        font-size: 1.22rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card p[data-exam-meta] {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card__footer {
        padding: 0 1.15rem 1.2rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-duration {
        font-size: 0.86rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-action {
        font-size: 1.08rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-action::after {
        width: 2.7rem;
        height: 2.7rem;
        font-size: 1.7rem;
    }
}

/* Footer: Hoang Anh contact */
body .site-footer.site-footer--hoang-anh {
    margin-top: clamp(1.25rem, 3vw, 2rem) !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #ffd84d 0%, #ffcb05 100%) !important;
    color: #111111 !important;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
}

body .site-footer.site-footer--hoang-anh::before,
body .site-footer.site-footer--hoang-anh::after {
    content: none !important;
}

body .site-footer.site-footer--hoang-anh .container {
    position: relative;
}

body .site-footer.site-footer--hoang-anh .site-footer__shell {
    padding: clamp(2rem, 4vw, 2.8rem) 0 1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel {
    min-width: 0;
    padding: 1.4rem 1.45rem;
    border-radius: 1.8rem;
    background: rgba(255, 245, 196, 0.44);
    border: 1px solid rgba(17, 17, 17, 0.08);
    box-shadow: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel--brand {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__brand-top {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 1.05rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__logo {
    width: auto;
    height: 3.4rem;
    display: block;
}

body .site-footer.site-footer--hoang-anh .site-footer__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.38rem 0.8rem;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.08);
    color: #111111;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body .site-footer.site-footer--hoang-anh .site-footer__title {
    margin: 0;
    color: #111111;
    font-size: clamp(1.45rem, 2.1vw, 2rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 900;
}

body .site-footer.site-footer--hoang-anh .site-footer__lead {
    margin: 0.95rem 0 0;
    max-width: 34rem;
    color: rgba(17, 17, 17, 0.72);
    font-size: 1rem;
    line-height: 1.65;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel-title {
    margin: 0 0 1rem;
    color: #111111;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .site-footer.site-footer--hoang-anh .site-footer__list {
    list-style: none;
    display: grid;
    gap: 0.95rem;
    margin: 0;
    padding: 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__item {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 2.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
    color: #111111;
}

body .site-footer.site-footer--hoang-anh .site-footer__icon svg {
    width: 1.18rem;
    height: 1.18rem;
    display: block;
}

body .site-footer.site-footer--hoang-anh .site-footer__item-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__item-copy strong {
    color: #111111;
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .site-footer.site-footer--hoang-anh .site-footer__item-copy span {
    color: rgba(17, 17, 17, 0.8);
    font-size: 0.98rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

body .site-footer.site-footer--hoang-anh .site-footer__link {
    color: #111111;
    text-decoration: none;
    border-bottom: 1px solid rgba(17, 17, 17, 0.22);
}

body .site-footer.site-footer--hoang-anh .site-footer__link:hover,
body .site-footer.site-footer--hoang-anh .site-footer__link:focus-visible {
    color: #111111;
    border-bottom-color: rgba(17, 17, 17, 0.68);
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__sep {
    display: inline-block;
    margin: 0 0.35rem;
    color: rgba(17, 17, 17, 0.45);
}

body .site-footer.site-footer--hoang-anh .site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem 1rem;
    margin-top: 1rem;
    padding: 1rem 0 0;
    border-top: 1px solid rgba(17, 17, 17, 0.14);
}

body .site-footer.site-footer--hoang-anh .site-footer__copyright {
    margin: 0;
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.95rem;
    line-height: 1.5;
}

body .site-footer.site-footer--hoang-anh .site-footer__brand-actions {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-top: 1.35rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.2rem;
    padding: 0.8rem 1.35rem;
    border: 0;
    border-radius: 999px;
    background: #111111;
    color: #ffd84d;
    font: inherit;
    font-weight: 900;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    box-shadow: 0 18px 36px rgba(17, 17, 17, 0.16);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-trigger:hover,
body .site-footer.site-footer--hoang-anh .site-footer__consultation-trigger:focus-visible {
    transform: translateY(-1px);
    background: rgba(17, 17, 17, 0.92);
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation {
    position: fixed;
    inset: 0;
    z-index: 240;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 2vw, 1.6rem);
    margin-top: 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation[hidden] {
    display: none !important;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success {
    position: fixed;
    inset: 0;
    z-index: 245;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 2vw, 1.6rem);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success[hidden] {
    display: none !important;
}

body.site-footer-consultation-open {
    overflow: hidden;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 17, 0.48);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-panel {
    position: relative;
    z-index: 1;
    width: min(1120px, calc(100vw - 2rem));
    max-height: min(86vh, 820px);
    overflow: auto;
    overscroll-behavior: contain;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 1.3rem;
    padding: 1.4rem;
    border-radius: 1.9rem;
    background:
        radial-gradient(circle at top right, rgba(255, 230, 126, 0.34), transparent 30%),
        linear-gradient(180deg, rgba(255, 252, 239, 0.95), rgba(250, 238, 191, 0.9));
    border: 1px solid rgba(17, 17, 17, 0.12);
    box-shadow: 0 32px 70px rgba(17, 17, 17, 0.24);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.9rem;
    height: 2.9rem;
    border: 0;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.08);
    color: #111111;
    font: inherit;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-close:hover,
body .site-footer.site-footer--hoang-anh .site-footer__consultation-close:focus-visible {
    background: rgba(17, 17, 17, 0.14);
    transform: translateY(-1px);
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-dialog {
    position: relative;
    z-index: 1;
    width: min(520px, calc(100vw - 2rem));
    display: grid;
    gap: 0.95rem;
    justify-items: center;
    padding: 2rem 1.6rem 1.75rem;
    border-radius: 1.9rem;
    text-align: center;
    background:
        radial-gradient(circle at top center, rgba(255, 230, 126, 0.36), transparent 34%),
        linear-gradient(180deg, rgba(255, 252, 239, 0.98), rgba(250, 238, 191, 0.96));
    border: 1px solid rgba(17, 17, 17, 0.12);
    box-shadow: 0 32px 70px rgba(17, 17, 17, 0.26);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.2rem;
    height: 4.2rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #111111, rgba(17, 17, 17, 0.9));
    color: #ffd84d;
    font-size: 2rem;
    font-weight: 900;
    box-shadow: 0 18px 34px rgba(17, 17, 17, 0.16);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-kicker {
    margin: 0;
    color: rgba(17, 17, 17, 0.56);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-title {
    margin: 0;
    color: #111111;
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -0.04em;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-message {
    margin: 0;
    max-width: 25rem;
    color: rgba(17, 17, 17, 0.74);
    font-size: 1rem;
    line-height: 1.7;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.15rem;
    min-width: 11rem;
    padding: 0.85rem 1.5rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(17, 17, 17, 0.94), #111111);
    color: #ffd84d;
    font: inherit;
    font-size: 0.98rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    cursor: pointer;
    box-shadow: 0 18px 34px rgba(17, 17, 17, 0.14);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-button:hover,
body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-button:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-copy {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    padding: 0.35rem 0.2rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-brand {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-bottom: 0.15rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-logo {
    display: block;
    width: auto;
    height: 3.4rem;
    max-width: min(100%, 180px);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-kicker {
    margin: 0;
    color: rgba(17, 17, 17, 0.58);
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-title {
    margin: 0;
    color: #111111;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -0.04em;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-text {
    margin: 0;
    max-width: 34rem;
    color: rgba(17, 17, 17, 0.7);
    font-size: 1rem;
    line-height: 1.7;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form {
    display: grid;
    gap: 1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-fields {
    display: grid;
    gap: 0.85rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__field {
    display: grid;
    gap: 0.45rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__field span {
    color: rgba(17, 17, 17, 0.76);
    font-size: 0.9rem;
    font-weight: 700;
}

body .site-footer.site-footer--hoang-anh .site-footer__field input,
body .site-footer.site-footer--hoang-anh .site-footer__field textarea {
    width: 100%;
    border: 1px solid rgba(17, 17, 17, 0.14);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.72);
    color: #111111;
    font: inherit;
    padding: 0.92rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

body .site-footer.site-footer--hoang-anh .site-footer__field textarea {
    resize: vertical;
    min-height: 7.8rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__field input:focus,
body .site-footer.site-footer--hoang-anh .site-footer__field textarea:focus {
    outline: none;
    border-color: rgba(17, 17, 17, 0.32);
    box-shadow: 0 0 0 4px rgba(255, 216, 77, 0.22);
    background: rgba(255, 255, 255, 0.9);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-actions {
    display: grid;
    gap: 0.7rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    width: 100%;
    border: 0;
    border-radius: 1.05rem;
    background: linear-gradient(180deg, rgba(17, 17, 17, 0.94), #111111);
    color: #ffd84d;
    font: inherit;
    font-weight: 900;
    font-size: 1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    box-shadow: 0 18px 34px rgba(17, 17, 17, 0.14);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-submit:hover,
body .site-footer.site-footer--hoang-anh .site-footer__consultation-submit:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-submit:disabled {
    opacity: 0.72;
    cursor: wait;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-note {
    margin: 0;
    color: rgba(17, 17, 17, 0.56);
    font-size: 0.95rem;
    font-style: italic;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-feedback {
    min-height: 1.5rem;
    margin: 0;
    color: rgba(17, 17, 17, 0.76);
    font-size: 0.95rem;
    line-height: 1.55;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-feedback[data-tone="success"] {
    color: #0f7a2f;
    font-weight: 700;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-feedback[data-tone="error"] {
    color: #b3261e;
    font-weight: 700;
}

body .site-footer.site-footer--hoang-anh .site-footer__honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__site-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.6rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.08);
    color: #111111;
    text-decoration: none;
    font-weight: 800;
}

body .site-footer.site-footer--hoang-anh .site-footer__site-link:hover,
body .site-footer.site-footer--hoang-anh .site-footer__site-link:focus-visible {
    background: rgba(17, 17, 17, 0.14);
    color: #111111;
    outline: none;
}

@media (max-width: 1080px) {
    body .site-footer.site-footer--hoang-anh .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body .site-footer.site-footer--hoang-anh .site-footer__panel--brand {
        grid-column: 1 / -1;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body .site-footer.site-footer--hoang-anh .site-footer__shell {
        padding: 1.65rem 0 0.95rem;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__grid {
        grid-template-columns: 1fr;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__panel {
        padding: 1.15rem 1.1rem;
        border-radius: 1.45rem;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__brand-top {
        flex-wrap: wrap;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__logo {
        height: 2.85rem;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-panel {
        padding: 1.1rem;
        border-radius: 1.45rem;
        width: min(1120px, calc(100vw - 1rem));
        max-height: min(88vh, 920px);
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-success-dialog {
        width: min(100%, 28rem);
        padding: 1.75rem 1.1rem 1.35rem;
        border-radius: 1.45rem;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-trigger {
        width: 100%;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-close {
        top: 0.75rem;
        right: 0.75rem;
        width: 2.6rem;
        height: 2.6rem;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-logo {
        height: 3rem;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__lead,
    body .site-footer.site-footer--hoang-anh .site-footer__item-copy span {
        font-size: 0.94rem;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Home gallery preview */
body.home-page .home-gallery > .container {
    padding: clamp(1.4rem, 2vw, 2rem);
    border-radius: 2.2rem;
    background:
        radial-gradient(circle at top right, rgba(255, 226, 124, 0.28), transparent 28%),
        radial-gradient(circle at 16% 20%, rgba(133, 214, 255, 0.14), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 249, 231, 0.98));
    border: 1px solid rgba(188, 135, 0, 0.16);
    box-shadow: 0 24px 46px rgba(27, 24, 14, 0.08);
}

body.home-page .home-gallery__intro {
    align-items: flex-end;
    gap: 1.2rem;
    margin-bottom: 1.55rem;
}

body.home-page .home-gallery__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.95rem;
}

body.home-page .home-gallery .section-stats {
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.75rem;
}

body.home-page .home-gallery__controls {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
}

body.home-page .home-gallery__control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: #181209;
    box-shadow: 0 14px 30px rgba(27, 24, 14, 0.12);
}

body.home-page .home-gallery__control:hover,
body.home-page .home-gallery__control:focus-visible {
    background: #ffd44c;
    color: #181209;
    outline: none;
}

body.home-page .home-gallery__control[disabled] {
    opacity: 0.38;
    pointer-events: none;
    box-shadow: none;
}

body.home-page .home-gallery__control svg {
    width: 1.2rem;
    height: 1.2rem;
}

body.home-page .home-gallery-cta {
    white-space: nowrap;
}

body.home-page .home-gallery__cta-wrap {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

body.home-page .home-gallery__showcase {
    display: grid;
    gap: 1rem;
}

body.home-page .home-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    aspect-ratio: 4 / 3;
}

body.home-page .home-gallery-grid .home-gallery-card {
    grid-column: var(--gc, auto) / span var(--gcs, 1);
    grid-row: var(--gr, auto) / span var(--grs, 1);
    min-height: 0;
    margin: 0;
    height: 100%;
}

body.home-page .home-gallery-grid .home-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home-page .home-gallery-card {
    position: relative;
    display: block;
    width: 100%;
    min-height: 100%;
    border-radius: 1.85rem;
    overflow: hidden;
    isolation: isolate;
    background: #14120d;
    box-shadow: 0 18px 36px rgba(27, 24, 14, 0.12);
    text-decoration: none;
    color: #fffdf6;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

body.home-page .home-gallery-card:hover,
body.home-page .home-gallery-card:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 24px 42px rgba(27, 24, 14, 0.16);
    outline: none;
}

body.home-page .home-gallery-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 320ms ease;
}

body.home-page .home-gallery-card:hover img,
body.home-page .home-gallery-card:focus-visible img {
    transform: scale(1.04);
}

body.home-page .home-gallery__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

body.home-page .home-gallery__hint-line {
    margin: 0;
    color: rgba(28, 27, 27, 0.64);
    font-size: 0.95rem;
    line-height: 1.5;
}

body.home-page .home-gallery__dots {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

body.home-page .home-gallery__dot {
    width: 0.82rem;
    height: 0.82rem;
    border: 0;
    border-radius: 999px;
    background: rgba(24, 18, 9, 0.14);
}

body.home-page .home-gallery__dot.is-active {
    width: 2.05rem;
    background: linear-gradient(135deg, #ffd44c 0%, #f2bc00 100%);
}

/* Gallery page */
body.gallery-page {
    background:
        radial-gradient(circle at top left, rgba(255, 224, 138, 0.12), transparent 24%),
        linear-gradient(180deg, #f6f2ea 0%, #efe8dc 100%);
}

body.gallery-page .gallery-hero {
    display: none;
}

body.gallery-page .gallery-back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 1rem;
    color: #7a5710;
    font-weight: 700;
    text-decoration: none;
}

body.gallery-page .gallery-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    gap: clamp(1.1rem, 2vw, 1.8rem);
    align-items: stretch;
}

body.gallery-page .gallery-hero__copy,
body.gallery-page .gallery-hero__panel {
    padding: clamp(1.5rem, 2.4vw, 2rem);
    border-radius: 2rem;
    border: 1px solid rgba(188, 135, 0, 0.14);
    background:
        radial-gradient(circle at top right, rgba(255, 226, 124, 0.24), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 226, 0.96));
    box-shadow: 0 22px 44px rgba(27, 24, 14, 0.08);
}

body.gallery-page .gallery-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 214, 90, 0.22);
    color: #7b5810;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.gallery-page .gallery-hero h1 {
    margin: 0.8rem 0 0.7rem;
    font-size: clamp(2.35rem, 4vw, 4.1rem);
    line-height: 0.98;
    color: #181209;
}

body.gallery-page .gallery-hero p,
body.gallery-page .gallery-hero__panel p {
    margin: 0;
    color: rgba(24, 18, 9, 0.74);
    font-size: 1rem;
    line-height: 1.75;
}

body.gallery-page .gallery-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 1.3rem;
}

body.gallery-page .gallery-stat {
    padding: 1rem 1.1rem;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(188, 135, 0, 0.14);
}

body.gallery-page .gallery-stat strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
    color: #181209;
}

body.gallery-page .gallery-stat span {
    display: block;
    margin-top: 0.35rem;
    color: rgba(24, 18, 9, 0.66);
    font-size: 0.92rem;
}

body.gallery-page .gallery-hero__panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}

body.gallery-page .gallery-hero__panel h2 {
    margin: 0;
    color: #181209;
    font-size: 1.35rem;
}

body.gallery-page .gallery-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 10rem;
    padding: 0.9rem 1.35rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd65a 0%, #e0aa00 55%, #bc8700 100%);
    color: #181209;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 16px 28px rgba(188, 135, 0, 0.22);
}

body.gallery-page .gallery-content {
    padding-top: clamp(7.2rem, 9vw, 8.2rem);
    padding-bottom: clamp(2.2rem, 4vw, 3.6rem);
}

body.gallery-page .gallery-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.35rem;
}

body.gallery-page .gallery-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
}

body.gallery-page .gallery-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.8rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(188, 135, 0, 0.16);
    background: rgba(255, 255, 255, 0.86);
    color: #5f4300;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

body.gallery-page .gallery-filter span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.8rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(255, 214, 90, 0.18);
    font-size: 0.8rem;
}

body.gallery-page .gallery-filter:hover,
body.gallery-page .gallery-filter:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(188, 135, 0, 0.28);
}

body.gallery-page .gallery-filter.is-active {
    background: linear-gradient(135deg, #ffd65a 0%, #e0aa00 55%, #bc8700 100%);
    border-color: rgba(188, 135, 0, 0.42);
    color: #181209;
    box-shadow: 0 12px 26px rgba(188, 135, 0, 0.2);
}

body.gallery-page .gallery-filter.is-active span {
    background: rgba(24, 18, 9, 0.1);
}

body.gallery-page .gallery-status {
    margin: 0;
    padding-top: 0.85rem;
    color: rgba(24, 18, 9, 0.62);
    font-weight: 700;
    white-space: nowrap;
}

body.gallery-page .gallery-masonry {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
    align-items: stretch;
}

body.gallery-page .gallery-card {
    display: block;
    width: auto;
    margin: 0;
    min-width: 0;
}

body.gallery-page .gallery-card__link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

body.gallery-page .gallery-card__figure {
    margin: 0;
    height: 100%;
    overflow: hidden;
    border-radius: 1.7rem;
    border: 1px solid rgba(188, 135, 0, 0.14);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 38px rgba(27, 24, 14, 0.1);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

body.gallery-page .gallery-card__link:hover .gallery-card__figure,
body.gallery-page .gallery-card__link:focus-visible .gallery-card__figure {
    transform: translateY(-4px);
    box-shadow: 0 28px 46px rgba(27, 24, 14, 0.14);
}

body.gallery-page .gallery-card__media {
    aspect-ratio: 4 / 3;
    background: rgba(255, 247, 224, 0.88);
    line-height: 0;
    overflow: hidden;
}

body.gallery-page .gallery-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.gallery-page .gallery-empty {
    display: none;
    padding: 1.35rem 1.5rem;
    border-radius: 1.4rem;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(188, 135, 0, 0.14);
    color: rgba(24, 18, 9, 0.66);
    font-weight: 700;
    text-align: center;
}

body.gallery-page .gallery-empty.is-visible {
    display: block;
}

body.gallery-page .gallery-load-more {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1rem;
}

body.gallery-page .gallery-load-more__button {
    min-width: 12rem;
}

body.gallery-page .gallery-load-more__hint {
    margin: 0;
    color: rgba(24, 18, 9, 0.54);
    font-size: 0.9rem;
}

body.gallery-page .gallery-sentinel {
    width: 100%;
    height: 1px;
}

body.gallery-page.gallery-lightbox-open {
    overflow: hidden;
}

body.gallery-page .gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2rem);
    background: rgba(17, 13, 7, 0.76);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
}

body.gallery-page .gallery-lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
}

body.gallery-page .gallery-lightbox__backdrop {
    position: absolute;
    inset: 0;
}

body.gallery-page .gallery-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.8rem;
    width: min(94vw, 1120px);
    max-height: 90vh;
    margin: 0;
    padding: clamp(0.75rem, 2vw, 1.1rem);
    border-radius: clamp(1.2rem, 3vw, 2rem);
    border: 1px solid rgba(255, 255, 255, 0.72);
    background: rgba(255, 253, 244, 0.97);
    box-shadow: 0 34px 90px rgba(5, 4, 2, 0.42);
    transform: translateY(14px) scale(0.98);
    transition: transform 0.18s ease;
}

body.gallery-page .gallery-lightbox.is-open .gallery-lightbox__dialog {
    transform: translateY(0) scale(1);
}

body.gallery-page .gallery-lightbox__image-wrap {
    position: relative;
    display: grid;
    place-items: center;
    min-height: min(44vh, 420px);
    border-radius: clamp(1rem, 2.4vw, 1.55rem);
    background:
        linear-gradient(135deg, rgba(255, 244, 209, 0.8), rgba(255, 255, 255, 0.96)),
        rgba(255, 247, 224, 0.9);
    overflow: hidden;
}

body.gallery-page .gallery-lightbox__image-wrap img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: calc(90vh - 6.5rem);
    object-fit: contain;
}

body.gallery-page .gallery-lightbox__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(188, 135, 0, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: rgba(24, 18, 9, 0.9);
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 16px 34px rgba(27, 24, 14, 0.18);
}

body.gallery-page .gallery-lightbox__nav--prev {
    left: clamp(0.75rem, 2vw, 1.1rem);
}

body.gallery-page .gallery-lightbox__nav--next {
    right: clamp(0.75rem, 2vw, 1.1rem);
}

body.gallery-page .gallery-lightbox__nav:hover,
body.gallery-page .gallery-lightbox__nav:focus-visible {
    border-color: rgba(188, 135, 0, 0.46);
    background: #fff8df;
    outline: none;
}

body.gallery-page .gallery-lightbox__nav:disabled {
    cursor: default;
    opacity: 0.42;
    box-shadow: none;
}

body.gallery-page .gallery-lightbox__status {
    margin: 0;
    color: rgba(24, 18, 9, 0.62);
    font-size: 0.92rem;
    font-weight: 800;
    text-align: center;
}

body.gallery-page .gallery-lightbox__caption {
    margin: 0;
    color: rgba(24, 18, 9, 0.72);
    font-weight: 800;
    text-align: center;
}

body.gallery-page .gallery-lightbox__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(188, 135, 0, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: rgba(24, 18, 9, 0.86);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 16px 34px rgba(27, 24, 14, 0.16);
}

body.gallery-page .gallery-lightbox__close:hover,
body.gallery-page .gallery-lightbox__close:focus-visible {
    border-color: rgba(188, 135, 0, 0.46);
    background: #fff8df;
    outline: none;
}

@media (max-width: 1100px) {
    body.home-page .home-gallery__intro {
        align-items: stretch;
    }

    body.home-page .home-gallery__aside {
        align-items: flex-start;
    }

    body.home-page .home-gallery__cta-wrap {
        justify-content: center;
    }

    body.home-page .home-gallery-grid {
        gap: 0.75rem;
    }

    body.gallery-page .gallery-hero__grid {
        grid-template-columns: 1fr;
    }

    body.gallery-page .gallery-toolbar {
        flex-direction: column;
    }

    body.gallery-page .gallery-status {
        padding-top: 0;
        white-space: normal;
    }
}

@media (max-width: 780px) {
    body.home-page .home-gallery > .container {
        padding: 1.2rem;
        border-radius: 1.7rem;
    }

    body.home-page .home-gallery__cta-wrap {
        margin-top: 0.75rem;
    }

    body.home-page .home-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-rows: minmax(9.5rem, auto);
        aspect-ratio: auto;
    }

    body.home-page .home-gallery-grid .home-gallery-card {
        grid-column: auto / span 1;
        grid-row: auto / span 1;
        aspect-ratio: 1 / 1;
        height: auto;
    }

    body.gallery-page .gallery-masonry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.gallery-page .gallery-hero__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.gallery-page .gallery-lightbox__nav {
        width: 42px;
        height: 42px;
        font-size: 1.15rem;
    }

    body.gallery-page .gallery-lightbox__status {
        font-size: 0.84rem;
    }
}

@media (max-width: 560px) {
    body.home-page .home-gallery-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
    }

    body.home-page .home-gallery-grid .home-gallery-card {
        grid-column: auto / span 1;
        grid-row: auto / span 1;
        aspect-ratio: 4 / 3;
    }

    body.gallery-page .gallery-masonry {
        grid-template-columns: 1fr;
    }

    body.gallery-page .gallery-hero__stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    body.course-page .course-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1rem !important;
    }

    body.course-page .course-player-column,
    body.course-page .course-player-card,
    body.course-page .course-player-resources,
    body.course-page .course-player-resource-panel,
    body.course-page .course-player-review-lab,
    body.course-page .course-outline-panel,
    body.course-page .course-outline-sheet {
        width: 100%;
        min-width: 0;
    }

    body.course-page .course-outline-panel {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        max-height: none !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        transform: none !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 560px) {
    body.course-page .course-player-review-item {
        grid-template-columns: 3.2rem minmax(0, 1fr) auto !important;
        gap: 0.55rem;
        padding: 0.68rem !important;
    }

    body.course-page .course-player-review-item-thumb {
        width: 3.2rem;
        height: 3.2rem;
        min-width: 3.2rem;
        border-radius: 0.95rem !important;
    }

    body.course-page .course-player-review-item-title {
        font-size: 0.88rem;
    }

    body.course-page .course-player-review-item-meta {
        font-size: 0.74rem;
    }

    body.course-page .course-player-review-item-arrow {
        width: 2rem;
        min-width: 2rem;
        height: 2rem;
    }
}

@media (min-width: 901px) {
    body.course-page .site-header.container,
    body.course-page .site-header.exam-page-header.container,
    body.course-page .site-header.exam-page-header {
        display: none !important;
    }

    body.course-page .course-shell {
        padding-top: clamp(1.4rem, 2.6vw, 2rem) !important;
    }

    body.course-page .course-outline-panel {
        --course-outline-sticky-top: 1rem !important;
        top: var(--course-outline-sticky-top) !important;
        max-height: calc(100vh - var(--course-outline-sticky-top) - 1rem) !important;
        height: min(var(--course-outline-height, 9999px), calc(100vh - var(--course-outline-sticky-top) - 1rem)) !important;
    }

    body.course-page .course-shell-head__main {
        gap: 0.55rem !important;
    }

    body.course-page .course-center-logo {
        order: -2;
        display: inline-flex !important;
        align-items: center;
        width: fit-content;
        max-width: 100%;
    }

    body.course-page .course-center-logo img {
        display: block;
        width: clamp(160px, 13vw, 220px);
        height: auto;
    }

    body.course-page .course-back {
        order: -1;
    }

    body.course-page .course-layout {
        grid-template-columns: minmax(0, 1.54fr) minmax(24.5rem, 27.5rem) !important;
    }

    body.course-page .course-outline-sheet {
        min-height: clamp(52rem, 80vh, 74rem) !important;
        background: linear-gradient(180deg, #fff9dc 0%, #fff2bd 100%) !important;
        box-shadow: 0 22px 42px rgba(224, 170, 0, 0.14) !important;
    }
}

body.course-page .course-center-logo {
    display: none;
}

body.course-page .back-to-top {
    display: none !important;
}

@media (max-width: 900px) {
    body.course-page .site-header.container,
    body.course-page .site-header.exam-page-header.container,
    body.course-page .site-header.exam-page-header {
        display: none !important;
    }

    body.course-page .course-shell {
        padding-top: 0.9rem !important;
    }
}

@media (max-width: 768px) {
    body.course-page .course-outline-fab {
        display: none !important;
    }

    body.course-page .course-shell {
        padding-top: 0.75rem !important;
        padding-bottom: 1rem !important;
    }

    body.course-page .course-shell-head {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.85rem !important;
        padding-bottom: 0.9rem !important;
        border-bottom: 0 !important;
    }

    body.course-page .course-shell-head__main {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 2.7rem 0.8rem !important;
    }

    body.course-page .course-center-logo {
        display: inline-flex !important;
        align-items: center;
        grid-column: 1;
        grid-row: 1;
        align-self: start;
        justify-self: start;
        min-width: 0;
    }

    body.course-page .course-center-logo img {
        display: block;
        width: clamp(132px, 38vw, 156px);
        height: auto;
    }

    body.course-page .course-back {
        grid-column: 3;
        grid-row: 1;
        align-self: start;
        justify-self: end;
        width: 2.8rem !important;
        min-width: 2.8rem !important;
        max-width: 2.8rem !important;
        height: 2.8rem !important;
        min-height: 2.8rem !important;
        padding: 0 !important;
        border-radius: 0.95rem !important;
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-indent: 0 !important;
    }

    body.course-page .course-back::before {
        content: "\2190";
        display: inline-block;
        font-size: 1.18rem;
        line-height: 1;
        color: #ffffff;
    }

    body.course-page .course-title,
    body.course-page .course-shell-head .course-title {
        grid-column: 1 / -1;
        grid-row: 2;
        font-size: clamp(1.05rem, 5.4vw, 1.34rem) !important;
        line-height: 1.16 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        text-wrap: pretty;
    }

    body.course-page .course-todo-trigger {
        order: 3;
        width: 100%;
        justify-content: space-between;
    }

    body.course-page .course-todo-trigger.is-mobile-sticky {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: none !important;
        transform: none !important;
    }

    body.course-page .course-todo-trigger-placeholder,
    body.course-page .course-todo-trigger-placeholder.is-active {
        display: none !important;
        height: 0 !important;
    }

    body.course-page .course-layout {
        grid-template-columns: 1fr !important;
        gap: 0.95rem !important;
        margin-top: 0.75rem !important;
        padding-bottom: 0 !important;
    }

    body.course-page .course-player-column {
        gap: 0.95rem;
    }

    body.course-page .course-player-controls {
        gap: 0.65rem !important;
    }

    body.course-page .course-outline-panel,
    body.course-outline-mobile-open .course-outline-panel {
        position: static !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        transition: none !important;
        z-index: auto !important;
    }

    body.course-page .course-outline-sheet,
    body.course-outline-mobile-open .course-outline-sheet {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0.9rem !important;
        border-radius: 1.2rem !important;
        background: #ffffff !important;
        transform: none !important;
        transition: none !important;
        overflow: visible !important;
    }

    body.course-page .course-outline-sheet::before {
        content: none !important;
    }

    body.course-page .course-outline-topline {
        margin-bottom: 0.55rem;
    }

    body.course-page .course-outline-header {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
        background: transparent !important;
        padding-bottom: 0.7rem;
    }

    body.course-page .course-outline-header-actions {
        grid-column: 1 / -1 !important;
        justify-self: start !important;
    }

    body.course-page .course-outline-scroll-bottom,
    body.course-page .course-outline-close {
        display: none !important;
    }

    body.course-page .course-outline-list {
        flex: 0 0 auto;
        min-height: 0;
        max-height: none !important;
        overflow: visible !important;
        -webkit-overflow-scrolling: auto;
        overscroll-behavior: auto;
        padding-right: 0;
        padding-bottom: 0;
    }

    body.course-page .outline-section {
        margin-left: 0 !important;
    }

    body.course-page .outline-lesson {
        min-height: 4rem;
    }

    body.course-page .course-player-resources {
        margin-top: 0.75rem;
        padding-top: 0.75rem;
    }
}

@media (max-width: 768px) {
    body.course-page .course-shell {
        padding-bottom: calc(6.15rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.course-page.course-outline-mobile-open .course-shell {
        padding-bottom: 1rem !important;
    }

    body.course-page .course-outline-fab {
        position: fixed !important;
        left: 0.75rem !important;
        right: 0.75rem !important;
        bottom: calc(0.72rem + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 1185 !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 0.8rem !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0.82rem 0.96rem !important;
        border: 1px solid rgba(224, 170, 0, 0.42) !important;
        border-radius: 1.35rem !important;
        background: linear-gradient(135deg, #ffe590 0%, #ffcb05 56%, #e0aa00 100%) !important;
        color: #241706 !important;
        box-shadow: 0 18px 34px rgba(224, 170, 0, 0.28) !important;
        transform: translate3d(0, 0, 0) !important;
        transition: transform 0.22s ease, opacity 0.22s ease, box-shadow 0.22s ease !important;
    }

    body.course-page .course-outline-fab .course-outline-fab__icon {
        display: inline-flex;
    }

    body.course-page .course-outline-fab:hover,
    body.course-page .course-outline-fab:focus-visible {
        background: linear-gradient(135deg, #ffecab 0%, #ffd23a 56%, #e6ab00 100%) !important;
        color: #241706 !important;
        box-shadow: 0 18px 34px rgba(224, 170, 0, 0.32) !important;
    }

    body.course-page .course-outline-fab__label {
        font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
        font-size: 1.02rem !important;
        font-weight: 900 !important;
        color: #241706 !important;
        letter-spacing: -0.01em !important;
        text-shadow: none !important;
    }

    body.course-page .course-outline-fab__count {
        min-width: 4.35rem;
        padding: 0.34rem 0.72rem !important;
        border: 1px solid rgba(122, 89, 0, 0.16) !important;
        border-radius: 999px !important;
        background: rgba(255, 250, 236, 0.96) !important;
        color: #8a6400 !important;
        font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
        font-size: 0.96rem !important;
        font-weight: 900 !important;
        text-shadow: none !important;
        box-shadow: 0 8px 18px rgba(122, 89, 0, 0.14) !important;
    }

    body.course-page .course-outline-fab__count strong {
        color: inherit !important;
    }

    body.course-page .course-outline-panel {
        position: fixed !important;
        inset: 0 !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: rgba(17, 17, 17, 0.34) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none !important;
        transition: opacity 0.22s ease, visibility 0.22s ease !important;
        z-index: 2200 !important;
        overflow: hidden !important;
    }

    body.course-page.course-outline-mobile-open .course-outline-panel {
        position: fixed !important;
        inset: 0 !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.course-page .course-outline-sheet {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        flex: 1 1 auto !important;
        margin: 0 !important;
        padding: max(0.92rem, calc(env(safe-area-inset-top, 0px) + 0.4rem)) 0.92rem calc(0.96rem + env(safe-area-inset-bottom, 0px)) !important;
        border-radius: 0 !important;
        background: linear-gradient(180deg, #fffef8 0%, #ffffff 38%, #fbfaf5 100%) !important;
        box-shadow: none !important;
        transform: translate3d(0, 100%, 0) !important;
        transition: transform 0.24s ease !important;
        overflow: hidden !important;
        gap: 0.82rem !important;
    }

    body.course-page.course-outline-mobile-open .course-outline-sheet {
        width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        transform: translate3d(0, 0, 0) !important;
    }

    body.course-page .course-outline-topline {
        margin-bottom: 0.1rem !important;
    }

    body.course-page .course-outline-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 2 !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        background: linear-gradient(180deg, #fffef8 0%, rgba(255, 255, 255, 0.96) 100%) !important;
        padding-bottom: 0.72rem !important;
    }

    body.course-page .course-outline-header-actions {
        grid-column: auto !important;
        justify-self: end !important;
        align-items: center !important;
        gap: 0.44rem !important;
        margin-top: 0 !important;
    }

    body.course-page .course-outline-scroll-bottom,
    body.course-page .course-outline-close {
        display: inline-flex !important;
    }

    body.course-page .course-outline-list {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        padding-right: 0.08rem !important;
        padding-bottom: 0.2rem !important;
    }

    body.course-page .outline-section {
        margin-left: 0 !important;
    }

body.course-page.course-outline-mobile-open .course-outline-fab,
body.course-page.course-game-active .course-outline-fab,
body.course-page.course-review-overlay-open .course-outline-fab,
body.course-page.course-todo-open .course-outline-fab {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate3d(0, 16px, 0) !important;
}
}

@media (min-width: 1101px) {
    body.course-page .course-outline-panel {
        max-height: calc(100vh - var(--course-outline-sticky-top, 1rem) - 1rem) !important;
        height: calc(100vh - var(--course-outline-sticky-top, 1rem) - 1rem) !important;
    }
}

/* Course actions: unify back/close style as black button with white text */
body.course-page .course-back,
body.course-page .course-review-overlay-back,
body.course-page .course-outline-close,
body.course-page .course-todo-dialog__close,
body.course-page .course-confirm-close,
body.course-page .course-review-overlay__drawer-close {
    background: #111111 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.3) !important;
}

body.course-page .course-back:hover,
body.course-page .course-back:focus-visible,
body.course-page .course-review-overlay-back:hover,
body.course-page .course-review-overlay-back:focus-visible,
body.course-page .course-outline-close:hover,
body.course-page .course-outline-close:focus-visible,
body.course-page .course-todo-dialog__close:hover,
body.course-page .course-todo-dialog__close:focus-visible,
body.course-page .course-confirm-close:hover,
body.course-page .course-confirm-close:focus-visible,
body.course-page .course-review-overlay__drawer-close:hover,
body.course-page .course-review-overlay__drawer-close:focus-visible {
    background: #262626 !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.34) !important;
}

@media (min-width: 901px) {
    body.course-page .course-shell-head {
        position: relative !important;
    }

    body.course-page .course-shell-head__main {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 2.1rem 1rem !important;
        width: 100% !important;
    }

    body.course-page .course-center-logo {
        grid-column: 1;
        grid-row: 1;
        order: initial !important;
    }

    body.course-page .course-shell-head .course-title {
        grid-column: 1 / -1;
        grid-row: 2;
        order: initial !important;
    }

    body.course-page .course-back {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        order: initial !important;
        justify-self: auto !important;
        align-self: auto !important;
        z-index: 3 !important;
        width: auto !important;
        min-height: 2.9rem !important;
        margin: 0 !important;
        padding: 0.72rem 1rem !important;
        border-radius: 999px !important;
        font-size: 0.88rem !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body.course-page .course-outline-fab[data-desktop-todo-mode="1"] {
        top: auto !important;
        right: clamp(0.8rem, 2vw, 1.4rem) !important;
        bottom: clamp(1rem, 2vw, 1.6rem) !important;
    }
}

/* Keep the Listening player usable on narrow mobile without expanding the canvas. */
@media (max-width: 760px) {
    body.exam-page .exam-shell {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        padding-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.exam-page .exam-layout {
        padding-bottom: 0 !important;
    }

    body.exam-page #part-listen.exam-section {
        margin-left: auto !important;
        margin-right: auto !important;
        width: calc(100% - 0.32rem) !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
        border-radius: 1rem !important;
    }

    body.exam-page #part-listen.exam-section > h2,
    body.exam-page #part-listen.exam-section > .listen-group-wrapper,
    body.exam-page #part-listen.exam-section > .question-card[data-part="listen"] {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.exam-page #part-listen.exam-section > .listen-group-wrapper {
        width: calc(100% - 0.48rem) !important;
        max-width: calc(100% - 0.48rem) !important;
    }

    body.exam-page #part-listen .listen-group-wrapper > .listen-group-shared-panel,
    body.exam-page #part-listen .listen-group-wrapper > .listen-group-sticky-header,
    body.exam-page #part-listen .question-card[data-part="listen"] {
        min-width: 0 !important;
        max-width: 100% !important;
        padding-left: 0.45rem !important;
        padding-right: 0.45rem !important;
    }

    body.exam-page #part-listen .listen-group-wrapper > .question-card.question-card--listen-drag-names {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.exam-page #part-listen.exam-section > .question-card[data-part="listen"] {
        width: calc(100% - 0.48rem) !important;
        max-width: calc(100% - 0.48rem) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.exam-page #part-listen .question-card[data-part="listen"] .listen-reference-details,
    body.exam-page #part-listen .question-card[data-part="listen"] .listen-reference-panel,
    body.exam-page #part-listen .question-card[data-part="listen"] .read-reference-panel__content {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.exam-page #part-listen .question-card[data-part="listen"] .listen-drag-bank-preview,
    body.exam-page #part-listen .question-card[data-part="listen"] .listen-drag-bank {
        justify-content: center !important;
    }

    body.exam-page #part-listen .media-block.media-audio {
        min-width: 0 !important;
        max-width: 100% !important;
        padding-left: 0.35rem !important;
        padding-right: 0.35rem !important;
    }

    body.exam-page #part-listen .question-card[data-part="listen"] > .question-body > .media-block.media-image {
        box-sizing: border-box !important;
        padding-left: 0.3rem !important;
        padding-right: 0.3rem !important;
    }

    body.exam-page #part-listen .question-card[data-part="listen"] > .question-body > .media-block.media-image img {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.exam-page #part-listen .listen-drag-shared-media {
        justify-items: center !important;
    }

    body.exam-page #part-listen .listen-drag-scene {
        display: inline-block !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.exam-page #part-listen .listen-drag-scene img {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.exam-page #part-listen .media-audio audio {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* Shared header redesign */
body .site-header--compass,
body .site-header--compass.site-header.exam-page-header,
body .site-header--compass.container,
body .site-header--compass.site-header.exam-page-header.container {
    position: sticky;
    top: 0;
    z-index: 80;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-areas: "brand nav actions";
    align-items: center !important;
    gap: 1rem !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0.95rem 1rem !important;
    border: 1px solid rgba(20, 17, 15, 0.08) !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, rgba(255, 253, 246, 0.94), rgba(247, 240, 225, 0.92)) !important;
    box-shadow: 0 28px 50px rgba(20, 17, 15, 0.08) !important;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    overflow: visible !important;
}

body .site-header--compass::before,
body .site-header--compass.site-header.exam-page-header::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(120deg, rgba(255, 208, 61, 0.5), rgba(255, 255, 255, 0.62), rgba(20, 17, 15, 0.06));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

body .site-header--compass::after,
body .site-header--compass.site-header.exam-page-header::after {
    content: "";
    position: absolute;
    left: 1.1rem;
    right: 1.1rem;
    top: 0.6rem;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 208, 61, 0.42), rgba(255, 255, 255, 0.82), rgba(255, 208, 61, 0));
    pointer-events: none;
}

body .site-header--compass.site-header--navless,
body .site-header--compass.site-header--navless.site-header.exam-page-header,
body .site-header--compass.site-header--navless.container,
body .site-header--compass.site-header--navless.site-header.exam-page-header.container {
    grid-template-columns: auto auto !important;
    grid-template-areas: "brand actions";
}

body .site-header--compass .site-header__brand {
    grid-area: brand;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
}

body .site-header--compass .logo-block {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0.55rem 0.7rem;
    border-radius: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 246, 217, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 16px 24px rgba(20, 17, 15, 0.06);
}

body .site-header--compass .logo-block::after {
    content: "";
    position: absolute;
    right: 0.48rem;
    bottom: 0.48rem;
    width: 0.46rem;
    height: 0.46rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd139, #ffb400);
    box-shadow: 0 0 0 0.22rem rgba(255, 209, 57, 0.14);
}

body .site-header--compass .logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body .site-header--compass .site-logo {
    display: block;
    width: auto !important;
    height: 2.9rem !important;
    max-width: none;
    filter: none !important;
}

body .site-header--compass .site-header__nav-shell {
    grid-area: nav;
    min-width: 0;
    display: block;
    align-items: center;
}

body .site-header--compass .main-nav,
body.mobile-nav-ready .site-header--compass .main-nav {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 0.36rem;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0.35rem !important;
    background: rgba(255, 255, 255, 0.86) !important;
    border: 1px solid rgba(20, 17, 15, 0.08);
    border-radius: 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body .site-header--compass .main-nav a,
body.mobile-nav-ready .site-header--compass .main-nav a,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"],
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"],
body.mobile-nav-ready .site-header--compass .main-nav a:last-child {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    min-height: 4rem;
    gap: 0;
    padding: 0.7rem 0.9rem !important;
    color: rgba(48, 43, 36, 0.76) !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: nowrap;
    text-align: left;
}

body .site-header--compass .main-nav a::before,
body .site-header--compass .main-nav a::after,
body.mobile-nav-ready .site-header--compass .main-nav a::before,
body.mobile-nav-ready .site-header--compass .main-nav a::after {
    content: none !important;
    display: none !important;
}

body .site-header--compass .main-nav__label {
    display: block;
    color: inherit;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.02em;
}

body .site-header--compass .main-nav a:hover,
body .site-header--compass .main-nav a:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a:hover,
body.mobile-nav-ready .site-header--compass .main-nav a:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:hover,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:hover,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:focus-visible {
    color: #14110f !important;
    background: linear-gradient(135deg, rgba(255, 239, 191, 0.88), rgba(255, 249, 225, 0.94)) !important;
    box-shadow: inset 0 0 0 1px rgba(224, 170, 0, 0.12) !important;
}

body .site-header--compass .main-nav a[aria-current="page"],
body .site-header--compass .main-nav a.is-active,
body .site-header--compass .main-nav a.is-active:hover,
body .site-header--compass .main-nav a.is-active:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header--compass .main-nav a.is-active,
body.mobile-nav-ready .site-header--compass .main-nav a.is-active:hover,
body.mobile-nav-ready .site-header--compass .main-nav a.is-active:focus-visible {
    color: #b5121b !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .site-header--compass .mobile-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 3.15rem;
    height: 3.15rem;
    padding: 0;
    border: 1px solid rgba(20, 17, 15, 0.08) !important;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.88) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84), 0 12px 24px rgba(20, 17, 15, 0.08);
}

body .site-header--compass .mobile-nav-toggle__line {
    display: block;
    width: 1.1rem;
    height: 2px;
    margin: 0.16rem auto;
    border-radius: 999px;
    background: #14110f;
}

body .site-header--compass .header-actions,
body .site-header--compass .header-actions.has-notify-bell {
    grid-area: actions;
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
    min-width: 0;
    margin-left: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

body .site-header--compass .header-actions > * {
    min-width: 0;
}

body .site-header--compass .user-menu,
body .site-header--compass .header-actions.has-notify-bell .user-menu {
    position: relative;
    min-width: 0;
    background: transparent !important;
    box-shadow: none !important;
}

body .site-header--compass .user-toggle,
body .site-header--compass .header-actions.has-notify-bell .user-toggle {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "avatar meta caret";
    align-items: center;
    gap: 0.72rem;
    min-height: 3.45rem;
    padding: 0.4rem 0.58rem 0.4rem 0.45rem !important;
    background: linear-gradient(135deg, #161310 0%, #2b211b 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 209, 57, 0.18) !important;
    border-radius: 0 !important;
    box-shadow: 0 18px 30px rgba(20, 17, 15, 0.16) !important;
    max-width: min(100%, 22rem);
}

body .site-header--compass .user-toggle::before,
body .site-header--compass .header-actions.has-notify-bell .user-toggle::before {
    content: none !important;
    display: none !important;
}

body .site-header--compass .user-toggle:hover,
body .site-header--compass .user-toggle:focus-visible,
body .site-header--compass .header-actions.has-notify-bell .user-toggle:hover,
body .site-header--compass .header-actions.has-notify-bell .user-toggle:focus-visible {
    background: linear-gradient(135deg, #1b1714 0%, #322721 100%) !important;
    box-shadow: 0 22px 36px rgba(20, 17, 15, 0.18) !important;
}

body .site-header--compass .user-avatar {
    grid-area: avatar;
    width: 2.8rem;
    height: 2.8rem;
    border: 2px solid rgba(255, 255, 255, 0.18) !important;
    background: linear-gradient(135deg, #ffe178 0%, #ffcb05 100%) !important;
    box-shadow: none !important;
    overflow: hidden;
    border-radius: 0;
}

body .site-header--compass .user-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body .site-header--compass .user-avatar-fallback {
    color: #14110f;
    font-size: 0.72rem;
    font-weight: 900;
}

body .site-header--compass .user-meta {
    grid-area: meta;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.16rem;
}

body .site-header--compass .user-greeting {
    color: rgba(255, 255, 255, 0.66) !important;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    opacity: 1;
}

body .site-header--compass .user-name {
    color: #ffffff !important;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.15;
    max-width: clamp(9rem, 15vw, 14rem);
}

body .site-header--compass .user-caret {
    grid-area: caret;
    margin-left: 0;
    border-top-color: #ffffff;
}

body .site-header--compass .user-dropdown {
    margin-top: 0.72rem;
    padding: 0.72rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(20, 17, 15, 0.08);
    box-shadow: 0 28px 56px rgba(20, 17, 15, 0.14);
}

body .site-header--compass .user-action {
    display: flex;
    align-items: center;
    gap: 0.72rem;
    min-width: 15rem;
    padding: 0.88rem 0.95rem;
    border-radius: 0;
    color: #14110f;
    font-weight: 700;
}

body .site-header--compass .user-action:hover,
body .site-header--compass .user-action:focus-visible,
body .site-header--compass .user-action.is-active {
    background: linear-gradient(135deg, rgba(255, 239, 191, 0.82), rgba(255, 249, 225, 0.94));
}

body .site-header--compass .user-action svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
}

body .site-header--compass .header-notify-btn,
body .site-header--compass .header-actions.has-notify-bell .header-notify-btn,
body .site-header--compass .header-actions.has-notify-bell .header-notify-btn.is-active {
    width: 3.15rem;
    height: 3.15rem;
    flex: 0 0 3.15rem;
    border-radius: 0;
    background: linear-gradient(135deg, #161310 0%, #2b211b 100%);
    color: #ffffff;
    border: 1px solid rgba(255, 209, 57, 0.16);
    box-shadow: 0 18px 28px rgba(20, 17, 15, 0.16);
}

body .site-header--compass .header-notify-btn:hover,
body .site-header--compass .header-notify-btn:focus-visible,
body .site-header--compass .header-actions.has-notify-bell .header-notify-btn:hover,
body .site-header--compass .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    background: linear-gradient(135deg, #1b1714 0%, #322721 100%);
    color: #ffffff;
    border-color: rgba(255, 209, 57, 0.28);
    box-shadow: 0 22px 34px rgba(20, 17, 15, 0.18);
}

body .site-header--compass .header-notify-btn__badge {
    top: -0.18rem;
    right: -0.16rem;
    border: 2px solid #fff7e0;
}

body .site-header--compass .site-header__login,
body .site-header--compass .header-actions .btn-login {
    position: relative;
    min-height: 3.35rem !important;
    padding: 0.86rem 1.15rem !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg, #161310 0%, #2b211b 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 209, 57, 0.18) !important;
    box-shadow: 0 18px 30px rgba(20, 17, 15, 0.16) !important;
}

body .site-header--compass .site-header__login:hover,
body .site-header--compass .site-header__login:focus-visible,
body .site-header--compass .header-actions .btn-login:hover,
body .site-header--compass .header-actions .btn-login:focus-visible {
    background: linear-gradient(135deg, #1b1714 0%, #322721 100%) !important;
}

body .site-header--compass .site-header__login-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.3rem;
    height: 1.3rem;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.92rem;
    line-height: 1;
}

@media (max-width: 1180px) {
    body .site-header--compass,
    body .site-header--compass.site-header.exam-page-header,
    body .site-header--compass.container,
    body .site-header--compass.site-header.exam-page-header.container {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
    }

    body .site-header--compass .main-nav__label {
        font-size: 0.9rem;
    }
}

@media (max-width: 900px) {
    body .site-header--compass,
    body .site-header--compass.site-header.exam-page-header,
    body .site-header--compass.container,
    body .site-header--compass.site-header.exam-page-header.container,
    body.mobile-nav-ready .site-header--compass,
    body.mobile-nav-ready .site-header--compass.site-header.exam-page-header,
    body.mobile-nav-ready .site-header--compass.container,
    body.mobile-nav-ready .site-header--compass.site-header.exam-page-header.container {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "brand nav"
            "actions actions";
        gap: 0.82rem !important;
        padding: 0.85rem !important;
        border-radius: 0 !important;
    }

    body .site-header--compass.site-header--navless,
    body .site-header--compass.site-header--navless.site-header.exam-page-header,
    body .site-header--compass.site-header--navless.container,
    body .site-header--compass.site-header--navless.site-header.exam-page-header.container {
        grid-template-areas:
            "brand actions" !important;
    }

    body .site-header--compass .site-header__brand {
        gap: 0;
    }

    body .site-header--compass .logo-block {
        padding: 0.48rem 0.62rem;
        border-radius: 0;
    }

    body .site-header--compass .site-logo {
        height: 2.45rem !important;
        max-width: min(50vw, 11rem);
    }

    body .site-header--compass .site-header__nav-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "nav menu";
        align-items: center;
        gap: 0.7rem;
    }

    body .site-header--compass .mobile-nav-toggle {
        display: inline-flex;
        grid-area: menu;
        justify-self: end;
    }

    body .site-header--compass .main-nav,
    body.mobile-nav-ready .site-header--compass .main-nav {
        grid-area: nav;
        display: none;
        grid-auto-flow: row;
        grid-template-columns: 1fr;
        gap: 0.32rem;
        padding: 0.38rem !important;
        border-radius: 0;
    }

    body .site-header--compass .main-nav.is-open,
    body.mobile-nav-ready .site-header--compass .main-nav.is-open {
        display: grid !important;
    }

    body .site-header--compass .main-nav a,
    body.mobile-nav-ready .site-header--compass .main-nav a,
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"],
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"],
    body.mobile-nav-ready .site-header--compass .main-nav a:last-child {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        min-height: 3.25rem;
        padding: 0.82rem 0.9rem !important;
        border-radius: 0 !important;
        gap: 0;
    }

    body .site-header--compass .main-nav__label {
        font-size: 0.92rem;
    }

    body .site-header--compass .header-actions,
    body .site-header--compass .header-actions.has-notify-bell {
        justify-content: flex-start;
        flex-wrap: wrap;
        width: 100%;
    }

    body .site-header--compass .header-actions.has-notify-bell .user-menu {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }

    body .site-header--compass .user-toggle,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle {
        max-width: min(100%, 22rem);
    }

    body .site-header--compass .site-header__login,
    body .site-header--compass .header-actions .btn-login {
        justify-content: space-between;
    }
}

@media (max-width: 640px) {
    body .site-header--compass,
    body .site-header--compass.site-header.exam-page-header,
    body .site-header--compass.container,
    body .site-header--compass.site-header.exam-page-header.container {
        gap: 0.72rem !important;
        padding: 0.78rem !important;
        border-radius: 0 !important;
    }

    body .site-header--compass::after,
    body .site-header--compass.site-header.exam-page-header::after {
        left: 0.9rem;
        right: 0.9rem;
    }

    body .site-header--compass .header-actions,
    body .site-header--compass .header-actions.has-notify-bell {
        width: 100%;
        gap: 0.55rem;
    }

    body .site-header--compass .header-notify-btn,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 2.95rem;
        height: 2.95rem;
        flex-basis: 2.95rem;
    }

    body .site-header--compass .header-actions.has-notify-bell .user-menu,
    body .site-header--compass .user-menu {
        flex: 1 1 calc(100% - 3.5rem);
        min-width: 0;
    }

    body .site-header--compass .user-toggle,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle,
    body .site-header--compass .site-header__login,
    body .site-header--compass .header-actions .btn-login {
        width: 100%;
        max-width: none;
    }

    body .site-header--compass .user-name {
        max-width: none;
    }

    body .site-header--compass .user-dropdown {
        width: min(22rem, calc(100vw - 1.5rem));
    }
}

/* Shared header cleanup refinement */
body .site-header--compass,
body .site-header--compass.site-header.exam-page-header,
body .site-header--compass.container,
body .site-header--compass.site-header.exam-page-header.container {
    gap: clamp(1rem, 2vw, 2.25rem) !important;
    padding: 0.52rem 0 0.78rem !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(224, 170, 0, 0.2) !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body .site-header--compass::before,
body .site-header--compass::after,
body .site-header--compass.site-header.exam-page-header::before,
body .site-header--compass.site-header.exam-page-header::after {
    content: none !important;
    display: none !important;
}

body .site-header--compass.site-header--navless,
body .site-header--compass.site-header--navless.site-header.exam-page-header,
body .site-header--compass.site-header--navless.container,
body .site-header--compass.site-header--navless.site-header.exam-page-header.container {
    grid-template-columns: auto 1fr auto !important;
    grid-template-areas: "brand . actions";
}

body .site-header--compass .site-header__brand {
    align-self: center;
}

body .site-header--compass .logo-block {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .site-header--compass .logo-block::after {
    content: none !important;
    display: none !important;
}

body .site-header--compass .site-logo {
    height: 4.4rem !important;
}

body .site-header--compass .site-header__nav-shell {
    display: flex;
    align-items: center;
    min-width: 0;
}

body .site-header--compass .main-nav,
body.mobile-nav-ready .site-header--compass .main-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    gap: clamp(1.1rem, 1.8vw, 2.5rem);
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .site-header--compass .main-nav a,
body.mobile-nav-ready .site-header--compass .main-nav a,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"],
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"],
body.mobile-nav-ready .site-header--compass .main-nav a:last-child {
    position: relative;
    align-items: center;
    justify-content: center;
    min-height: 2.95rem;
    padding: 0.3rem 0.6rem 0.68rem !important;
    border-radius: 0.8rem !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center;
    transition: color var(--bee-fast), opacity var(--bee-fast);
}

body .site-header--compass .main-nav a::after,
body.mobile-nav-ready .site-header--compass .main-nav a::after {
    content: none !important;
    display: none !important;
}

body .site-header--compass .main-nav__label {
    font-size: 1.04rem;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: 0.01em;
}

body .site-header--compass .main-nav a:hover,
body .site-header--compass .main-nav a:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a:hover,
body.mobile-nav-ready .site-header--compass .main-nav a:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:hover,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:hover,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    color: #c58f00 !important;
}

body .site-header--compass .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header--compass .main-nav a[aria-current="page"] {
    background: transparent !important;
    box-shadow: none !important;
    color: #9f7200 !important;
}

body .site-header--compass .header-actions,
body .site-header--compass .header-actions.has-notify-bell {
    gap: 0.75rem;
}

body .site-header--compass .site-header__login,
body .site-header--compass .header-actions .btn-login {
    min-height: 2.95rem !important;
    padding: 0.78rem 1.2rem !important;
    border-radius: 0 !important;
    background: #241b15 !important;
    border: 1px solid rgba(36, 27, 21, 0.12) !important;
    box-shadow: none !important;
}

body .site-header--compass .site-header__login:hover,
body .site-header--compass .site-header__login:focus-visible,
body .site-header--compass .header-actions .btn-login:hover,
body .site-header--compass .header-actions .btn-login:focus-visible {
    background: #18120e !important;
    box-shadow: none !important;
}

body .site-header--compass .header-notify-btn,
body .site-header--compass .header-actions.has-notify-bell .header-notify-btn,
body .site-header--compass .header-actions.has-notify-bell .header-notify-btn.is-active {
    width: 2.95rem;
    height: 2.95rem;
    flex-basis: 2.95rem;
    border-radius: 0.78rem;
    background: rgba(255, 255, 255, 0.88);
    color: #241b15;
    border: 1px solid rgba(20, 17, 15, 0.08);
    box-shadow: none;
}

body .site-header--compass .header-notify-btn:hover,
body .site-header--compass .header-notify-btn:focus-visible,
body .site-header--compass .header-actions.has-notify-bell .header-notify-btn:hover,
body .site-header--compass .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    background: rgba(255, 248, 229, 0.95);
    color: #14110f;
    box-shadow: none;
}

body .site-header--compass .user-toggle,
body .site-header--compass .header-actions.has-notify-bell .user-toggle {
    min-height: 2.95rem;
    padding: 0.18rem 0.12rem 0.18rem 0.2rem !important;
    border: 0 !important;
    border-radius: 0.78rem !important;
    background: transparent !important;
    color: #14110f !important;
    box-shadow: none !important;
    gap: 0.55rem;
}

body .site-header--compass .user-toggle:hover,
body .site-header--compass .user-toggle:focus-visible,
body .site-header--compass .header-actions.has-notify-bell .user-toggle:hover,
body .site-header--compass .header-actions.has-notify-bell .user-toggle:focus-visible {
    background: rgba(255, 248, 229, 0.72) !important;
    box-shadow: none !important;
}

body .site-header--compass .user-avatar {
    width: 2.48rem;
    height: 2.48rem;
    border-radius: 999px;
    border: 1px solid rgba(224, 170, 0, 0.16) !important;
    box-shadow: none !important;
}

body .site-header--compass .user-greeting {
    color: rgba(36, 27, 21, 0.52) !important;
    font-size: 0.67rem;
    letter-spacing: 0.06em;
    text-transform: none;
}

body .site-header--compass .user-name {
    color: #241b15 !important;
}

body .site-header--compass .user-caret {
    border-top-color: #241b15;
}

body .site-header--compass .user-dropdown {
    border-radius: 0.95rem;
    box-shadow: 0 20px 38px rgba(20, 17, 15, 0.12);
}

body .site-header--compass .user-action {
    border-radius: 0.7rem;
}

@media (max-width: 1180px) {
    body .site-header--compass,
    body .site-header--compass.site-header.exam-page-header,
    body .site-header--compass.container,
    body .site-header--compass.site-header.exam-page-header.container {
        gap: 1rem !important;
    }

    body .site-header--compass .main-nav,
    body.mobile-nav-ready .site-header--compass .main-nav {
        gap: 0.9rem;
    }

    body .site-header--compass .main-nav__label {
        font-size: 0.93rem;
    }
}

@media (max-width: 900px) {
    body .site-header--compass,
    body .site-header--compass.site-header.exam-page-header,
    body .site-header--compass.container,
    body .site-header--compass.site-header.exam-page-header.container,
    body.mobile-nav-ready .site-header--compass,
    body.mobile-nav-ready .site-header--compass.site-header.exam-page-header,
    body.mobile-nav-ready .site-header--compass.container,
    body.mobile-nav-ready .site-header--compass.site-header.exam-page-header.container {
        padding: 0.74rem 0.85rem !important;
        border: 1px solid rgba(20, 17, 15, 0.08) !important;
        border-radius: 0 !important;
        background: rgba(255, 252, 244, 0.94) !important;
        box-shadow: 0 18px 36px rgba(20, 17, 15, 0.08) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
    }

    body .site-header--compass .site-logo {
        height: 3rem !important;
    }

    body .site-header--compass .site-header__nav-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "nav menu";
        gap: 0.5rem;
    }

    body .site-header--compass .mobile-nav-toggle {
        width: 2.9rem;
        height: 2.9rem;
        border-radius: 0.78rem;
        background: #ffffff !important;
        border: 1px solid rgba(20, 17, 15, 0.08) !important;
        box-shadow: none !important;
    }

    body .site-header--compass .main-nav,
    body.mobile-nav-ready .site-header--compass .main-nav {
        display: none;
        padding: 0.34rem !important;
        border: 1px solid rgba(20, 17, 15, 0.08) !important;
        border-radius: 0.95rem;
        background: #ffffff !important;
        box-shadow: 0 16px 30px rgba(20, 17, 15, 0.08) !important;
    }

    body .site-header--compass .main-nav.is-open,
    body.mobile-nav-ready .site-header--compass .main-nav.is-open {
        display: grid !important;
    }

    body .site-header--compass .main-nav a,
    body.mobile-nav-ready .site-header--compass .main-nav a,
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"],
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"],
    body.mobile-nav-ready .site-header--compass .main-nav a:last-child {
        justify-content: flex-start;
        text-align: left;
        min-height: 3.1rem;
        padding: 0.82rem 0.9rem !important;
        border-radius: 0.72rem !important;
    }

    body .site-header--compass .header-actions,
    body .site-header--compass .header-actions.has-notify-bell {
        justify-content: flex-end;
        gap: 0.6rem;
    }

    body .site-header--compass .user-toggle,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle {
        border-radius: 0.78rem !important;
    }

    body .site-header--compass .site-header__login,
    body .site-header--compass .header-actions .btn-login {
        border-radius: 0 !important;
    }
}

@media (max-width: 640px) {
    body .site-header--compass,
    body .site-header--compass.site-header.exam-page-header,
    body .site-header--compass.container,
    body .site-header--compass.site-header.exam-page-header.container {
        padding: 0.68rem 0.72rem !important;
        gap: 0.65rem !important;
    }

    body .site-header--compass .site-logo {
        height: 2.75rem !important;
    }

    body .site-header--compass .header-actions,
    body .site-header--compass .header-actions.has-notify-bell {
        width: 100%;
        justify-content: flex-start;
    }

    body .site-header--compass .header-notify-btn,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 2.8rem;
        height: 2.8rem;
        flex-basis: 2.8rem;
    }

    body .site-header--compass .header-actions.has-notify-bell .user-menu,
    body .site-header--compass .user-menu {
        flex: 1 1 calc(100% - 3.4rem);
    }
}

@media (min-width: 901px) {
    body .site-header--compass,
    body .site-header--compass.site-header.exam-page-header,
    body .site-header--compass.container,
    body .site-header--compass.site-header.exam-page-header.container {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: clamp(1.35rem, 2.4vw, 3rem) !important;
    }

    body .site-header--compass .site-logo {
        height: 5.2rem !important;
    }

    body .site-header--compass.site-header--navless,
    body .site-header--compass.site-header--navless.site-header.exam-page-header,
    body .site-header--compass.site-header--navless.container,
    body .site-header--compass.site-header--navless.site-header.exam-page-header.container {
        justify-content: space-between;
    }

    body .site-header--compass .site-header__brand,
    body .site-header--compass .site-header__nav-shell,
    body .site-header--compass .header-actions {
        flex: 0 0 auto;
    }

    body .site-header--compass .site-header__nav-shell {
        display: flex;
        justify-content: center;
        min-width: 0;
    }

    body .site-header--compass .main-nav,
    body.mobile-nav-ready .site-header--compass .main-nav {
        flex: 0 1 auto;
        width: max-content;
        max-width: 100%;
        margin-inline: auto;
        justify-content: center;
        gap: clamp(0.32rem, 0.8vw, 1rem);
    }

    body .site-header--compass .main-nav a,
    body.mobile-nav-ready .site-header--compass .main-nav a,
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"],
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"],
    body.mobile-nav-ready .site-header--compass .main-nav a:last-child {
        padding-left: 0.32rem !important;
        padding-right: 0.32rem !important;
    }

    body .site-header--compass .main-nav a:hover,
    body .site-header--compass .main-nav a:focus-visible,
    body.mobile-nav-ready .site-header--compass .main-nav a:hover,
    body.mobile-nav-ready .site-header--compass .main-nav a:focus-visible,
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:hover,
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:focus-visible,
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:hover,
    body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:focus-visible {
        background: transparent !important;
        box-shadow: none !important;
    }

    body .site-header--compass .main-nav a[aria-current="page"],
    body.mobile-nav-ready .site-header--compass .main-nav a[aria-current="page"] {
        background: transparent !important;
        box-shadow: none !important;
    }

    body .site-header--compass .header-actions,
    body .site-header--compass .header-actions.has-notify-bell {
        margin-left: 0 !important;
    }
}

/* Final nav interaction override: text color only */
body .site-header--compass .main-nav a,
body.mobile-nav-ready .site-header--compass .main-nav a,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"],
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"],
body.mobile-nav-ready .site-header--compass .main-nav a:last-child,
body .site-header--compass .main-nav a:hover,
body .site-header--compass .main-nav a:focus-visible,
body .site-header--compass .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header--compass .main-nav a:hover,
body.mobile-nav-ready .site-header--compass .main-nav a:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:hover,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:hover,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:focus-visible {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body .site-header--compass .main-nav a:hover,
body .site-header--compass .main-nav a:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a:hover,
body.mobile-nav-ready .site-header--compass .main-nav a:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:hover,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#khoa-hoc"]:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:hover,
body.mobile-nav-ready .site-header--compass .main-nav a[href*="#lop-hoc"]:focus-visible {
    color: #c58f00 !important;
}

body .site-header--compass .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header--compass .main-nav a[aria-current="page"] {
    color: #9f7200 !important;
}

body .site-header--compass .main-nav a[aria-current],
body .site-header--compass .main-nav a.is-active,
body .site-header--compass .main-nav a.is-active:hover,
body .site-header--compass .main-nav a.is-active:focus-visible,
body.mobile-nav-ready .site-header--compass .main-nav a[aria-current],
body.mobile-nav-ready .site-header--compass .main-nav a.is-active,
body.mobile-nav-ready .site-header--compass .main-nav a.is-active:hover,
body.mobile-nav-ready .site-header--compass .main-nav a.is-active:focus-visible {
    color: #b5121b !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body .site-header--compass .main-nav a::before,
body .site-header--compass .main-nav a::after,
body .site-header--compass .main-nav a:hover::before,
body .site-header--compass .main-nav a:hover::after,
body .site-header--compass .main-nav a:focus-visible::before,
body .site-header--compass .main-nav a:focus-visible::after,
body .site-header--compass .main-nav a[aria-current="page"]::before,
body .site-header--compass .main-nav a[aria-current="page"]::after,
body.mobile-nav-ready .site-header--compass .main-nav a::before,
body.mobile-nav-ready .site-header--compass .main-nav a::after,
body.mobile-nav-ready .site-header--compass .main-nav a:hover::before,
body.mobile-nav-ready .site-header--compass .main-nav a:hover::after,
body.mobile-nav-ready .site-header--compass .main-nav a:focus-visible::before,
body.mobile-nav-ready .site-header--compass .main-nav a:focus-visible::after,
body.mobile-nav-ready .site-header--compass .main-nav a[aria-current="page"]::before,
body.mobile-nav-ready .site-header--compass .main-nav a[aria-current="page"]::after {
    content: none !important;
    display: none !important;
}

/* Final sticky header surface */
@media (min-width: 901px) {
    body .site-header--compass,
    body .site-header--compass.site-header.exam-page-header,
    body .site-header--compass.container,
    body .site-header--compass.site-header.exam-page-header.container {
        top: 0;
        z-index: 1400;
        padding: 0.72rem 1rem !important;
        border: 1px solid rgba(20, 17, 15, 0.08) !important;
        border-bottom-color: rgba(224, 170, 0, 0.18) !important;
        border-radius: 0 !important;
        background: rgba(255, 252, 244, 0.94) !important;
        box-shadow: 0 18px 38px rgba(20, 17, 15, 0.08) !important;
        backdrop-filter: blur(16px) !important;
        -webkit-backdrop-filter: blur(16px) !important;
    }
}

/* Desktop account action redesign */
@media (min-width: 901px) {
    body .site-header--compass .header-actions,
    body .site-header--compass .header-actions.has-notify-bell {
        align-items: center;
        gap: 0.55rem;
    }

    body .site-header--compass .header-notify-btn,
    body .site-header--compass .header-search-toggle,
    body .site-header--compass .header-search-toggle.is-active,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 3.1rem;
        height: 3.1rem;
        flex-basis: 3.1rem;
        border-radius: 1.05rem;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 229, 0.96));
        border: 1px solid rgba(224, 170, 0, 0.18);
        color: #7d5900;
        box-shadow: 0 14px 28px rgba(35, 26, 9, 0.08);
    }

    body .site-header--compass .header-notify-btn:hover,
    body .site-header--compass .header-notify-btn:focus-visible,
    body .site-header--compass .header-search-toggle:hover,
    body .site-header--compass .header-search-toggle:focus-visible,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn:hover,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn:focus-visible {
        background: linear-gradient(180deg, #fff6d7, #ffe8a7);
        border-color: rgba(224, 170, 0, 0.3);
        color: #5f4500;
        box-shadow: 0 18px 34px rgba(35, 26, 9, 0.12);
    }

    body .site-header--compass .user-menu,
    body .site-header--compass .header-actions.has-notify-bell .user-menu {
        min-width: 0;
    }

    body .site-header--compass .user-toggle,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "meta avatar"
            "meta caret";
        align-items: center;
        column-gap: 0.78rem;
        row-gap: 0.18rem;
        min-height: auto;
        max-width: min(100%, 20rem);
        padding: 0.72rem 0.92rem 0.66rem 1rem !important;
        border: 1px solid rgba(224, 170, 0, 0.18) !important;
        border-radius: 1.4rem !important;
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 246, 222, 0.94)) !important;
        color: #241b15 !important;
        box-shadow: 0 18px 32px rgba(35, 26, 9, 0.08) !important;
        gap: 0 !important;
    }

    body .site-header--compass .user-toggle:hover,
    body .site-header--compass .user-toggle:focus-visible,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle:hover,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle:focus-visible {
        background: linear-gradient(180deg, #fffdf7, #fff2c9) !important;
        border-color: rgba(224, 170, 0, 0.28) !important;
        box-shadow: 0 22px 38px rgba(35, 26, 9, 0.12) !important;
    }

    body .site-header--compass .user-avatar {
        grid-area: avatar;
        width: 3.05rem;
        height: 3.05rem;
        align-self: center;
        border-radius: 1rem;
        border: 2px solid rgba(255, 255, 255, 0.92) !important;
        background: linear-gradient(135deg, #ffe178 0%, #ffcb05 100%) !important;
        box-shadow: 0 10px 22px rgba(255, 203, 5, 0.22) !important;
    }

    body .site-header--compass .user-meta {
        grid-area: meta;
        align-items: flex-start;
        gap: 0.3rem;
        min-width: 0;
        padding-top: 0.02rem;
    }

    body .site-header--compass .user-greeting {
        display: inline-flex;
        align-items: center;
        padding: 0.2rem 0.55rem;
        border-radius: 999px;
        background: rgba(255, 203, 5, 0.2) !important;
        color: #8a6200 !important;
        font-size: 0.63rem;
        font-weight: 800;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        line-height: 1;
    }

    body .site-header--compass .user-name {
        color: #241b15 !important;
        font-size: 1.08rem;
        font-weight: 700;
        line-height: 1.05;
        max-width: none;
    }

    body .site-header--compass .user-caret {
        grid-area: caret;
        justify-self: center;
        align-self: start;
        margin: 0;
        border-left: 0.34rem solid transparent;
        border-right: 0.34rem solid transparent;
        border-top: 0.48rem solid #d5a000;
    }

    body .site-header--compass .user-dropdown {
        right: 0;
        left: auto;
        margin-top: 0.72rem;
        padding: 0.8rem;
        border-radius: 1.25rem;
        background: rgba(255, 255, 255, 0.98);
        border: 1px solid rgba(224, 170, 0, 0.14);
        box-shadow: 0 24px 48px rgba(35, 26, 9, 0.12);
    }

    body .site-header--compass .user-action {
        min-width: 15.5rem;
        padding: 0.92rem 1rem;
        border-radius: 0.95rem;
    }
}

/* Global serif typography */
body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-page,
body.post-page,
body.gallery-page,
body.notifications-page {
    font-family: "Be Vietnam Pro", "Segoe UI", Arial, sans-serif !important;
}

body.home-page *,
body.course-page *,
body.exam-page *,
body.auth-body *,
body.profile-page *,
body.post-page *,
body.gallery-page *,
body.notifications-page * {
    font-family: "Be Vietnam Pro", "Segoe UI", Arial, sans-serif !important;
}

body.home-page code,
body.home-page code *,
body.home-page pre,
body.home-page pre *,
body.home-page kbd,
body.home-page kbd *,
body.home-page samp,
body.home-page samp *,
body.course-page code,
body.course-page code *,
body.course-page pre,
body.course-page pre *,
body.course-page kbd,
body.course-page kbd *,
body.course-page samp,
body.course-page samp *,
body.exam-page code,
body.exam-page code *,
body.exam-page pre,
body.exam-page pre *,
body.exam-page kbd,
body.exam-page kbd *,
body.exam-page samp,
body.exam-page samp *,
body.auth-body code,
body.auth-body code *,
body.auth-body pre,
body.auth-body pre *,
body.auth-body kbd,
body.auth-body kbd *,
body.auth-body samp,
body.auth-body samp *,
body.profile-page code,
body.profile-page code *,
body.profile-page pre,
body.profile-page pre *,
body.profile-page kbd,
body.profile-page kbd *,
body.profile-page samp,
body.profile-page samp *,
body.post-page code,
body.post-page code *,
body.post-page pre,
body.post-page pre *,
body.post-page kbd,
body.post-page kbd *,
body.post-page samp,
body.post-page samp *,
body.gallery-page code,
body.gallery-page code *,
body.gallery-page pre,
body.gallery-page pre *,
body.gallery-page kbd,
body.gallery-page kbd *,
body.gallery-page samp,
body.gallery-page samp *,
body.notifications-page code,
body.notifications-page code *,
body.notifications-page pre,
body.notifications-page pre *,
body.notifications-page kbd,
body.notifications-page kbd *,
body.notifications-page samp,
body.notifications-page samp * {
    font-family: Consolas, Monaco, "Courier New", monospace !important;
}

/* Homepage white surface override */
body.home-page,
body.home-page::before,
body.home-page::after,
body.home-page .home-hero--slider-only,
body.home-page .home-search,
body.home-page .home-main,
body.home-page .home-main--guest,
body.home-page .home-main > .home-section,
body.home-page .home-main--guest > .home-section,
body.home-page .class-section,
body.home-page .home-courses,
body.home-page .home-exams,
body.home-page .home-games,
body.home-page .home-gallery,
body.home-page .home-about {
    background: #ffffff !important;
}

body.home-page::before,
body.home-page::after {
    content: none !important;
    display: none !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider,
body.home-page .home-hero--slider-only .hero-slider--full .slider-empty,
body.home-page .home-about__shell,
body.home-page .home-gallery > .container,
body.home-page .home-games-panel {
    background: #ffffff !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider,
body.home-page .home-hero--slider-only .hero-slider--full .slider-empty,
body.home-page .home-gallery > .container {
    border-color: rgba(19, 19, 19, 0.08) !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider,
body.home-page .home-hero--slider-only .hero-slider--full .slider-empty {
    box-shadow: none !important;
}

body.home-page .home-gallery > .container {
    box-shadow: 0 20px 40px rgba(19, 19, 19, 0.08) !important;
}

/* Desktop compact account layout */
@media (min-width: 901px) {
    body .site-header--compass .header-actions,
    body .site-header--compass .header-actions.has-notify-bell {
        gap: 0.35rem;
    }

    body .site-header--compass .header-notify-btn,
    body .site-header--compass .header-search-toggle,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 2.7rem;
        height: 2.7rem;
        flex: 0 0 2.7rem;
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: #1f1f1f !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body .site-header--compass .header-notify-btn::before,
    body .site-header--compass .header-search-toggle::before,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn::before {
        content: none !important;
        display: none !important;
    }

    body .site-header--compass .header-notify-btn:hover,
    body .site-header--compass .header-notify-btn:focus-visible,
    body .site-header--compass .header-search-toggle:hover,
    body .site-header--compass .header-search-toggle:focus-visible,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn:hover,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn:focus-visible {
        background: rgba(19, 19, 19, 0.04) !important;
        border: 0 !important;
        color: #111111 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body .site-header--compass .header-notify-btn__icon,
    body .site-header--compass .header-search-toggle__icon,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn__icon {
        width: 1.25rem;
        height: 1.25rem;
    }

    body .site-header--compass .header-notify-btn__badge,
    body .site-header--compass .header-actions.has-notify-bell .header-notify-btn__badge {
        top: 0.1rem;
        right: 0.05rem;
        min-width: 1.15rem;
        height: 1.15rem;
        padding: 0 0.2rem;
        font-size: 0.62rem;
        line-height: 0.95rem;
    }

    body .site-header--compass .user-toggle,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle,
    body .site-header--compass .user-menu.is-open .user-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem !important;
        min-height: auto;
        max-width: none;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: #1f1f1f !important;
        box-shadow: none !important;
    }

    body .site-header--compass .user-toggle:hover,
    body .site-header--compass .user-toggle:focus-visible,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle:hover,
    body .site-header--compass .header-actions.has-notify-bell .user-toggle:focus-visible,
    body .site-header--compass .user-menu.is-open .user-toggle {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .site-header--compass .user-toggle > .user-meta {
        display: none !important;
    }

    body .site-header--compass .user-toggle > .user-avatar {
        width: 2.95rem;
        height: 2.95rem;
        border-radius: 999px !important;
        border: 1px solid rgba(17, 17, 17, 0.12) !important;
        background: #ffffff !important;
        box-shadow: none !important;
        overflow: hidden;
    }

    body .site-header--compass .user-toggle > .user-avatar::after {
        content: none !important;
        display: none !important;
    }

    body .site-header--compass .user-toggle > .user-avatar img {
        border-radius: inherit;
    }

    body .site-header--compass .user-toggle > .user-caret {
        margin: 0 0 0 0.08rem;
        border-left-width: 0.3rem;
        border-right-width: 0.3rem;
        border-top-width: 0.4rem;
        border-top-color: #3f3f46 !important;
    }

    body .site-header--compass .user-dropdown {
        margin-top: 0.6rem;
    }
}

/* Final user dropdown redesign */
body .user-dropdown {
    top: calc(100% + 0.7rem) !important;
    min-width: 19rem !important;
    width: min(20.5rem, calc(100vw - 1rem));
    padding: 0.55rem !important;
    border-radius: 1rem !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    box-shadow: 0 22px 44px rgba(19, 19, 19, 0.12) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body .user-menu.is-open .user-dropdown,
body .user-dropdown.is-open-portal {
    display: flex !important;
    flex-direction: column;
    gap: 0.35rem;
}

body .user-dropdown__summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    padding: 0.78rem 0.82rem 0.88rem;
    border-radius: 0.8rem;
    background: linear-gradient(180deg, rgba(248, 246, 241, 0.94), rgba(245, 241, 232, 0.96));
    border: 1px solid rgba(19, 19, 19, 0.05);
}

body .user-dropdown__summary-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
}

body .user-dropdown__summary-avatar .user-avatar {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px !important;
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body .user-dropdown__summary-avatar .user-avatar::after {
    content: none !important;
    display: none !important;
}

body .user-dropdown__summary-copy {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

body .user-dropdown__summary-kicker {
    color: rgba(28, 27, 27, 0.48);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body .user-dropdown__summary-name {
    color: #1f1f1f;
    font-size: 0.96rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.15;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body .user-dropdown__summary-note {
    color: rgba(28, 27, 27, 0.58);
    font-size: 0.72rem;
    line-height: 1.35;
}

body .user-dropdown__actions {
    padding: 0.1rem 0 0 !important;
    display: grid;
    gap: 0.08rem;
}

body .user-action {
    position: relative;
    display: grid !important;
    grid-template-columns: 1.85rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.72rem;
    min-height: 0;
    padding: 0.74rem 0.76rem !important;
    border-radius: 0.8rem !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    color: #1f1f1f !important;
    box-shadow: none !important;
    transform: none !important;
}

body .user-action:hover,
body .user-action:focus,
body .user-action:focus-visible {
    background: rgba(19, 19, 19, 0.035) !important;
    border-color: rgba(19, 19, 19, 0.08) !important;
    color: #111111 !important;
    box-shadow: none !important;
    transform: none !important;
}

body .user-action.is-active,
body .user-action[aria-current='page'] {
    background: rgba(255, 215, 0, 0.12) !important;
    border-color: rgba(224, 170, 0, 0.24) !important;
    color: #111111 !important;
    box-shadow: none !important;
}

body .user-action__icon {
    width: 1.85rem;
    height: 1.85rem;
    flex: 0 0 1.85rem;
    border-radius: 0.6rem;
    background: rgba(19, 19, 19, 0.04) !important;
    color: #353535 !important;
    box-shadow: none !important;
}

body .user-action__icon svg {
    width: 0.92rem;
    height: 0.92rem;
}

body .user-action__body {
    display: flex;
    flex-direction: column;
    gap: 0.06rem;
    min-width: 0;
}

body .user-action__label {
    min-width: 0;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.15;
}

body .user-action__description {
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.68rem;
    line-height: 1.35;
}

body .user-action__chevron {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    color: rgba(28, 27, 27, 0.35);
    transition: transform 0.18s ease, color 0.18s ease;
}

body .user-action__chevron svg {
    width: 100%;
    height: 100%;
}

body .user-action:hover .user-action__chevron,
body .user-action:focus-visible .user-action__chevron,
body .user-action.is-active .user-action__chevron,
body .user-action[aria-current='page'] .user-action__chevron {
    color: rgba(28, 27, 27, 0.62);
    transform: translateX(2px);
}

body .user-action.is-destructive {
    margin-top: 0.28rem;
    background: transparent !important;
    border-color: transparent !important;
    color: #c2410c !important;
}

body .user-action.is-destructive::before {
    content: "";
    position: absolute;
    left: 0.95rem;
    right: 0.95rem;
    top: -0.25rem;
    height: 1px;
    background: rgba(19, 19, 19, 0.08);
}

body .user-action.is-destructive .user-action__icon {
    background: rgba(239, 68, 68, 0.08) !important;
    color: #df4a3b !important;
}

body .user-action.is-destructive .user-action__description,
body .user-action.is-destructive .user-action__chevron {
    color: rgba(194, 65, 12, 0.72);
}

body .user-action.is-destructive:hover,
body .user-action.is-destructive:focus,
body .user-action.is-destructive:focus-visible {
    background: rgba(239, 68, 68, 0.05) !important;
    border-color: rgba(239, 68, 68, 0.12) !important;
    color: #c2410c !important;
}

@media (max-width: 900px) {
    body .user-dropdown {
        width: min(19.25rem, calc(100vw - 0.75rem));
        min-width: 0 !important;
        padding: 0.48rem !important;
        border-radius: 0.92rem !important;
    }

    body .user-dropdown__summary {
        padding: 0.72rem 0.74rem 0.8rem;
    }

    body .user-action {
        grid-template-columns: 1.75rem minmax(0, 1fr) auto;
        gap: 0.65rem;
        padding: 0.68rem 0.7rem !important;
    }

    body .user-action__icon {
        width: 1.75rem;
        height: 1.75rem;
        flex-basis: 1.75rem;
    }

    body .user-action__label {
        font-size: 0.84rem;
    }

    body .user-action__description {
        font-size: 0.66rem;
    }
}

/* Homepage hero slider dots refresh */
body.home-page .home-hero--slider-only .hero-slider--full .slider-dots {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.42rem 0.62rem;
    border-radius: 999px;
    background: rgba(20, 17, 15, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.26);
    box-shadow: 0 12px 28px rgba(20, 17, 15, 0.16);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-dot {
    position: relative;
    width: 0.92rem;
    height: 0.92rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    background: transparent;
    box-shadow: none;
    transition:
        transform 180ms ease,
        border-color 180ms ease,
        background 180ms ease,
        box-shadow 180ms ease;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-dot::after {
    content: "";
    position: absolute;
    inset: 0.22rem;
    border-radius: inherit;
    background: rgba(255, 255, 255, 0.56);
    transition: inset 180ms ease, background 180ms ease;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-dot:hover {
    border-color: rgba(255, 255, 255, 0.92);
    transform: scale(1.04);
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-dot.active {
    width: 0.92rem;
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(255, 255, 255, 0.96);
    box-shadow:
        0 0 0 0.2rem rgba(255, 215, 0, 0.2),
        0 8px 16px rgba(20, 17, 15, 0.18);
    transform: scale(1.08);
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-dot.active::after {
    inset: 0.16rem;
    background: linear-gradient(180deg, #ffd84d 0%, #ffbf00 100%);
}

@media (max-width: 760px) {
    body.home-page .home-hero--slider-only .hero-slider--full .slider-dots {
        gap: 0.42rem;
        padding: 0.35rem 0.52rem;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-dot {
        width: 0.82rem;
        height: 0.82rem;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-dot.active {
        width: 0.82rem;
    }
}

/* Homepage search in header */
body .site-header--compass.site-header--with-search {
    row-gap: 0.9rem !important;
}

body .site-header--compass .site-header__search {
    width: 100%;
    min-width: 0;
}

body .site-header--compass .site-header__search-shell {
    width: 100%;
}

body .site-header--compass .site-header__search .section-search {
    width: min(52rem, 100%);
    max-width: 100%;
    margin: 0 auto;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body .site-header--compass .site-header__search .global-search {
    min-height: 4.4rem;
    padding: 0.62rem 0.8rem 0.62rem 0.95rem !important;
    border: 1px solid rgba(224, 170, 0, 0.28) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 18px 38px rgba(224, 170, 0, 0.14) !important;
}

body .site-header--compass .site-header__search .global-search:focus-within {
    border-color: rgba(224, 170, 0, 0.5) !important;
    box-shadow:
        0 22px 42px rgba(224, 170, 0, 0.16),
        0 0 0 4px rgba(255, 215, 0, 0.1) !important;
}

body .site-header--compass .site-header__search .global-search-icon {
    width: 3rem;
    height: 3rem;
    background: linear-gradient(180deg, #ffe889 0%, #ffd84d 100%);
    color: #8a6200;
    box-shadow: none;
}

body .site-header--compass .site-header__search .global-search input {
    font-size: 1rem;
    font-weight: 700;
    color: rgba(36, 27, 21, 0.84);
}

body .site-header--compass .site-header__search .global-search input::placeholder {
    color: rgba(36, 27, 21, 0.42);
    font-weight: 600;
}

body .site-header--compass .site-header__search .global-search-clear {
    width: 2.6rem;
    height: 2.6rem;
    background: rgba(249, 246, 238, 0.92);
    color: rgba(36, 27, 21, 0.46);
}

body .site-header--compass .site-header__search .global-search-feedback {
    min-height: 0;
    margin-top: 0.55rem;
    padding: 0 1rem;
    text-align: center;
    color: rgba(36, 27, 21, 0.64);
}

body .site-header--compass .site-header__search .global-search-feedback[hidden],
body .site-header--compass .site-header__search .global-search-feedback:empty {
    display: none;
}

@media (min-width: 901px) {
    body .site-header--compass.site-header--with-search,
    body .site-header--compass.site-header--with-search.site-header.exam-page-header,
    body .site-header--compass.site-header--with-search.container,
    body .site-header--compass.site-header--with-search.site-header.exam-page-header.container {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) minmax(24rem, 36rem) auto;
        grid-template-areas: "brand nav search actions";
        align-items: center;
        gap: 0.8rem clamp(0.9rem, 1.45vw, 1.5rem) !important;
    }

    body .site-header--compass.site-header--with-search .site-header__brand {
        grid-area: brand;
    }

    body .site-header--compass.site-header--with-search .site-header__nav-shell {
        grid-area: nav;
        justify-content: flex-start;
    }

    body .site-header--compass.site-header--with-search .header-actions,
    body .site-header--compass.site-header--with-search .header-actions.has-notify-bell {
        grid-area: actions;
    }

    body .site-header--compass.site-header--with-search .site-header__search {
        grid-area: search;
        display: block;
        width: 100%;
        justify-self: stretch;
    }

    body .site-header--compass.site-header--with-search .site-header__search .section-search {
        width: 100%;
        margin: 0;
    }

    body .site-header--compass.site-header--with-search .site-header__search .global-search {
        min-height: 3.4rem;
        padding: 0.36rem 0.56rem 0.36rem 0.7rem !important;
        box-shadow: 0 14px 28px rgba(224, 170, 0, 0.1) !important;
    }

    body .site-header--compass.site-header--with-search .site-header__search .global-search-icon {
        width: 2.35rem;
        height: 2.35rem;
    }

    body .site-header--compass.site-header--with-search .site-header__search .global-search input {
        font-size: 0.9rem;
    }

    body .site-header--compass.site-header--with-search .site-header__search .global-search-clear {
        width: 2.2rem;
        height: 2.2rem;
    }

    body .site-header--compass.site-header--with-search .site-header__search .global-search-feedback {
        padding: 0 0.2rem;
        text-align: left;
    }
}

@media (max-width: 900px) {
    body .site-header--compass.site-header--with-search,
    body .site-header--compass.site-header--with-search.site-header.exam-page-header,
    body .site-header--compass.site-header--with-search.container,
    body .site-header--compass.site-header--with-search.site-header.exam-page-header.container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "brand actions"
            "nav nav"
            "search search";
        align-items: center;
        gap: 0.72rem !important;
    }

    body .site-header--compass.site-header--with-search .site-header__brand {
        grid-area: brand;
    }

    body .site-header--compass.site-header--with-search .header-actions,
    body .site-header--compass.site-header--with-search .header-actions.has-notify-bell {
        grid-area: actions;
        width: auto;
        justify-content: flex-end;
    }

    body .site-header--compass.site-header--with-search .site-header__nav-shell {
        grid-area: nav;
    }

    body .site-header--compass.site-header--with-search .site-header__search {
        grid-area: search;
    }

    body .site-header--compass .site-header__search .section-search {
        width: 100%;
    }

    body .site-header--compass .site-header__search .global-search {
        min-height: 4rem;
    }
}

body.home-page {
    --home-hero-shell-width: min(calc(var(--bee-max-width) + 18rem), calc(100vw - 1.5rem));
    --home-hero-shell-gutter: max(0.75rem, calc((100vw - var(--home-hero-shell-width)) / 2));
}

@media (min-width: 901px) {
    body.home-page .site-header--compass,
    body.home-page .site-header--compass.site-header.exam-page-header,
    body.home-page .site-header--compass.container,
    body.home-page .site-header--compass.site-header.exam-page-header.container {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: auto minmax(0, 1fr) auto;
        grid-template-areas: "brand nav actions";
        align-items: center;
        justify-content: unset !important;
        gap: 0.8rem clamp(0.9rem, 1.45vw, 1.5rem) !important;
        padding: 0.52rem var(--home-hero-shell-gutter) 0.78rem !important;
    }

    body.home-page .site-header--compass.site-header--with-search,
    body.home-page .site-header--compass.site-header--with-search.site-header.exam-page-header,
    body.home-page .site-header--compass.site-header--with-search.container,
    body.home-page .site-header--compass.site-header--with-search.site-header.exam-page-header.container {
        grid-template-columns: auto minmax(0, 1fr) minmax(24rem, 36rem) auto;
        grid-template-areas: "brand nav search actions";
    }

    body.home-page .site-header--compass.site-header--navless,
    body.home-page .site-header--compass.site-header--navless.site-header.exam-page-header,
    body.home-page .site-header--compass.site-header--navless.container,
    body.home-page .site-header--compass.site-header--navless.site-header.exam-page-header.container {
        grid-template-columns: auto 1fr auto !important;
        grid-template-areas: "brand . actions";
    }

    body.home-page .site-header--compass .site-header__brand {
        justify-self: start;
    }

    body.home-page .site-header--compass .site-header__nav-shell {
        width: 100%;
        justify-self: stretch;
    }

    body.home-page .site-header--compass .main-nav,
    body.home-page.mobile-nav-ready .site-header--compass .main-nav {
        width: 100%;
        margin-inline: 0;
    }

    body.home-page .site-header--compass .header-actions,
    body.home-page .site-header--compass .header-actions.has-notify-bell {
        justify-self: end;
    }

    body.home-page .site-header--compass.site-header--with-search .site-header__search {
        width: 100%;
        justify-self: stretch;
    }
}

/* Home cards unified editorial layout */
body.home-page {
    --home-editorial-card-border: #d8e3ef;
    --home-editorial-card-border-strong: #c7d6e6;
    --home-editorial-card-surface: #ffffff;
    --home-editorial-card-surface-soft: #f6fafe;
    --home-editorial-card-ink: #173d6b;
    --home-editorial-card-copy: #566b82;
    --home-editorial-card-meta: #6c839d;
    --home-editorial-card-cta: #0f1218;
    --home-editorial-card-cta-hover: #1b2c46;
    --home-editorial-card-shadow: 0 18px 34px rgba(23, 61, 107, 0.08);
}

body.home-page .course-grid,
body.home-page .home-exams-grid,
body.home-page .blog-list,
body.home-page .home-games-grid,
body.home-page .class-showcase-card__practice-strip {
    gap: clamp(1.35rem, 2vw, 2rem);
}

body.home-page .home-gallery-card,
body.home-page .class-section__class-tab,
body.home-page .course-card,
body.home-page .exam-home-card,
body.home-page .blog-card,
body.home-page .home-game-card,
body.home-page .class-practice-card,
body.home-page .exam-random-card,
body.home-page .class-showcase-card {
    background: var(--home-editorial-card-surface) !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
}

body.home-page .course-card:hover,
body.home-page .course-card:focus-within,
body.home-page .exam-home-card:hover,
body.home-page .exam-home-card:focus-within,
body.home-page .blog-card:hover,
body.home-page .blog-card:focus-within,
body.home-page .home-game-card:hover,
body.home-page .home-game-card:focus-within,
body.home-page .class-practice-card:hover,
body.home-page .class-practice-card:focus-within,
body.home-page .exam-random-card:hover,
body.home-page .exam-random-card:focus-within,
body.home-page .class-showcase-card:hover,
body.home-page .class-showcase-card:focus-within,
body.home-page .class-section__class-tab:hover,
body.home-page .class-section__class-tab:focus-visible,
body.home-page .home-gallery-card:hover,
body.home-page .home-gallery-card:focus-visible {
    border-color: var(--home-editorial-card-border-strong) !important;
    box-shadow: var(--home-editorial-card-shadow) !important;
    transform: translateY(-2px);
}

body.home-page .course-card,
body.home-page .exam-home-card,
body.home-page .blog-card,
body.home-page .home-game-card,
body.home-page .class-practice-card {
    display: flex !important;
    flex-direction: column;
    min-height: 100%;
}

body.home-page .blog-card,
body.home-page .home-game-card__link {
    text-decoration: none;
    color: inherit;
}

body.home-page .course-thumb-wrapper,
body.home-page .exam-home-card__thumb,
body.home-page .blog-thumb,
body.home-page .home-game-card__thumb,
body.home-page .class-practice-card__thumb,
body.home-page .class-showcase-card__media,
body.home-page .home-gallery-card {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
    overflow: hidden;
    background: #dfeaf3;
}

body.home-page .course-thumb-wrapper,
body.home-page .exam-home-card__thumb,
body.home-page .blog-thumb,
body.home-page .home-game-card__thumb,
body.home-page .class-practice-card__thumb,
body.home-page .class-showcase-card__media {
    aspect-ratio: 4 / 3;
}

body.home-page .class-showcase-card__media {
    aspect-ratio: 16 / 9;
}

body.home-page .course-thumb,
body.home-page .exam-home-card__thumb img,
body.home-page .blog-thumb img,
body.home-page .home-game-card__thumb img,
body.home-page .class-practice-card__thumb img,
body.home-page .class-showcase-card__media img,
body.home-page .home-gallery-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 220ms ease;
}

body.home-page .course-card:hover .course-thumb,
body.home-page .exam-home-card:hover .exam-home-card__thumb img,
body.home-page .blog-card:hover .blog-thumb img,
body.home-page .home-game-card:hover .home-game-card__thumb img,
body.home-page .class-practice-card:hover .class-practice-card__thumb img,
body.home-page .class-showcase-card:hover .class-showcase-card__media img,
body.home-page .home-gallery-card:hover img {
    transform: scale(1.03);
}

body.home-page .course-body,
body.home-page .exam-home-card__body,
body.home-page .blog-info,
body.home-page .home-game-card__body,
body.home-page .class-practice-card__body,
body.home-page .exam-random-card__content,
body.home-page .class-showcase-card__content {
    padding: clamp(1.4rem, 2vw, 2rem) !important;
    background: var(--home-editorial-card-surface) !important;
}

body.home-page .course-body,
body.home-page .exam-home-card__body,
body.home-page .blog-info,
body.home-page .home-game-card__body,
body.home-page .class-practice-card__body,
body.home-page .exam-random-card__content {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    flex: 1 1 auto;
}

body.home-page .class-showcase-card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    padding: 0 !important;
}

body.home-page .class-showcase-card__lead {
    display: grid;
    gap: 0;
}

body.home-page .class-showcase-card__leaderboard,
body.home-page .class-showcase-card__practice,
body.home-page .class-showcase-card__practice-summary,
body.home-page .class-showcase-card__todo,
body.home-page .class-showcase-card__notes,
body.home-page .class-arena-panel,
body.home-page .class-todo-home,
body.home-page .class-notes-panel {
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: var(--home-editorial-card-surface-soft) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card__leaderboard {
    margin: 0 2rem 2rem;
    padding: 1.15rem;
}

body.home-page .class-showcase-card__eyebrow,
body.home-page .class-showcase-card__tone,
body.home-page .blog-badge,
body.home-page .home-game-card__count,
body.home-page .exam-home-tag,
body.home-page .class-practice-card__tag,
body.home-page .exam-random-card__kicker,
body.home-page .exam-random-card__meta-pill,
body.home-page .class-showcase-card__badge {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: 0 !important;
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.83rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.home-page .exam-home-card__tags,
body.home-page .class-practice-card__tags,
body.home-page .blog-meta,
body.home-page .exam-random-card__meta,
body.home-page .class-showcase-card__eyebrow-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.8rem;
}

body.home-page .exam-home-tag + .exam-home-tag::before,
body.home-page .class-practice-card__tag + .class-practice-card__tag::before {
    content: "|";
    margin-right: 0.75rem;
    color: #b4c4d3;
}

body.home-page .course-title,
body.home-page .exam-home-card h3,
body.home-page .blog-info h3,
body.home-page .home-game-card h3,
body.home-page .class-practice-card__body h5,
body.home-page .exam-random-card h3,
body.home-page .class-showcase-card__title {
    margin: 0 !important;
    color: var(--home-editorial-card-ink) !important;
    font-size: clamp(1.45rem, 2vw, 2rem) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.03em !important;
}

body.home-page .course-summary,
body.home-page .exam-home-card p[data-exam-meta],
body.home-page .blog-excerpt,
body.home-page .home-game-card__summary,
body.home-page .class-practice-card__body p,
body.home-page .exam-random-card p,
body.home-page .class-showcase-card__summary,
body.home-page .class-showcase-card__practice-note,
body.home-page .class-showcase-card__practice-lead {
    margin: 0 !important;
    color: var(--home-editorial-card-copy) !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
}

body.home-page .exam-home-card__info,
body.home-page .class-practice-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
}

body.home-page .exam-home-card__info span,
body.home-page .class-practice-card__meta span,
body.home-page .home-game-card__meta,
body.home-page .blog-meta span,
body.home-page .course-summary {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
}

body.home-page .exam-home-card__info strong,
body.home-page .class-practice-card__meta strong {
    margin-right: 0.35rem;
    color: var(--home-editorial-card-ink) !important;
}

body.home-page .course-action,
body.home-page .exam-home-action,
body.home-page .blog-link,
body.home-page .class-practice-card__action,
body.home-page .class-showcase-card__button,
body.home-page .class-showcase-card__attendance-btn,
body.home-page .exam-random-card__action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 2.9rem;
    padding: 0.82rem 1.3rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--home-editorial-card-cta) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
}

body.home-page .course-action.course-action--guest-card,
body.home-page .course-action.course-action--member-card,
body.home-page .class-showcase-card__button.class-showcase-card__button--guest-card {
    justify-content: center !important;
    width: fit-content !important;
    min-height: 2.9rem !important;
    margin-top: auto !important;
    padding: 0.82rem 1.3rem !important;
    border-radius: 0 !important;
    background: var(--home-editorial-card-cta) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .course-action-label,
body.home-page .class-showcase-card__button-label {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
}

body.home-page .course-action:hover,
body.home-page .course-action:focus-visible,
body.home-page .exam-home-action:hover,
body.home-page .exam-home-action:focus-visible,
body.home-page .class-practice-card__action:hover,
body.home-page .class-practice-card__action:focus-visible,
body.home-page .class-showcase-card__button:hover,
body.home-page .class-showcase-card__button:focus-visible,
body.home-page .class-showcase-card__attendance-btn:hover,
body.home-page .class-showcase-card__attendance-btn:focus-visible,
body.home-page .exam-random-card__action:hover,
body.home-page .exam-random-card__action:focus-visible {
    background: var(--home-editorial-card-cta-hover) !important;
    color: #ffffff !important;
    transform: none !important;
}

body.home-page .course-action-label {
    text-transform: uppercase;
}

body.home-page .course-action-icon,
body.home-page .class-showcase-card__button-icon,
body.home-page .blog-link::after {
    display: none !important;
}

body.home-page .course-action,
body.home-page .blog-link,
body.home-page .class-practice-card__action {
    margin-top: auto;
}

body.home-page .exam-home-card__footer,
body.home-page .class-practice-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0 clamp(1.4rem, 2vw, 2rem) clamp(1.4rem, 2vw, 2rem) !important;
    background: var(--home-editorial-card-surface);
}

body.home-page .exam-home-duration,
body.home-page .class-practice-card__duration {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
}

body.home-page .home-game-card__link {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
}

body.home-page .home-game-card__body {
    flex: 1 1 auto;
}

body.home-page .home-game-card__footer {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start !important;
    gap: 0.7rem;
    width: fit-content;
    margin-top: auto;
    padding: 0.82rem 1.3rem;
    background: var(--home-editorial-card-cta);
}

body.home-page .home-game-card__meta,
body.home-page .home-game-card__arrow {
    color: #ffffff !important;
}

body.home-page .home-game-card__arrow {
    font-size: 1rem !important;
    transform: none !important;
}

body.home-page .blog-card.pinned,
body.home-page .class-section__class-tab.is-active {
    border-color: var(--home-editorial-card-border) !important;
    background: var(--home-editorial-card-surface) !important;
    box-shadow: none !important;
}

body.home-page .exam-home-action.is-resume {
    box-shadow: none !important;
}

body.home-page .exam-home-action.is-locked,
body.home-page .class-practice-card__action.is-locked,
body.home-page .class-showcase-card__button--disabled {
    background: #eef3f8 !important;
    color: #72859a !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    opacity: 0.8;
}

body.home-page .blog-link {
    margin-top: auto;
}

body.home-page .exam-random-card__actions,
body.home-page .class-showcase-card__actions,
body.home-page .class-showcase-card__footer {
    gap: 0.9rem;
}

body.home-page .exam-random-card__field input {
    border-radius: 0 !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .exam-random-card__field input:focus {
    border-color: var(--home-editorial-card-border-strong) !important;
    box-shadow: none !important;
}

body.home-page .class-section__class-tab {
    padding: 0.8rem !important;
}

body.home-page .class-section__class-tab-thumb {
    border-radius: 0 !important;
}

body.home-page .home-gallery-grid .home-gallery-card {
    border: 1px solid var(--home-editorial-card-border) !important;
    background: var(--home-editorial-card-surface) !important;
    box-shadow: none !important;
}

@media (max-width: 900px) {
    body.home-page .exam-home-card__footer,
    body.home-page .class-practice-card__footer,
    body.home-page .class-showcase-card__actions {
        align-items: stretch;
        flex-direction: column;
    }

    body.home-page .course-action,
    body.home-page .exam-home-action,
    body.home-page .class-practice-card__action,
    body.home-page .class-showcase-card__button,
    body.home-page .class-showcase-card__attendance-btn,
    body.home-page .exam-random-card__action,
    body.home-page .home-game-card__footer,
    body.home-page .blog-link {
        width: 100%;
    }

    body.home-page .class-showcase-card__leaderboard {
        margin: 0 1.25rem 1.25rem;
    }
}

/* Dark red homepage buttons */
body {
    --app-button-crimson: #86171b;
    --app-button-crimson-hover: #6b1216;
    --app-button-crimson-shadow: rgba(134, 23, 27, 0.24);
}

body :is(
    .site-header--compass .site-header__login,
    .site-header--compass .header-actions .btn-login,
    .btn-primary,
    .btn.primary,
    .course-btn.primary,
    .home-exams-load-more .btn-ghost,
    .home-games-load-more .btn-ghost,
    .home-games-pagination__button,
    .home-games-filter-dropdown__button,
    .gallery-load-more__button,
    .section-switch-button,
    .course-action,
    .exam-home-action,
    .blog-link,
    .class-practice-card__action,
    .class-showcase-card__button,
    .class-showcase-card__attendance-btn,
    .exam-random-card__action,
    .home-game-card__footer,
    .exam-resume-btn--primary,
    .pwa-install-btn
):not(.is-locked):not(.class-showcase-card__button--disabled) {
    background: var(--app-button-crimson) !important;
    border-color: var(--app-button-crimson) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px var(--app-button-crimson-shadow) !important;
}

body :is(
    .site-header--compass .site-header__login,
    .site-header--compass .header-actions .btn-login,
    .btn-primary,
    .btn.primary,
    .course-btn.primary,
    .home-exams-load-more .btn-ghost,
    .home-games-load-more .btn-ghost,
    .home-games-pagination__button,
    .home-games-filter-dropdown__button,
    .gallery-load-more__button,
    .section-switch-button,
    .course-action,
    .exam-home-action,
    .blog-link,
    .class-practice-card__action,
    .class-showcase-card__button,
    .class-showcase-card__attendance-btn,
    .exam-random-card__action,
    .home-game-card__footer,
    .exam-resume-btn--primary,
    .pwa-install-btn
):not(.is-locked):not(.class-showcase-card__button--disabled):hover,
body :is(
    .site-header--compass .site-header__login,
    .site-header--compass .header-actions .btn-login,
    .btn-primary,
    .btn.primary,
    .course-btn.primary,
    .home-exams-load-more .btn-ghost,
    .home-games-load-more .btn-ghost,
    .home-games-pagination__button,
    .home-games-filter-dropdown__button,
    .gallery-load-more__button,
    .section-switch-button,
    .course-action,
    .exam-home-action,
    .blog-link,
    .class-practice-card__action,
    .class-showcase-card__button,
    .class-showcase-card__attendance-btn,
    .exam-random-card__action,
    .home-game-card__footer,
    .exam-resume-btn--primary,
    .pwa-install-btn
):not(.is-locked):not(.class-showcase-card__button--disabled):focus-visible {
    background: var(--app-button-crimson-hover) !important;
    border-color: var(--app-button-crimson-hover) !important;
    color: #ffffff !important;
    box-shadow: 0 16px 30px rgba(107, 18, 22, 0.28) !important;
}

/* Course and exam cards aligned with class card visual style */
body.home-page .home-main--guest .home-courses .course-card,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card,
body.home-page .home-main--guest .home-exams .exam-home-card,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    min-height: 100%;
    padding: 0 !important;
    border-radius: 2.05rem !important;
    border: 1px solid rgba(176, 148, 67, 0.14) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08) !important;
    overflow: hidden;
    isolation: isolate;
}

body.home-page .home-main--guest .home-courses .course-card:hover,
body.home-page .home-main--guest .home-courses .course-card:focus-within,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:focus-within,
body.home-page .home-main--guest .home-exams .exam-home-card:hover,
body.home-page .home-main--guest .home-exams .exam-home-card:focus-within,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card:focus-within {
    transform: translateY(-5px);
    box-shadow: 0 28px 48px rgba(27, 24, 14, 0.12) !important;
}

body.home-page .home-main--guest .home-courses .course-card::before,
body.home-page .home-main--guest .home-courses .course-card::after,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card::before,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card::after,
body.home-page .home-main--guest .home-exams .exam-home-card::before,
body.home-page .home-main--guest .home-exams .exam-home-card::after,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card::before,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card::after {
    content: none !important;
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb-wrapper,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__thumb {
    position: relative;
    z-index: 1;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    aspect-ratio: 16 / 9;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden;
    background: #e9edf1 !important;
    box-shadow: none !important;
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper::after,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb-wrapper::after,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb::after,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__thumb::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 36%;
    background: linear-gradient(180deg, rgba(19, 19, 19, 0), rgba(19, 19, 19, 0.16));
    pointer-events: none;
}

body.home-page .home-main--guest .home-courses .course-thumb,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb img,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center;
    border-radius: 0 !important;
}

body.home-page .home-main--guest .home-courses .course-body,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-body {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.85rem;
    min-height: 0;
    padding: 1.65rem 1.75rem 1.55rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card__body,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.85rem;
    min-height: 0;
    padding: 1.65rem 1.75rem 0.4rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card__footer,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__footer {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.9rem;
    padding: 0 1.75rem 1.55rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .home-main--guest .home-courses .course-title,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-title,
body.home-page .home-main--guest .home-exams .exam-home-card h3,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card h3 {
    margin: 0 !important;
    color: #141414 !important;
    font-size: clamp(1.3rem, 1.7vw, 1.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.045em !important;
    text-transform: none !important;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.home-page .home-main--guest .home-courses .course-summary,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-summary,
body.home-page .home-main--guest .home-exams .exam-home-card p[data-exam-meta],
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card p[data-exam-meta] {
    order: 0 !important;
    margin: 0 !important;
    color: rgba(28, 27, 27, 0.7) !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home-page .home-main--guest .home-exams .exam-home-card__tags,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__tags,
body.home-page .home-main--guest .home-exams .exam-home-card__info,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__info {
    display: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-duration,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-duration {
    color: rgba(28, 27, 27, 0.68) !important;
    font-size: 0.96rem !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    text-transform: none !important;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card,
body.home-page .home-main--guest .home-exams .exam-home-action,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center !important;
    align-self: flex-start;
    width: fit-content !important;
    min-height: 2.9rem !important;
    margin-top: auto !important;
    padding: 0.82rem 1.3rem !important;
    border-radius: 0 !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase;
    text-decoration: none !important;
}

body.home-page .home-main--guest .home-courses .course-action-label,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action-label {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
}

body.home-page .home-main--guest .home-courses .course-action .course-action-icon,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action .course-action-icon,
body.home-page .home-main--guest .home-exams .exam-home-action::after,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-action::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 900px) {
    body.home-page .home-main--guest .home-courses .course-body,
    body.home-page .home-main:not(.home-main--guest) .home-courses .course-body,
    body.home-page .home-main--guest .home-exams .exam-home-card__body,
    body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__body,
    body.home-page .home-main--guest .home-exams .exam-home-card__footer,
    body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__footer {
        padding-left: 1.4rem !important;
        padding-right: 1.4rem !important;
    }
}

/* Footer redesign inspired by editorial navy layout */
body .site-footer.site-footer--hoang-anh {
    --footer-brand-bg-start: #86171b;
    --footer-brand-bg-end: #651115;
    --footer-brand-glow-primary: rgba(246, 195, 91, 0.16);
    --footer-brand-glow-secondary: rgba(255, 155, 122, 0.16);
    --footer-brand-text: #fff7f2;
    --footer-brand-text-soft: rgba(255, 236, 227, 0.82);
    --footer-brand-text-muted: rgba(255, 224, 210, 0.64);
    --footer-brand-divider: rgba(255, 255, 255, 0.12);
    --footer-brand-accent: #f6c35b;
    --footer-brand-accent-strong: #ffd88f;
    --footer-brand-accent-soft: rgba(246, 195, 91, 0.16);
    --footer-brand-button-bg: #f6c35b;
    --footer-brand-button-hover: #e8ae42;
    --footer-brand-button-text: #5d1014;
    position: relative;
    margin-top: clamp(2rem, 4vw, 3rem) !important;
    padding: 0 !important;
    overflow: hidden;
    background: linear-gradient(180deg, var(--footer-brand-bg-start) 0%, var(--footer-brand-bg-end) 100%) !important;
    color: var(--footer-brand-text) !important;
    border-top: 0 !important;
}

body .site-footer.site-footer--hoang-anh::before,
body .site-footer.site-footer--hoang-anh::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 999px;
    opacity: 0.9;
}

body .site-footer.site-footer--hoang-anh::before {
    top: -12rem;
    left: -14rem;
    width: 40rem;
    height: 40rem;
    background: radial-gradient(circle, var(--footer-brand-glow-primary) 0%, rgba(246, 195, 91, 0) 72%);
}

body .site-footer.site-footer--hoang-anh::after {
    right: -18rem;
    bottom: -18rem;
    width: 48rem;
    height: 48rem;
    background: radial-gradient(circle, var(--footer-brand-glow-secondary) 0%, rgba(255, 155, 122, 0) 70%);
}

body .site-footer.site-footer--hoang-anh .container {
    position: relative;
    z-index: 1;
}

body .site-footer.site-footer--hoang-anh .site-footer__shell {
    position: relative;
    display: grid;
    gap: clamp(2rem, 4vw, 3rem);
    padding: clamp(3.2rem, 6vw, 4.6rem) 0 1.1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: end;
    padding-bottom: clamp(1.8rem, 3vw, 2.5rem);
    border-bottom: 1px solid var(--footer-brand-divider);
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-copy {
    min-width: 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__brand-top {
    display: flex;
    align-items: center;
    margin-bottom: 1.2rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__logo {
    display: block;
    width: auto;
    height: clamp(3.4rem, 5vw, 4.4rem);
}

body .site-footer.site-footer--hoang-anh .site-footer__title {
    margin: 0;
    max-width: 14ch;
    color: var(--footer-brand-text) !important;
    font-family: var(--app-sans-font) !important;
    font-size: clamp(2rem, 4vw, 3.3rem);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.05em;
}

body .site-footer.site-footer--hoang-anh .site-footer__lead {
    margin: 1rem 0 0;
    max-width: 52ch;
    color: var(--footer-brand-text-soft) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 1rem;
    line-height: 1.7;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-cta {
    display: grid;
    align-content: end;
    gap: 1rem;
    min-width: 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-form-title {
    margin: 0;
    color: var(--footer-brand-text) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.2;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline {
    display: grid;
    gap: 1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__field span {
    color: var(--footer-brand-text-soft);
    font-family: var(--app-sans-font) !important;
    font-size: 0.9rem;
    font-weight: 700;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__field input {
    width: 100%;
    min-height: 3.35rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.08);
    color: var(--footer-brand-text);
    box-shadow: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__field input::placeholder {
    color: rgba(255, 236, 227, 0.48);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__field input:focus {
    border-color: var(--footer-brand-accent);
    box-shadow: 0 0 0 3px rgba(246, 195, 91, 0.14);
    background: rgba(255, 255, 255, 0.12);
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-actions--inline {
    display: flex;
    align-items: center;
    gap: 1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-submit {
    width: auto;
    min-width: 12rem;
    min-height: 3.35rem;
    padding: 0.9rem 1.6rem;
    background: #a61d21;
    color: #ffffff;
    box-shadow: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-submit:hover,
body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-submit:focus-visible {
    background: #8f171b;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-feedback {
    min-height: 1.5rem;
    margin: 0;
    color: var(--footer-brand-text-soft);
    font-size: 0.95rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-feedback[data-tone="success"] {
    color: #d7ffd8;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-feedback[data-tone="error"] {
    color: #ffd8d8;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-mark {
    position: relative;
    width: 3.6rem;
    height: 4.2rem;
    color: var(--footer-brand-accent);
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-mark::before,
body .site-footer.site-footer--hoang-anh .site-footer__hero-mark::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 2.9rem;
    height: 1.6rem;
    background: currentColor;
    transform: translateX(-50%);
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-mark::before {
    top: 0.1rem;
    border-radius: 0 0 1.5rem 1.5rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-mark::after {
    bottom: 0.1rem;
    border-radius: 1.5rem 1.5rem 0 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-field-label {
    color: var(--footer-brand-text-muted);
    font-family: var(--app-sans-font) !important;
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1.3;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-field-shell {
    display: flex;
    align-items: flex-end;
    gap: 1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-field-value {
    display: inline-flex;
    align-items: flex-end;
    flex: 1 1 auto;
    min-height: 3.4rem;
    padding: 0 0 0.8rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
    color: var(--footer-brand-text);
    font-family: var(--app-sans-font) !important;
    font-size: 1.02rem;
    font-weight: 600;
    text-decoration: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__hero-field-value:hover,
body .site-footer.site-footer--hoang-anh .site-footer__hero-field-value:focus-visible {
    border-bottom-color: rgba(255, 255, 255, 0.72);
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 0.92fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
}

body .site-footer.site-footer--hoang-anh .site-footer__panel {
    min-width: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel-title {
    margin: 0 0 1.05rem;
    color: var(--footer-brand-text) !important;
    font-family: var(--app-sans-font) !important;
    font-size: clamp(1.15rem, 1.6vw, 1.5rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.03em;
    text-transform: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__lead--panel {
    max-width: none;
    margin-top: 0;
    font-size: 0.98rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__list,
body .site-footer.site-footer--hoang-anh .site-footer__nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__list {
    display: grid;
    gap: 1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__item {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.7rem;
    height: 2.7rem;
    flex: 0 0 2.7rem;
    border-radius: 999px;
    background: var(--footer-brand-accent-soft);
    color: var(--footer-brand-accent-strong);
}

body .site-footer.site-footer--hoang-anh .site-footer__icon svg {
    display: block;
    width: 1.16rem;
    height: 1.16rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__item-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__item-copy strong,
body .site-footer.site-footer--hoang-anh .site-footer__callout-copy strong {
    color: var(--footer-brand-text) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: 0;
    text-transform: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__item-copy span,
body .site-footer.site-footer--hoang-anh .site-footer__callout-copy span {
    color: var(--footer-brand-text-soft) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 0.98rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

body .site-footer.site-footer--hoang-anh .site-footer__link {
    color: rgba(255, 247, 242, 0.92);
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

body .site-footer.site-footer--hoang-anh .site-footer__link:hover,
body .site-footer.site-footer--hoang-anh .site-footer__link:focus-visible {
    color: #ffffff;
    border-bottom-color: rgba(255, 255, 255, 0.68);
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__sep {
    display: inline-block;
    margin: 0 0.35rem;
    color: rgba(255, 255, 255, 0.34);
}

body .site-footer.site-footer--hoang-anh .site-footer__callout {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-top: 1.3rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__callout-copy {
    display: grid;
    gap: 0.18rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__nav-list {
    display: grid;
    gap: 0.72rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.68rem;
    color: var(--footer-brand-text-soft);
    font-family: var(--app-sans-font) !important;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.55;
    text-decoration: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__nav-link::before {
    content: "";
    width: 0.42rem;
    height: 0.42rem;
    flex: 0 0 0.42rem;
    border-top: 2px solid var(--footer-brand-accent-strong);
    border-right: 2px solid var(--footer-brand-accent-strong);
    transform: rotate(45deg);
}

body .site-footer.site-footer--hoang-anh .site-footer__nav-link:hover,
body .site-footer.site-footer--hoang-anh .site-footer__nav-link:focus-visible {
    color: #ffffff;
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__brand-actions {
    display: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 10.25rem;
    min-height: 3rem;
    padding: 0.9rem 1.5rem;
    border: 0;
    border-radius: 0.9rem;
    background: var(--footer-brand-button-bg);
    color: var(--footer-brand-button-text);
    font-family: var(--app-sans-font) !important;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0;
    cursor: pointer;
    box-shadow: none !important;
    transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
    box-shadow: 0 14px 28px rgba(48, 8, 11, 0.22) !important;
}

body .site-footer.site-footer--hoang-anh .site-footer__consultation-trigger:hover,
body .site-footer.site-footer--hoang-anh .site-footer__consultation-trigger:focus-visible {
    background: var(--footer-brand-button-hover);
    transform: translateY(-1px);
    box-shadow: 0 18px 32px rgba(48, 8, 11, 0.28) !important;
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    padding-top: 0.85rem;
    border-top: 1px solid var(--footer-brand-divider);
}

body .site-footer.site-footer--hoang-anh .site-footer__bottom-brand {
    display: flex;
    align-items: center;
}

body .site-footer.site-footer--hoang-anh .site-footer__bottom-logo {
    display: block;
    width: auto;
    height: 2.6rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__bottom-links {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.95rem;
    flex-wrap: wrap;
}

body .site-footer.site-footer--hoang-anh .site-footer__bottom-links a {
    color: var(--footer-brand-text-soft);
    font-family: var(--app-sans-font) !important;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__bottom-links a:hover,
body .site-footer.site-footer--hoang-anh .site-footer__bottom-links a:focus-visible {
    color: #ffffff;
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__social {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.65rem;
    height: 2.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: var(--footer-brand-text);
    transition: background-color 0.18s ease, transform 0.18s ease;
}

body .site-footer.site-footer--hoang-anh .site-footer__social-link svg {
    display: block;
    width: 1rem;
    height: 1rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__social-link:hover,
body .site-footer.site-footer--hoang-anh .site-footer__social-link:focus-visible {
    background: rgba(246, 195, 91, 0.24);
    transform: translateY(-1px);
    outline: none;
}

body .site-footer.site-footer--hoang-anh .site-footer__legal {
    padding-top: 0;
}

body .site-footer.site-footer--hoang-anh .site-footer__copyright {
    margin: 0;
    color: var(--footer-brand-text-muted) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 0.92rem;
    line-height: 1.5;
}

@media (max-width: 1180px) {
    body .site-footer.site-footer--hoang-anh .site-footer__hero,
    body .site-footer.site-footer--hoang-anh .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body .site-footer.site-footer--hoang-anh .site-footer__bottom {
        flex-wrap: wrap;
    }
}

@media (max-width: 760px) {
    body .site-footer.site-footer--hoang-anh .site-footer__shell {
        gap: 1.6rem;
        padding-top: 2.6rem;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__hero,
    body .site-footer.site-footer--hoang-anh .site-footer__grid,
    body .site-footer.site-footer--hoang-anh .site-footer__bottom {
        grid-template-columns: 1fr;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__hero-field-shell,
    body .site-footer.site-footer--hoang-anh .site-footer__bottom {
        flex-direction: column;
        align-items: stretch;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-fields {
        grid-template-columns: 1fr;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-actions--inline {
        flex-direction: column;
        align-items: stretch;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-form--inline .site-footer__consultation-submit {
        width: 100%;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__consultation-trigger {
        width: 100%;
    }

    body .site-footer.site-footer--hoang-anh .site-footer__bottom-links {
        justify-content: flex-start;
    }
}

/* Wider desktop homepage shell */
@media (min-width: 1200px) {
    body.home-page {
        --home-desktop-shell-width: min(2100px, calc(100vw - 2.5rem));
        --home-hero-shell-width: var(--home-desktop-shell-width);
        --home-hero-shell-gutter: max(1.25rem, calc((100vw - var(--home-hero-shell-width)) / 2));
    }

    body.home-page .home-section > .container,
    body.home-page .site-footer.site-footer--hoang-anh .container {
        width: var(--home-desktop-shell-width) !important;
        max-width: var(--home-desktop-shell-width) !important;
    }
}

/* Homepage cards aligned to Nicdark editorial reference */
body.home-page {
    --home-reference-card-border: #203a67;
    --home-reference-card-title: #173d6b;
    --home-reference-card-meta: #49586f;
    --home-reference-card-copy: #465365;
    --home-reference-card-button: #050505;
    --home-reference-card-button-hover: #1b1b1b;
}

body.home-page .blog-list,
body.home-page .course-grid,
body.home-page .home-exams-grid,
body.home-page .home-games-grid {
    gap: 1.9rem !important;
}

body.home-page .blog-card,
body.home-page .home-main--guest .home-courses .course-card,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card,
body.home-page .home-main--guest .home-exams .exam-home-card,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card,
body.home-page .home-game-card {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100%;
    padding: 0 !important;
    border: 1px solid var(--home-reference-card-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden;
    transform: none !important;
    text-decoration: none;
}

body.home-page .blog-card:hover,
body.home-page .blog-card:focus-within,
body.home-page .home-main--guest .home-courses .course-card:hover,
body.home-page .home-main--guest .home-courses .course-card:focus-within,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:focus-within,
body.home-page .home-main--guest .home-exams .exam-home-card:hover,
body.home-page .home-main--guest .home-exams .exam-home-card:focus-within,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card:focus-within,
body.home-page .home-game-card:hover,
body.home-page .home-game-card:focus-within {
    border-color: var(--home-reference-card-border) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.home-page .home-games .home-game-card,
body.home-page .home-games .home-game-card:hover,
body.home-page .home-games .home-game-card:focus-within {
    border-color: rgba(32, 58, 103, 0.24) !important;
}

body.home-page .blog-thumb,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__thumb,
body.home-page .home-game-card__thumb {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #e9edf3 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb-wrapper {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #e9edf3 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.home-page .blog-thumb img,
body.home-page .home-main--guest .home-courses .course-thumb,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb img,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__thumb img,
body.home-page .home-game-card__thumb img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center;
    transform: none !important;
    transition: none !important;
}

body.home-page .blog-card:hover .blog-thumb img,
body.home-page .home-game-card:hover .home-game-card__thumb img {
    transform: none !important;
}

body.home-page .blog-info,
body.home-page .home-main--guest .home-courses .course-body,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-body,
body.home-page .home-main--guest .home-exams .exam-home-card__body,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__body,
body.home-page .home-game-card__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 1.15rem;
    padding: 2rem 2rem 2.2rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card__footer,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__footer {
    display: block !important;
    padding: 0 2rem 2.2rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .blog-meta,
body.home-page .home-main--guest .home-exams .exam-home-card__tags,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__tags {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.home-page .blog-meta span,
body.home-page .home-main--guest .home-exams .exam-home-tag,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-tag {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--home-reference-card-meta) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

body.home-page .blog-meta span + span,
body.home-page .home-main--guest .home-exams .exam-home-tag + .exam-home-tag,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-tag + .exam-home-tag {
    position: relative;
    padding-left: 1rem !important;
}

body.home-page .blog-meta span + span::before,
body.home-page .home-main--guest .home-exams .exam-home-tag + .exam-home-tag::before,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-tag + .exam-home-tag::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 0.95rem;
    background: rgba(23, 61, 107, 0.45);
    transform: translateY(-50%);
}

body.home-page .home-main--guest .home-courses .course-summary,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-summary,
body.home-page .home-game-card__count {
    order: -1;
    margin: 0 !important;
    color: var(--home-reference-card-meta) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.home-page .blog-info h3,
body.home-page .home-main--guest .home-courses .course-title,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-title,
body.home-page .home-main--guest .home-exams .exam-home-card h3,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card h3,
body.home-page .home-game-card h3 {
    margin: 0 !important;
    color: var(--home-reference-card-title) !important;
    font-family: var(--app-sans-font) !important;
    font-size: clamp(1.9rem, 2vw, 2.3rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    text-transform: none !important;
    display: block !important;
}

body.home-page .blog-excerpt,
body.home-page .home-main--guest .home-exams .exam-home-card p[data-exam-meta],
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card p[data-exam-meta],
body.home-page .home-game-card__summary {
    margin: 0 !important;
    color: var(--home-reference-card-copy) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 1.02rem !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    letter-spacing: 0 !important;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home-page .home-main--guest .home-exams .exam-home-card__info,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__info,
body.home-page .home-main--guest .home-exams .exam-home-duration,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-duration,
body.home-page .home-game-card__arrow {
    display: none !important;
}

body.home-page .blog-link,
body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card,
body.home-page .home-main--guest .home-exams .exam-home-action,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-action,
body.home-page .home-game-card__footer {
    display: inline-flex !important;
    align-items: center;
    justify-content: center !important;
    align-self: flex-start;
    width: auto !important;
    min-height: 0 !important;
    margin-top: auto !important;
    padding: 0.95rem 1.5rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--home-reference-card-button) !important;
    color: #ffffff !important;
    font-family: var(--app-sans-font) !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.home-page .blog-link:hover,
body.home-page .blog-link:focus-visible,
body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:hover,
body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:focus-visible,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:focus-visible,
body.home-page .home-main--guest .home-exams .exam-home-action:hover,
body.home-page .home-main--guest .home-exams .exam-home-action:focus-visible,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-action:hover,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-action:focus-visible,
body.home-page .home-game-card__footer:hover,
body.home-page .home-game-card__footer:focus-visible {
    background: var(--home-reference-card-button-hover) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

body.home-page .blog-link::after,
body.home-page .course-action .course-action-icon,
body.home-page .home-main--guest .home-exams .exam-home-action::after,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-action::after {
    content: none !important;
    display: none !important;
}

body.home-page .course-action-label,
body.home-page .home-game-card__meta {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}

@media (max-width: 900px) {
    body.home-page .blog-info,
    body.home-page .home-main--guest .home-courses .course-body,
    body.home-page .home-main:not(.home-main--guest) .home-courses .course-body,
    body.home-page .home-main--guest .home-exams .exam-home-card__body,
    body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__body,
    body.home-page .home-main--guest .home-exams .exam-home-card__footer,
    body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__footer,
    body.home-page .home-game-card__body {
        padding-left: 1.4rem !important;
        padding-right: 1.4rem !important;
    }

    body.home-page .blog-info,
    body.home-page .home-main--guest .home-courses .course-body,
    body.home-page .home-main:not(.home-main--guest) .home-courses .course-body,
    body.home-page .home-main--guest .home-exams .exam-home-card__body,
    body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__body,
    body.home-page .home-game-card__body {
        padding-top: 1.45rem !important;
        padding-bottom: 1.6rem !important;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card__footer,
    body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__footer {
        padding-bottom: 1.6rem !important;
    }

    body.home-page .blog-info h3,
    body.home-page .home-main--guest .home-courses .course-title,
    body.home-page .home-main:not(.home-main--guest) .home-courses .course-title,
    body.home-page .home-main--guest .home-exams .exam-home-card h3,
    body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card h3,
    body.home-page .home-game-card h3 {
        font-size: 1.65rem !important;
    }

    body.home-page .blog-link,
    body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card,
    body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card,
    body.home-page .home-main--guest .home-exams .exam-home-action,
    body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-action,
    body.home-page .home-game-card__footer {
        width: auto !important;
    }
}

/* Final homepage hero slider fill */
body.home-page .home-hero--slider-only {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home-page .home-hero--slider-only .hero-shell {
    margin-top: 0 !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider,
body.home-page .home-hero--slider-only .hero-slider--full .slider-empty {
    border: 0 !important;
    background: transparent !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slide img {
    object-fit: cover !important;
    object-position: center center !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control {
    width: auto !important;
    height: auto !important;
    padding: 0.2rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: #6a4f00 !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control span {
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control svg {
    width: 2.15rem !important;
    height: 2.15rem !important;
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control:hover,
body.home-page .home-hero--slider-only .hero-slider--full .slider-control:focus,
body.home-page .home-hero--slider-only .hero-slider--full .slider-control:focus-visible {
    background: transparent !important;
    border: 0 !important;
    color: #3e2f00 !important;
    box-shadow: none !important;
    outline: none;
    transform: translateY(-50%) scale(1.04);
}

body.home-page .home-hero--slider-only .hero-slider--full .slider-control:focus-visible {
    box-shadow: none !important;
}

@media (min-width: 901px) {
    body.home-page {
        --home-hero-shell-width: calc(100vw - 0.5rem);
        --home-hero-shell-gutter: 0.25rem;
    }

    body.home-page .home-hero--slider-only .hero-shell {
        width: calc(100vw - 0.5rem) !important;
        max-width: none !important;
        margin-left: calc(50% - 50vw + 0.25rem) !important;
        margin-right: calc(50% - 50vw + 0.25rem) !important;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider,
    body.home-page .home-hero--slider-only .hero-slider--full .slider-empty {
        aspect-ratio: 2172 / 724;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-control--prev {
        left: 1.35rem;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-control--next {
        right: 1.35rem;
    }
}

@media (max-width: 900px) {
    body.home-page .home-hero--slider-only .hero-slider--full .slider-control {
        padding: 0.15rem !important;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-control svg {
        width: 1.55rem !important;
        height: 1.55rem !important;
    }
}

/* Final guest class cards aligned with editorial homepage cards */
body.home-page .class-grid.class-grid--guest-showcase {
    gap: clamp(1.8rem, 2vw, 2.35rem) !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted {
    position: relative;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100%;
    padding: 0 !important;
    gap: 0 !important;
    border: 1px solid var(--home-reference-card-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted:hover,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted:focus-within {
    border-color: var(--home-reference-card-border) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__lead {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media {
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #e9edf3 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media::after,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__badge {
    content: none !important;
    display: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
    transition: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__content {
    display: flex !important;
    flex: 1 1 auto;
    flex-direction: column !important;
    gap: 1.2rem !important;
    padding: 2rem 2rem 2.2rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__eyebrow-row,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__eyebrow {
    display: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
    margin: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    color: var(--home-reference-card-title) !important;
    font-family: var(--app-sans-font) !important;
    font-size: clamp(1.9rem, 2vw, 2.3rem) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    text-transform: none !important;
    display: block !important;
    -webkit-line-clamp: unset !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__summary {
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: var(--home-reference-card-copy) !important;
    font-family: var(--app-sans-font) !important;
    font-size: 1.02rem !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    letter-spacing: 0 !important;
    display: block !important;
    overflow: visible !important;
    -webkit-line-clamp: unset !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions.is-attendance-completed {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.95rem !important;
    max-width: none !important;
    margin-top: auto !important;
    padding-top: 0.35rem !important;
    border: 0 !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__action-main {
    display: flex !important;
    align-items: flex-start;
    justify-content: flex-start;
    width: auto !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__action-main::before {
    content: none !important;
    display: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: flex-start !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0.95rem 1.5rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--home-reference-card-button) !important;
    color: #ffffff !important;
    font-family: var(--app-sans-font) !important;
    font-size: 0.98rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transform: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button:hover,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button:focus-visible {
    background: var(--home-reference-card-button-hover) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-label {
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: inherit !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-icon {
    display: none !important;
}

@media (max-width: 900px) {
    body.home-page .class-grid.class-grid--guest-showcase {
        gap: 1.5rem !important;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__content {
        gap: 1rem !important;
        padding: 1.45rem 1.4rem 1.6rem !important;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
        font-size: 1.65rem !important;
    }
}

/* Homepage breathing room */
body.home-page {
    --home-page-gutter: clamp(1.15rem, 5vw, 6rem);
    --home-content-width: min(var(--bee-max-width), calc(100vw - (var(--home-page-gutter) * 2)));
}

body.home-page .home-section > .container,
body.home-page .site-footer.site-footer--hoang-anh .container {
    width: var(--home-content-width) !important;
    max-width: var(--home-content-width) !important;
}

body.home-page .home-hero--slider-only {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.home-page .home-hero--slider-only .hero-shell {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.home-page .home-hero--slider-only .slider {
    border-radius: 0 !important;
}

body.home-page .site-header--compass.container,
body.home-page .site-header--compass.site-header.exam-page-header.container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding-left: max(0rem, calc((100vw - var(--home-content-width)) / 2)) !important;
    padding-right: max(0rem, calc((100vw - var(--home-content-width)) / 2)) !important;
    top: 0 !important;
}

@media (min-width: 1200px) {
    body.home-page {
        --home-desktop-shell-width: min(1920px, calc(100vw - (var(--home-page-gutter) * 2)));
        --home-hero-shell-width: var(--home-desktop-shell-width);
        --home-hero-shell-gutter: max(var(--home-page-gutter), calc((100vw - var(--home-hero-shell-width)) / 2));
        --home-content-width: var(--home-desktop-shell-width);
    }
}

@media (max-width: 640px) {
    body.home-page {
        --home-page-gutter: clamp(1rem, 4.8vw, 1.35rem);
    }

    body.home-page .site-header--compass.container,
    body.home-page .site-header--compass.site-header.exam-page-header.container {
        margin-top: 0 !important;
        border-radius: 0 !important;
    }
}

/* Softer class card borders */
body.home-page .class-section .class-showcase-card,
body.home-page .class-section .class-showcase-card:hover,
body.home-page .class-section .class-showcase-card:focus-within,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted:hover,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted:focus-within {
    border-color: #d5d9e1 !important;
}

body.home-page .home-courses .course-card,
body.home-page .home-courses .course-card:hover,
body.home-page .home-courses .course-card:focus-within,
body.home-page .class-section .course-card,
body.home-page .class-section .course-card:hover,
body.home-page .class-section .course-card:focus-within,
body.home-page .class-section .class-card,
body.home-page .class-section .class-card:hover,
body.home-page .class-section .class-card:focus-within,
body.home-page .class-section .class-card-content,
body.home-page .home-exams .exam-home-card,
body.home-page .home-exams .exam-home-card:hover,
body.home-page .home-exams .exam-home-card:focus-within,
body.home-page .blog-section .blog-card,
body.home-page .blog-section .blog-card:hover,
body.home-page .blog-section .blog-card:focus-within {
    border-color: #d5d9e1 !important;
}

body.home-page .home-main--guest .home-courses .course-card,
body.home-page .home-main--guest .home-courses .course-card:hover,
body.home-page .home-main--guest .home-courses .course-card:focus-within,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:focus-within {
    border: 1px solid #d5d9e1 !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card,
body.home-page .home-main--guest .home-exams .exam-home-card:hover,
body.home-page .home-main--guest .home-exams .exam-home-card:focus-within,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card:focus-within {
    border: 1px solid #d5d9e1 !important;
}

/* Space intro card away from the hero slider */
body.home-page .home-about {
    padding-top: clamp(2.75rem, 4.4vw, 5rem) !important;
}

@media (max-width: 640px) {
    body.home-page .home-about {
        padding-top: clamp(1.85rem, 7vw, 2.7rem) !important;
    }
}

/* Global red action buttons */
:root {
    --site-action-red: #8f171d;
    --site-action-red-hover: #741116;
    --site-action-red-shadow: rgba(143, 23, 29, 0.28);
}

body.home-page {
    --home-editorial-card-cta: var(--site-action-red);
    --home-editorial-card-cta-hover: var(--site-action-red-hover);
    --home-reference-card-button: var(--site-action-red);
    --home-reference-card-button-hover: var(--site-action-red-hover);
}

:where(
    .btn-login,
    .btn-primary,
    .auth-submit,
    .auth-submit--secondary,
    .auth-inline-btn,
    .auth-selection-item__btn,
    .course-action,
    .course-btn.primary,
    .class-card .class-learn-now-link,
    .class-attendance-cta__btn,
    .class-practice-card__action,
    .class-showcase-card__button,
    .exam-home-action,
    .exam-random-card__action,
    .blog-link,
    .home-game-card__footer,
    .home-exams-guest-cta,
    .home-gallery-cta,
    .home-exams-load-more .btn-ghost,
    .home-games-pagination__button,
    .home-games-filter-dropdown__button,
    .home-games-login-cta,
    .home-games-load-more .btn-ghost,
    .gallery-load-more__button,
    .section-switch-button,
    .exam-resume-btn--primary,
    .profile-shortcut-card__action,
    .profile-password-panel__open,
    .feedback-btn--primary,
    .notifications-head__actions .btn-ghost,
    .guardian-notification-item__action-btn,
    .site-footer__consultation-trigger,
    .site-footer__consultation-submit,
    .site-footer__consultation-success-button
):not(:disabled):not([disabled]):not(.is-disabled):not(.is-locked):not(.class-showcase-card__button--disabled) {
    background: var(--site-action-red) !important;
    border-color: var(--site-action-red) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px var(--site-action-red-shadow) !important;
}

:where(
    .btn-login,
    .btn-primary,
    .auth-submit,
    .auth-submit--secondary,
    .auth-inline-btn,
    .auth-selection-item__btn,
    .course-action,
    .course-btn.primary,
    .class-card .class-learn-now-link,
    .class-attendance-cta__btn,
    .class-practice-card__action,
    .class-showcase-card__button,
    .exam-home-action,
    .exam-random-card__action,
    .blog-link,
    .home-game-card__footer,
    .home-exams-guest-cta,
    .home-gallery-cta,
    .home-exams-load-more .btn-ghost,
    .home-games-pagination__button,
    .home-games-filter-dropdown__button,
    .home-games-login-cta,
    .home-games-load-more .btn-ghost,
    .gallery-load-more__button,
    .section-switch-button,
    .exam-resume-btn--primary,
    .profile-shortcut-card__action,
    .profile-password-panel__open,
    .feedback-btn--primary,
    .notifications-head__actions .btn-ghost,
    .guardian-notification-item__action-btn,
    .site-footer__consultation-trigger,
    .site-footer__consultation-submit,
    .site-footer__consultation-success-button
):not(:disabled):not([disabled]):not(.is-disabled):not(.is-locked):not(.class-showcase-card__button--disabled):hover,
:where(
    .btn-login,
    .btn-primary,
    .auth-submit,
    .auth-submit--secondary,
    .auth-inline-btn,
    .auth-selection-item__btn,
    .course-action,
    .course-btn.primary,
    .class-card .class-learn-now-link,
    .class-attendance-cta__btn,
    .class-practice-card__action,
    .class-showcase-card__button,
    .exam-home-action,
    .exam-random-card__action,
    .blog-link,
    .home-game-card__footer,
    .home-exams-guest-cta,
    .home-gallery-cta,
    .home-exams-load-more .btn-ghost,
    .home-games-pagination__button,
    .home-games-filter-dropdown__button,
    .home-games-login-cta,
    .home-games-load-more .btn-ghost,
    .gallery-load-more__button,
    .section-switch-button,
    .exam-resume-btn--primary,
    .profile-shortcut-card__action,
    .profile-password-panel__open,
    .feedback-btn--primary,
    .notifications-head__actions .btn-ghost,
    .guardian-notification-item__action-btn,
    .site-footer__consultation-trigger,
    .site-footer__consultation-submit,
    .site-footer__consultation-success-button
):not(:disabled):not([disabled]):not(.is-disabled):not(.is-locked):not(.class-showcase-card__button--disabled):focus-visible {
    background: var(--site-action-red-hover) !important;
    border-color: var(--site-action-red-hover) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 34px var(--site-action-red-shadow) !important;
}

/* Square home gallery layout */
body.home-page .home-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: clamp(0.85rem, 1.6vw, 1.35rem) !important;
    aspect-ratio: auto !important;
}

body.home-page .home-gallery-grid .home-gallery-card {
    grid-column: auto !important;
    grid-row: auto !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
}

body.home-page .home-gallery-grid .home-gallery-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.home-page .home-gallery__filters {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
    margin: -0.35rem 0 0.85rem;
    padding: 0.1rem 0 0.2rem;
    overflow-x: auto;
    scrollbar-width: thin;
}

body.home-page .home-gallery__filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 2.4rem;
    flex: 0 0 auto;
    padding: 0.55rem 0.9rem;
    border: 1px solid rgba(143, 23, 29, 0.16);
    border-radius: 999px;
    background: #ffffff;
    color: #8f171d;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

body.home-page .home-gallery__filter span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    background: rgba(143, 23, 29, 0.08);
    color: #8f171d;
    font-size: 0.78rem;
    line-height: 1;
}

body.home-page .home-gallery__filter:hover,
body.home-page .home-gallery__filter:focus-visible {
    border-color: rgba(143, 23, 29, 0.36);
    background: rgba(143, 23, 29, 0.04);
    color: #7c1319;
    outline: none;
}

body.home-page .home-gallery__filter.is-active {
    border-color: #8f171d;
    background: #8f171d;
    color: #ffffff;
}

body.home-page .home-gallery__filter.is-active span {
    background: #ffffff;
    color: #8f171d;
}

body.home-page .home-gallery__filter:disabled {
    cursor: wait;
    opacity: 0.72;
}

body.home-page .home-gallery__status,
body.home-page .home-gallery__empty {
    margin: 0 0 0.85rem;
    color: rgba(28, 27, 27, 0.64);
    font-size: 0.94rem;
    line-height: 1.45;
}

body.home-page .home-gallery__showcase.is-loading {
    opacity: 0.58;
    transition: opacity 0.18s ease;
}

/* Hide section eyebrow labels */
body.home-page .section-kicker,
body.gallery-page .gallery-kicker {
    display: none !important;
}

/* Keep the gallery heading on one line on wider screens */
body.home-page .home-gallery__intro .section-text {
    width: 100% !important;
    max-width: none !important;
}

body.home-page .home-gallery__intro .section-text h2 {
    width: 100% !important;
    max-width: none !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    body.home-page .home-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.home-page .home-gallery-grid {
        grid-template-columns: 1fr !important;
    }

    body.home-page .home-gallery-grid .home-gallery-card {
        aspect-ratio: 1 / 1 !important;
    }

    body.home-page .home-gallery__intro .section-text h2 {
        white-space: normal !important;
    }
}

/* Unified frontend typography scale */
body {
    font-size: 15px !important;
}

body :where(
    p,
    li,
    dd,
    dt,
    label,
    input,
    textarea,
    select,
    button,
    small,
    figcaption,
    .btn-primary,
    .btn-login,
    .auth-submit,
    .course-action,
    .exam-home-action,
    .blog-link,
    .home-game-card__footer,
    .gallery-load-more__button,
    [class*="__body"],
    [class*="-body"],
    [class*="__content"],
    [class*="-content"],
    [class*="__copy"],
    [class*="-copy"],
    [class*="__description"],
    [class*="-description"],
    [class*="__excerpt"],
    [class*="-excerpt"],
    [class*="__meta"],
    [class*="-meta"],
    [class*="__note"],
    [class*="-note"],
    [class*="__summary"],
    [class*="-summary"],
    [class*="__text"],
    [class*="-text"]
) {
    font-size: 15px !important;
}

body :where(
    p,
    li,
    dd,
    dt,
    .section-text p,
    [class*="__description"],
    [class*="-description"],
    [class*="__excerpt"],
    [class*="-excerpt"],
    [class*="__summary"],
    [class*="-summary"]
) {
    line-height: 1.6 !important;
}

body input::placeholder,
body textarea::placeholder {
    font-size: 15px !important;
}

/* Unified card action spacing */
body.home-page {
    --card-action-gap: 40px;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card,
body.home-page .course-card .course-action,
body.home-page .blog-card .blog-link,
body.home-page .home-game-card .home-game-card__footer,
body.home-page .class-card .class-body > .btn-primary,
body.home-page .class-card .class-learn-now-link,
body.home-page .class-card .class-zoom-link,
body.home-page .exam-random-card__actions,
body.home-page .class-showcase-card__actions,
body.home-page .class-showcase-card__footer,
body.home-page .class-practice-card__footer,
body.home-page .exam-home-card__footer,
body.home-page .home-main--guest .home-exams .exam-home-card__footer,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__footer,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions.is-attendance-completed {
    margin-top: var(--card-action-gap) !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card__body,
body.home-page .home-main:not(.home-main--guest) .home-exams .exam-home-card__body {
    padding-bottom: 0 !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions.is-attendance-completed {
    padding-top: 0 !important;
}

body.home-page .exam-home-card__footer .exam-home-action,
body.home-page .class-practice-card__footer .class-practice-card__action,
body.home-page .exam-random-card__actions .exam-random-card__action,
body.home-page .class-showcase-card__actions .class-showcase-card__button,
body.home-page .class-showcase-card__actions .class-showcase-card__attendance-btn,
body.home-page .class-showcase-card__footer .class-showcase-card__button {
    margin-top: 0 !important;
}

/* Redesigned exam category filters */
body.home-page .home-exams > .container > .home-exams-categories {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 1.5rem 0 1.6rem !important;
    padding: 0 !important;
    border: 1px solid #d5d9e1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: thin;
}

body.home-page .home-exams > .container > .home-exams-categories::before {
    content: "Danh m\1EE5 c";
    position: sticky;
    left: 0;
    z-index: 2;
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 48px;
    padding: 0 1rem;
    border-right: 1px solid #d5d9e1;
    background: #f8f9fb;
    color: var(--site-action-red, #8f171d);
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.home-page .home-exams > .container > .home-exams-categories::-webkit-scrollbar,
body.home-page .class-showcase-card__practice-filters.home-exams-categories::-webkit-scrollbar {
    height: 6px;
}

body.home-page .home-exams > .container > .home-exams-categories::-webkit-scrollbar-thumb,
body.home-page .class-showcase-card__practice-filters.home-exams-categories::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background: #c8ced8;
}

body.home-page .home-exams > .container > .home-exams-categories .exam-category-pill {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.55rem !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 1rem !important;
    border: 0 !important;
    border-right: 1px solid #d5d9e1 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #21324a !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transform: none !important;
}

body.home-page .home-exams > .container > .home-exams-categories .exam-category-pill:last-child {
    border-right: 0 !important;
}

body.home-page .home-exams > .container > .home-exams-categories .exam-category-pill:hover,
body.home-page .home-exams > .container > .home-exams-categories .exam-category-pill:focus-visible {
    background: #fff6f6 !important;
    color: var(--site-action-red, #8f171d) !important;
    outline: none !important;
}

body.home-page .home-exams > .container > .home-exams-categories .exam-category-pill.is-active {
    border-color: var(--site-action-red, #8f171d) !important;
    background: var(--site-action-red, #8f171d) !important;
    color: #ffffff !important;
}

body.home-page .home-exams > .container > .home-exams-categories .exam-category-pill span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 1.65rem !important;
    height: 1.35rem !important;
    padding: 0 0.45rem !important;
    border-radius: 8px !important;
    background: #eef1f5 !important;
    color: #5a6472 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body.home-page .home-exams > .container > .home-exams-categories .exam-category-pill.is-active span {
    background: #ffffff !important;
    color: var(--site-action-red, #8f171d) !important;
}

body.home-page .class-showcase-card__practice-filters.home-exams-categories {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin: 0 0 1rem !important;
    padding: 0 !important;
    border: 1px solid #d5d9e1 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
}

body.home-page .class-showcase-card__practice-filters.home-exams-categories .exam-category-pill {
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 0.75rem !important;
    border: 0 !important;
    border-right: 1px solid #d5d9e1 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #21324a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body.home-page .class-showcase-card__practice-filters.home-exams-categories .exam-category-pill:last-child {
    border-right: 0 !important;
}

body.home-page .class-showcase-card__practice-filters.home-exams-categories .exam-category-pill.is-active {
    background: var(--site-action-red, #8f171d) !important;
    color: #ffffff !important;
}

body.home-page .class-showcase-card__practice-filters.home-exams-categories .exam-category-pill span {
    min-width: 1.35rem !important;
    height: 1.1rem !important;
    padding: 0 0.3rem !important;
    border-radius: 8px !important;
    background: #eef1f5 !important;
    color: #5a6472 !important;
    font-size: 11px !important;
}

body.home-page .class-showcase-card__practice-filters.home-exams-categories .exam-category-pill.is-active span {
    background: #ffffff !important;
    color: var(--site-action-red, #8f171d) !important;
}

@media (max-width: 640px) {
    body.home-page .home-exams > .container > .home-exams-categories {
        margin: 1.1rem 0 1.25rem !important;
    }

    body.home-page .home-exams > .container > .home-exams-categories::before {
        min-height: 44px;
        padding: 0 0.8rem;
    }

    body.home-page .home-exams > .container > .home-exams-categories .exam-category-pill {
        min-height: 44px !important;
        padding: 0 0.85rem !important;
    }
}

/* Force content card thumbnails to 16:9 */
body.home-page .class-cover,
body.home-page .course-thumb-wrapper,
body.home-page .exam-home-card__thumb,
body.home-page .blog-thumb,
body.home-page .home-game-card__thumb,
body.home-page .class-practice-card__thumb,
body.home-page .class-showcase-card__media,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media,
body.post-page .post-related .blog-thumb {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.home-page .class-cover img,
body.home-page .course-thumb,
body.home-page .course-thumb-wrapper img,
body.home-page .exam-home-card__thumb img,
body.home-page .blog-thumb img,
body.home-page .home-game-card__thumb img,
body.home-page .class-practice-card__thumb img,
body.home-page .class-showcase-card__media img,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media img,
body.post-page .post-related .blog-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Exact 16:9 thumbnails for course, exam and blog cards */
body.home-page .home-courses .course-card .course-thumb-wrapper,
body.home-page .home-exams .exam-home-card .exam-home-card__thumb,
body.home-page .blog-section .blog-card .blog-thumb {
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

body.home-page .home-courses .course-card .course-thumb,
body.home-page .home-courses .course-card .course-thumb-wrapper img,
body.home-page .home-exams .exam-home-card .exam-home-card__thumb img,
body.home-page .blog-section .blog-card .blog-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* Home gallery: 4 x 4 square grid and matching CTA */
body.home-page .home-gallery-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 1rem !important;
    aspect-ratio: auto !important;
}

body.home-page .home-gallery-grid .home-gallery-card {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 4 !important;
}

body.home-page .home-gallery-grid .home-gallery-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

body.home-page .home-gallery__cta-wrap {
    display: flex !important;
    justify-content: center !important;
    margin-top: 40px !important;
}

body.home-page .home-gallery-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0.95rem 1.5rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--site-action-red, #8f171d) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

body.home-page .home-gallery-cta:hover,
body.home-page .home-gallery-cta:focus-visible {
    background: var(--site-action-red-hover, #741116) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (max-width: 900px) {
    body.home-page .home-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    body.home-page .home-gallery-grid {
        grid-template-columns: 1fr !important;
    }
}

/* FINAL HOTFIX 26B: enforce 3-column class lead at EOF */
@media (min-width: 1100px) {
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-areas: "leaderboard tasks feedback" !important;
        gap: 0.9rem !important;
        align-items: start !important;
        margin: 0 !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__leaderboard {
        grid-area: leaderboard !important;
        min-height: 100% !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media {
        grid-area: tasks !important;
        min-height: 100% !important;
        padding: 0.85rem !important;
        border-radius: 0.92rem !important;
        border: 1px solid rgba(168, 141, 84, 0.24) !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media::after,
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media > img {
        display: none !important;
        content: none !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media-dashboard {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.72rem !important;
        min-height: 100% !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media-title,
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media-progress-meta,
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media-progress-track {
        display: none !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media-todo {
        margin: 0 !important;
        padding: 0.72rem !important;
        border-radius: 0.76rem !important;
        border: 1px solid rgba(173, 148, 94, 0.24) !important;
        background: rgba(255, 252, 244, 0.86) !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media-todo h5 {
        margin: 0 0 0.48rem !important;
        color: #211a12 !important;
        font-size: 0.88rem !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
        text-transform: none !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media-todo ul[data-class-media-todo-pending],
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__media-todo ul[data-class-media-todo-completed] {
        max-height: 12.2rem !important;
        overflow-y: auto !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__lead-feedback {
        grid-area: feedback !important;
        min-height: 100% !important;
        padding: 0.85rem !important;
        border-radius: 0.92rem !important;
        border: 1px solid rgba(168, 141, 84, 0.24) !important;
        background: #ffffff !important;
        box-shadow: none !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0.62rem !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__lead-feedback h5 {
        margin: 0 !important;
        color: #211a12 !important;
        font-size: 1rem !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded > .class-showcase-card__lead .class-showcase-card__lead-feedback p {
        margin: 0 !important;
        color: rgba(49, 39, 25, 0.92) !important;
        font-size: 0.94rem !important;
        line-height: 1.52 !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded .class-showcase-card__leaderboard-avatar {
        display: none !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded .class-showcase-card__leaderboard-student {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 0 !important;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded .class-showcase-card__todo,
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded .class-showcase-card__notes {
        display: none !important;
    }
}

/* FINAL HOTFIX 27: rebuild home classroom layout to match legacy board layout */
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed {
    display: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) {
    padding: 0 !important;
    border: 1px solid rgba(203, 211, 227, 0.88) !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #f9fbff 0%, #f2f6ff 100%) !important;
    box-shadow: 0 28px 60px rgba(40, 76, 145, 0.12) !important;
    overflow: hidden !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
    padding: 24px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell * {
    box-sizing: border-box !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__headline {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__kicker {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    background: rgba(53, 104, 197, 0.1) !important;
    color: #2452a6 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__heading {
    margin: 0 !important;
    color: #17233f !important;
    font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__subheading {
    max-width: 720px !important;
    margin: 0 !important;
    color: rgba(23, 35, 63, 0.7) !important;
    font-size: 0.96rem !important;
    line-height: 1.6 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: min(100%, 360px) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__action-main,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__attendance {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    min-width: 180px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__attendance-meta {
    margin: 0 !important;
    color: rgba(23, 35, 63, 0.62) !important;
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
    text-align: right !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(179, 194, 225, 0.95) !important;
    background: rgba(255, 255, 255, 0.82) !important;
    color: #31486f !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab.is-active,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab:focus-visible {
    border-color: rgba(45, 96, 194, 0.22) !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef4ff 100%) !important;
    color: #173e8c !important;
    box-shadow: 0 12px 24px rgba(53, 104, 197, 0.12) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.88fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column {
    border-radius: 24px !important;
    border: 1px solid rgba(205, 214, 232, 0.95) !important;
    background: #ffffff !important;
    box-shadow: 0 16px 40px rgba(46, 79, 141, 0.08) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 22px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-label {
    color: #7184a8 !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__title {
    margin: 0 !important;
    color: #121f3d !important;
    font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
    line-height: 1.16 !important;
    font-weight: 900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #f4f7fe !important;
    color: #49618f !important;
    font-size: 0.77rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-progress-meta,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-copy {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-progress-meta span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-copy span {
    color: #6880ab !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-progress-meta strong,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-copy strong {
    color: #173e8c !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-progress,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-progress,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__progress {
    position: relative !important;
    height: 10px !important;
    border-radius: 999px !important;
    background: #e6ecf8 !important;
    overflow: hidden !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-progress span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-progress span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__progress span {
    display: block !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, #2d6be6 0%, #5da0ff 100%) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo.class-todo-home {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 18px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(214, 221, 235, 0.96) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%) !important;
    box-shadow: none !important;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded .class-showcase-card__todo.class-todo-home {
    display: flex !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__title,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-done {
    margin: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__title {
    color: #182441 !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__title strong,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-done span {
    color: #2c66d0 !important;
    font-weight: 900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-done {
    color: rgba(24, 36, 65, 0.62) !important;
    font-size: 0.86rem !important;
    line-height: 1.5 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    background: #edf3ff !important;
    color: #2252a9 !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__status {
    margin: 0 !important;
    padding: 10px 14px !important;
    border-radius: 16px !important;
    background: #f4f7fd !important;
    color: #4b628d !important;
    font-size: 0.87rem !important;
    line-height: 1.55 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    max-height: 268px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: auto !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__item {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 12px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(214, 221, 235, 0.94) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__item-title {
    color: #182441 !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__item-date,
body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__empty {
    color: rgba(24, 36, 65, 0.58) !important;
    font-size: 0.82rem !important;
    line-height: 1.5 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-completed {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding-top: 6px !important;
    border-top: 1px dashed rgba(198, 208, 227, 0.92) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-completed-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    color: rgba(24, 36, 65, 0.62) !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__list--completed {
    max-height: 132px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 18px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-label {
    color: #7a8eb3 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-body {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-avatar,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-avatar img,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-avatar-fallback {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-avatar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: linear-gradient(180deg, #ebf2ff 0%, #dbe7ff 100%) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-avatar img {
    display: block !important;
    object-fit: cover !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-avatar-fallback {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #285fca !important;
    font-size: 0.96rem !important;
    font-weight: 900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__insights {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 18px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column {
    padding: 20px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    min-height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-head h4,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-head h4,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column-title {
    margin: 0 !important;
    color: #17233f !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-head span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-head span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-count {
    color: #6780ac !important;
    font-size: 0.84rem !important;
    font-weight: 800 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    max-height: 304px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: auto !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(214, 221, 235, 0.94) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-student {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-name,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-score {
    color: #182441 !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    min-height: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-head,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-copy,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-empty {
    margin: 0 !important;
    color: rgba(23, 35, 63, 0.78) !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-meta {
    margin: -4px 0 0 !important;
    color: #6f85b2 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-copy-date {
    color: #6f85b2 !important;
    font-weight: 800 !important;
}


body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-eyebrow {
    color: #6f85b2 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "eyebrow count"
        "title count" !important;
    align-items: center !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-eyebrow {
    grid-area: eyebrow !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column-title {
    grid-area: title !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-count {
    grid-area: count !important;
    align-self: center !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 18px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(214, 221, 235, 0.94) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__head,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__head h5,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__caption,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-empty {
    margin: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__head h5 {
    color: #17233f !important;
    font-size: 0.98rem !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__head span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__meta,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__caption,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-empty {
    color: rgba(23, 35, 63, 0.64) !important;
    font-size: 0.84rem !important;
    line-height: 1.5 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 116px !important;
    min-height: 42px !important;
    padding: 10px 16px !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #2f6fe8 0%, #235dc6 100%) !important;
    color: #ffffff !important;
    font-size: 0.86rem !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 24px rgba(47, 111, 232, 0.22) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action.is-locked,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action[aria-disabled='true'] {
    background: #d6dceb !important;
    color: #7387ab !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

@media (max-width: 1240px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell-body,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__main {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 900px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell {
        padding: 18px !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__header,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__toolbar,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-head,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-head {
        flex-direction: column !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__toolbar,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__action-main,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__attendance {
        width: 100% !important;
        min-width: 0 !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__attendance-meta {
        text-align: left !important;
    }
}

@media (max-width: 640px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell {
        padding: 14px !important;
        gap: 14px !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column {
        padding: 16px !important;
        border-radius: 20px !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-student {
        grid-template-columns: 30px minmax(0, 1fr) !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-avatar {
        width: 30px !important;
        height: 30px !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__footer {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action {
        width: 100% !important;
    }
}

/* FINAL HOTFIX 28: normalize classroom board to current editorial home style */
body.home-page .class-showcase-card:not(.is-restricted) {
    border-color: var(--home-editorial-card-border-strong) !important;
    border-radius: 0 !important;
    background: var(--home-editorial-card-surface) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell {
    gap: 1rem !important;
    padding: 1.35rem !important;
    background: var(--home-editorial-card-surface) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell-body,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__main {
    align-items: start !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell-body {
    grid-template-columns: minmax(0, 1.6fr) minmax(18rem, 0.92fr) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__main {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.9fr) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__header {
    gap: 0.85rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__heading,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__title {
    color: var(--home-editorial-card-ink) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__subheading,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__attendance-meta,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-copy,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-empty,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-foot,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-empty {
    color: var(--home-editorial-card-copy) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab.is-active,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab:focus-visible,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-badge,
body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__count,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-head span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-head span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-count {
    background: rgba(255, 250, 228, 0.98) !important;
    color: #8d6a00 !important;
    border-color: rgba(224, 170, 0, 0.24) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column {
    align-self: start !important;
    padding: 1rem !important;
    border-radius: 0 !important;
    border-color: var(--home-editorial-card-border) !important;
    background: var(--home-editorial-card-surface-soft) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview {
    background: var(--home-editorial-card-surface) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-notes-panel {
    grid-area: auto !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    background: var(--home-editorial-card-surface-soft) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__main > *,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell-body > * {
    min-height: 0 !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo.class-todo-home,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-card {
    padding: 0.85rem 0 0 !important;
    border-top: 1px solid var(--home-editorial-card-border) !important;
    background: transparent !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo.class-todo-home {
    gap: 0.75rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__status {
    padding: 0 !important;
    background: transparent !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__list {
    max-height: 14rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__list--completed {
    max-height: 8rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__item,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top-1,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-me,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card {
    border-radius: 0 !important;
    border-color: var(--home-editorial-card-border) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top-1 {
    background: #fffaeb !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item:nth-child(1),
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item:nth-child(2),
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item:nth-child(3),
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top-1,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top-1:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top-1:focus-visible {
    position: static !important;
    top: unset !important;
    z-index: auto !important;
    transform: none !important;
    animation: none !important;
    overflow: visible !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top-1::after,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-rank::after {
    display: none !important;
    content: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-rank,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-rank {
    border-color: var(--home-editorial-card-border) !important;
    background: #ffffff !important;
    color: var(--home-editorial-card-ink) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-note {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-progress span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__reward-progress span,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__progress span {
    background: var(--home-editorial-card-ink) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__insights {
    grid-template-rows: auto auto !important;
    gap: 1rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column {
    gap: 0.9rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action {
    border-radius: 0 !important;
    background: var(--home-editorial-card-cta) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action:focus-visible {
    background: var(--home-editorial-card-cta-hover) !important;
}

@media (max-width: 1240px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell-body,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__main {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 900px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__shell {
        padding: 1rem !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__header,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__toolbar,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-head,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-head,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-head,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-head {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__attendance-meta {
        text-align: left !important;
    }
}

/* FINAL HOTFIX 29: sync todo list visuals with current editorial card style */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status[data-tone='success'],
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status[data-tone='error'] {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--home-editorial-card-copy) !important;
    font-size: 0.88rem !important;
    line-height: 1.6 !important;
    font-weight: 700 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status::before,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status::after {
    display: none !important;
    content: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-completed {
    gap: 0.7rem !important;
    padding-top: 0.9rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-completed-head {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.78rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list--completed {
    padding-right: 0.2rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed {
    grid-template-columns: 2.4rem minmax(0, 1fr) !important;
    gap: 0.7rem !important;
    padding: 0.75rem !important;
    border-radius: 0 !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item:focus-visible {
    transform: none !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__check {
    width: 2.4rem !important;
    min-width: 2.4rem !important;
    max-width: 2.4rem !important;
    height: 2.4rem !important;
    flex: 0 0 2.4rem !important;
    border-radius: 50% !important;
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    background: #f6f7f9 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-sticker {
    width: auto !important;
    height: 68% !important;
    max-width: 68% !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-sticker-fallback {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-mark {
    color: var(--home-editorial-card-ink) !important;
    font-size: 0.82rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item-title,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__item-title {
    color: var(--home-editorial-card-ink) !important;
    text-decoration: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item-date,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__item-date {
    color: var(--home-editorial-card-meta) !important;
    text-decoration: none !important;
}

/* FINAL HOTFIX 30: rebuild todo panel into clean editorial sections */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo.class-todo-home {
    gap: 0.9rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-copy {
    gap: 0.28rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-done {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.84rem !important;
    line-height: 1.55 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-done span {
    color: var(--home-editorial-card-ink) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status[data-tone='success'],
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status[data-tone='error'] {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0.75rem 0.85rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    color: var(--home-editorial-card-copy) !important;
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
    font-weight: 700 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status[data-tone='success'] {
    border-color: rgba(224, 170, 0, 0.22) !important;
    background: rgba(255, 250, 235, 0.98) !important;
    color: #7f6210 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status::before,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status::after {
    display: none !important;
    content: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-groups {
    display: grid !important;
    gap: 0.85rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group {
    display: grid !important;
    gap: 0.7rem !important;
    padding: 0.85rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
    padding-bottom: 0.55rem !important;
    border-bottom: 1px dashed var(--home-editorial-card-border) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-head strong {
    margin: 0 !important;
    color: var(--home-editorial-card-ink) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-meta {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__empty {
    margin: 0 !important;
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.83rem !important;
    line-height: 1.55 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list--completed {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.65rem !important;
    margin: 0 !important;
    padding: 0 0.18rem 0 0 !important;
    list-style: none !important;
    overflow: auto !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list {
    max-height: 9.75rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list--completed {
    max-height: 7.25rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed {
    grid-template-columns: 2.35rem minmax(0, 1fr) !important;
    gap: 0.7rem !important;
    padding: 0.72rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed {
    background: #fbfbfd !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item:focus-visible {
    transform: none !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__check {
    width: 2.35rem !important;
    min-width: 2.35rem !important;
    max-width: 2.35rem !important;
    height: 2.35rem !important;
    flex: 0 0 2.35rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 50% !important;
    background: #f5f7fa !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-sticker {
    width: auto !important;
    height: 62% !important;
    max-width: 62% !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-sticker-fallback {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.66rem !important;
    font-weight: 800 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-mark {
    color: var(--home-editorial-card-ink) !important;
    font-size: 0.78rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__content {
    display: grid !important;
    gap: 0.1rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item-title,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__item-title {
    color: var(--home-editorial-card-ink) !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item-date,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__item-date {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

/* FINAL HOTFIX 31: rebuild todo block to follow the current editorial card language */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo.class-todo-home {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 18px !important;
    border-radius: 0 !important;
    border: 1px solid rgba(214, 221, 235, 0.96) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-copy {
    gap: 5px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-eyebrow {
    color: #7184a8 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-done {
    max-width: 40rem !important;
    color: rgba(24, 36, 65, 0.62) !important;
    font-size: 0.84rem !important;
    line-height: 1.55 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-done span {
    color: #2c66d0 !important;
    font-weight: 900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-todo-home__count {
    padding: 9px 13px !important;
    border-radius: 0 !important;
    background: #fff3cf !important;
    color: #9b7400 !important;
    font-size: 0.8rem !important;
    font-weight: 900 !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-body {
    display: grid !important;
    gap: 12px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status[data-tone='success'],
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status[data-tone='error'] {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(236, 205, 84, 0.32) !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #fffdf3 0%, #fff8dc 100%) !important;
    box-shadow: none !important;
    color: #7a5f18 !important;
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
    font-weight: 800 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status[data-tone='success'] {
    border-color: rgba(169, 191, 229, 0.52) !important;
    background: linear-gradient(180deg, #f9fbff 0%, #f1f6ff 100%) !important;
    color: #476391 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status::before,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__status::after {
    display: none !important;
    content: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-groups {
    display: grid !important;
    gap: 12px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group {
    display: grid !important;
    gap: 12px !important;
    padding: 16px !important;
    border: 1px solid rgba(214, 221, 235, 0.94) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group--completed {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 0 !important;
    border-bottom: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-head strong {
    margin: 0 !important;
    color: #49618f !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-note {
    color: rgba(24, 36, 65, 0.58) !important;
    font-size: 0.8rem !important;
    line-height: 1.45 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 10px !important;
    border-radius: 0 !important;
    background: #f4f7fe !important;
    color: #49618f !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-list-shell {
    display: grid !important;
    gap: 10px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__empty {
    margin: 0 !important;
    padding: 13px 14px !important;
    border: 1px dashed rgba(205, 214, 232, 0.96) !important;
    border-radius: 0 !important;
    background: #f9fbff !important;
    color: rgba(24, 36, 65, 0.62) !important;
    font-size: 0.82rem !important;
    line-height: 1.55 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list--completed {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 4px 0 0 !important;
    list-style: none !important;
    overflow: auto !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(73, 97, 143, 0.34) transparent !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list {
    max-height: 240px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list--completed {
    max-height: 176px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list--completed::-webkit-scrollbar {
    width: 8px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-track,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list--completed::-webkit-scrollbar-track {
    background: transparent !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-thumb,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__list--completed::-webkit-scrollbar-thumb {
    border-radius: 999px !important;
    background: rgba(73, 97, 143, 0.34) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 12px 13px !important;
    border: 1px solid rgba(214, 221, 235, 0.94) !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    text-align: left !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed {
    border-color: rgba(205, 214, 232, 0.96) !important;
    background: linear-gradient(180deg, #f9fbff 0%, #f2f6fd 100%) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item:focus-visible {
    transform: none !important;
    border-color: rgba(131, 158, 208, 0.52) !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__check {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    flex: 0 0 40px !important;
    border: 1px solid rgba(205, 214, 232, 0.95) !important;
    border-radius: 50% !important;
    background: #f5f8ff !important;
    overflow: hidden !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__check {
    border-color: rgba(152, 178, 224, 0.62) !important;
    background: #eef4ff !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-sticker {
    width: auto !important;
    height: 60% !important;
    max-width: 60% !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-sticker-fallback {
    color: #6f85b2 !important;
    font-size: 0.64rem !important;
    font-weight: 800 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-mark {
    color: #2c66d0 !important;
    font-size: 0.8rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item-title,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__item-title {
    color: #182441 !important;
    font-size: 0.92rem !important;
    font-weight: 800 !important;
    line-height: 1.42 !important;
    text-decoration: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item-date,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__item-date {
    color: rgba(24, 36, 65, 0.58) !important;
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
    text-decoration: none !important;
}

@media (max-width: 640px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-head,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-head {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo-group-count {
        align-self: flex-start !important;
    }
}

/* FINAL HOTFIX 32: keep notes-style feedback card visible inside the rebuilt classroom board */
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-expanded .class-showcase-card__feedback-card.class-showcase-card__notes.class-notes-panel {
    display: flex !important;
    order: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes.class-notes-panel {
    margin-top: 0 !important;
    padding: 1rem !important;
    border-radius: 0 !important;
    order: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-scroll {
    max-height: 15rem !important;
}

/* FINAL HOTFIX 33: align feedback notes card with the current editorial classroom style */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes.class-notes-panel {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    padding: 1rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: var(--home-editorial-card-surface-soft) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-showcase-card__notes-head,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-showcase-card__notes-headline {
    display: grid !important;
    gap: 0.7rem !important;
    margin: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-showcase-card__notes-head {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-showcase-card__notes-headline {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-title {
    margin: 0 !important;
    color: #17233f !important;
    font-size: 1.05rem !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    word-break: normal !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-showcase-card__notes-count {
    justify-self: end !important;
    align-self: center !important;
    min-height: 0 !important;
    padding: 0.42rem 0.72rem !important;
    border: 1px solid rgba(224, 170, 0, 0.24) !important;
    border-radius: 0 !important;
    background: rgba(255, 250, 228, 0.98) !important;
    color: #8d6a00 !important;
    font-size: 0.74rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-filters {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 0.45rem !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-filter-btn {
    min-height: 2rem !important;
    padding: 0.38rem 0.82rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: var(--home-editorial-card-copy) !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-filter-btn.is-active {
    border-color: rgba(224, 170, 0, 0.24) !important;
    background: rgba(255, 250, 228, 0.98) !important;
    color: #8d6a00 !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-scroll {
    max-height: 15rem !important;
    padding-right: 0.18rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.75rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-list li {
    display: grid !important;
    gap: 0.45rem !important;
    padding: 0.82rem 0.88rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-content {
    display: grid !important;
    gap: 0.32rem !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-content p,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-empty {
    margin: 0 !important;
    color: var(--home-editorial-card-copy) !important;
    font-size: 0.88rem !important;
    line-height: 1.6 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-list time {
    color: var(--home-editorial-card-meta) !important;
    font-size: 0.76rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-note-tag {
    justify-self: start !important;
    min-height: 0 !important;
    padding: 0.3rem 0.56rem !important;
    border-radius: 0 !important;
    background: rgba(255, 250, 228, 0.98) !important;
    color: #8d6a00 !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-note-tag.is-member {
    background: #f4f7fe !important;
    color: #49618f !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-note-sticker-gift {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-top: 0.2rem !important;
    padding: 0.34rem 0.58rem !important;
    border: 1px solid rgba(224, 170, 0, 0.18) !important;
    border-radius: 0 !important;
    background: rgba(255, 250, 228, 0.98) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-note-sticker-gift__thumb {
    width: 1.9rem !important;
    height: 1.9rem !important;
}

@media (max-width: 640px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-showcase-card__notes-headline {
        grid-template-columns: 1fr !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-showcase-card__notes-count {
        justify-self: start !important;
    }
}

/* FINAL HOTFIX 34: unify classroom active boxes to site action red */
body.home-page .class-section__class-tab.is-active,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab.is-active,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__notes .class-notes-filter-btn.is-active,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-filter-btn.is-active,
body.home-page .class-showcase-card:not(.is-restricted) .class-sticker-book__filter-btn.is-active {
    border-color: var(--site-action-red, #8f171d) !important;
    background: var(--site-action-red, #8f171d) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-section__class-tab.is-active .class-section__class-tab-label,
body.home-page .class-section__class-tab.is-active .class-section__class-tab-title {
    color: #ffffff !important;
}

/* FINAL HOTFIX 35: square class tabs with small thumbnails */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tabs {
    gap: 0.75rem !important;
    align-items: stretch !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.55rem !important;
    min-height: 2.7rem !important;
    max-width: 100% !important;
    padding: 0.55rem 0.85rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #2f4568 !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab-thumb {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2rem !important;
    min-width: 2rem !important;
    height: 1.4rem !important;
    overflow: hidden !important;
    border: 1px solid rgba(214, 221, 235, 0.96) !important;
    border-radius: 0 !important;
    background: #f4f7fe !important;
    flex: 0 0 2rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab-label {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    color: inherit !important;
    font-size: 0.84rem !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab:focus-visible {
    border-color: var(--home-editorial-card-border-strong) !important;
    background: #ffffff !important;
    color: #1f3556 !important;
    box-shadow: none !important;
    transform: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab.is-active,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab.is-active:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab.is-active:focus-visible {
    border-color: var(--site-action-red, #8f171d) !important;
    background: var(--site-action-red, #8f171d) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab.is-active .class-showcase-card__course-tab-label {
    color: #ffffff !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab.is-active .class-showcase-card__course-tab-thumb {
    border-color: rgba(255, 255, 255, 0.28) !important;
    background: rgba(255, 255, 255, 0.12) !important;
}

@media (max-width: 640px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab {
        min-height: 2.5rem !important;
        padding: 0.48rem 0.7rem !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab-thumb {
        width: 1.7rem !important;
        min-width: 1.7rem !important;
        height: 1.2rem !important;
        flex-basis: 1.7rem !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__course-tab-label {
        font-size: 0.78rem !important;
    }
}

/* FINAL HOTFIX 37: attendance reward toast aligned with current home UX */
body.home-page .attendance-reward-popup {
    right: 1.1rem !important;
    bottom: 1.1rem !important;
    width: min(92vw, 332px) !important;
    transform: translate3d(0, 12px, 0) !important;
}

body.home-page .attendance-reward-popup__dialog {
    border-radius: 0 !important;
    border: 1px solid var(--home-editorial-card-border, #d7e0ef) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 16px 36px rgba(17, 31, 56, 0.12) !important;
    padding: 0.95rem 1rem !important;
    grid-template-columns: 2.9rem minmax(0, 1fr) !important;
    gap: 0.75rem !important;
    align-items: start !important;
}

body.home-page .attendance-reward-popup__close {
    top: 0.45rem !important;
    right: 0.45rem !important;
    width: 1.45rem !important;
    height: 1.45rem !important;
    border-radius: 0 !important;
    border: 1px solid var(--home-editorial-card-border, #d7e0ef) !important;
    background: #ffffff !important;
    color: #5b6f92 !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

body.home-page .attendance-reward-popup__thumb {
    width: 2.9rem !important;
    height: 2.9rem !important;
    border-radius: 0 !important;
    border: 1px solid rgba(209, 221, 240, 0.96) !important;
    background: #f8fbff !important;
}

body.home-page .attendance-reward-popup__thumb img {
    transform: none !important;
}

body.home-page .attendance-reward-popup__thumb span {
    color: #5d7295 !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
}

body.home-page .attendance-reward-popup__content {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.18rem !important;
    min-width: 0 !important;
    padding-right: 1.5rem !important;
}

body.home-page .attendance-reward-popup__title {
    color: #152748 !important;
    font-size: 0.93rem !important;
    line-height: 1.3 !important;
    font-weight: 900 !important;
}

body.home-page .attendance-reward-popup__meta {
    margin: 0 !important;
    color: #6a7f9f !important;
    font-size: 0.75rem !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.home-page .attendance-reward-popup__message {
    color: rgba(21, 39, 72, 0.82) !important;
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
}

@media (max-width: 540px) {
    body.home-page .attendance-reward-popup {
        left: 0.75rem !important;
        right: 0.75rem !important;
        bottom: 0.75rem !important;
        width: auto !important;
    }

    body.home-page .attendance-reward-popup__dialog {
        grid-template-columns: 2.65rem minmax(0, 1fr) !important;
        padding: 0.85rem 0.9rem !important;
    }

    body.home-page .attendance-reward-popup__thumb {
        width: 2.65rem !important;
        height: 2.65rem !important;
    }
}

/* FINAL HOTFIX 39: note filters must hide items even with !important layout rules */
body.home-page .class-notes-list[hidden],
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-list[hidden] {
    display: none !important;
}

body.home-page .class-notes-list li[hidden],
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes .class-notes-list li[hidden] {
    display: none !important;
}

/* FINAL HOTFIX 40: replace old todo sticker icons with crown icon */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check {
    position: relative !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 1.3rem !important;
    height: 1.3rem !important;
    transform: translate(-50%, -50%) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c89608' d='M3.5 8.5 8 11l4-5 4 5 4.5-2.5L19 16H5L3.5 8.5Zm1.9 8.8h13.2a.9.9 0 0 1 .9.9v.9H4.5v-.9a.9.9 0 0 1 .9-.9Z'/%3E%3Cpath fill='%23f4c542' d='M5.4 17.3h13.2a.9.9 0 0 1 .9.9v.9H4.5v-.9a.9.9 0 0 1 .9-.9Zm2.4-6.2 4.2-5.1 4.2 5.1 4-2.2L19 16H5L3.8 8.9l4 2.2Z'/%3E%3Ccircle cx='4.8' cy='8.8' r='1.3' fill='%23f6d96d'/%3E%3Ccircle cx='12' cy='5.6' r='1.35' fill='%23f6d96d'/%3E%3Ccircle cx='19.2' cy='8.8' r='1.3' fill='%23f6d96d'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    z-index: 2 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-sticker,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-sticker-fallback,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__todo .class-todo-home__check-mark {
    display: none !important;
}

/* FINAL HOTFIX 41: unify classroom reward icons to crown icon */
body.home-page .class-note-sticker-gift__thumb,
body.home-page .attendance-reward-popup__thumb {
    position: relative !important;
}

body.home-page .class-note-sticker-gift__thumb::before,
body.home-page .attendance-reward-popup__thumb::before {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 1.2rem !important;
    height: 1.2rem !important;
    transform: translate(-50%, -50%) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c89608' d='M3.5 8.5 8 11l4-5 4 5 4.5-2.5L19 16H5L3.5 8.5Zm1.9 8.8h13.2a.9.9 0 0 1 .9.9v.9H4.5v-.9a.9.9 0 0 1 .9-.9Z'/%3E%3Cpath fill='%23f4c542' d='M5.4 17.3h13.2a.9.9 0 0 1 .9.9v.9H4.5v-.9a.9.9 0 0 1 .9-.9Zm2.4-6.2 4.2-5.1 4.2 5.1 4-2.2L19 16H5L3.8 8.9l4 2.2Z'/%3E%3Ccircle cx='4.8' cy='8.8' r='1.3' fill='%23f6d96d'/%3E%3Ccircle cx='12' cy='5.6' r='1.35' fill='%23f6d96d'/%3E%3Ccircle cx='19.2' cy='8.8' r='1.3' fill='%23f6d96d'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    z-index: 2 !important;
}

body.home-page .attendance-reward-popup__thumb::before {
    width: 1.7rem !important;
    height: 1.7rem !important;
}

body.home-page .class-note-sticker-gift__thumb img,
body.home-page .class-note-sticker-gift__fallback,
body.home-page .attendance-reward-popup__thumb img,
body.home-page .attendance-reward-popup__thumb span {
    display: none !important;
}

/* FINAL HOTFIX 42: disable top 3 leaderboard pinning */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-list {
    --leaderboard-pin-top-1: 0px;
    --leaderboard-pin-top-2: 0px;
    --leaderboard-pin-top-3: 0px;
    --leaderboard-pin-cover-height: 0px;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-list.has-pinned-top-three::before {
    display: none !important;
    content: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-list.has-pinned-top-three > .class-showcase-card__leaderboard-item:nth-child(1),
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-list.has-pinned-top-three > .class-showcase-card__leaderboard-item:nth-child(2),
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-list.has-pinned-top-three > .class-showcase-card__leaderboard-item:nth-child(3) {
    position: static !important;
    top: unset !important;
    z-index: auto !important;
    transform: none !important;
    animation: none !important;
    overflow: visible !important;
    box-shadow: none !important;
}

/* FINAL HOTFIX 43: sync homepage header search with compass header style */
body .site-header--compass .site-header__search .section-search {
    width: min(48rem, 100%) !important;
}

body .site-header--compass .site-header__search .global-search {
    min-height: 3.5rem !important;
    padding: 0.42rem 0.58rem 0.42rem 0.7rem !important;
    border: 1px solid #d8e3ef !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07) !important;
}

body .site-header--compass .site-header__search .global-search:focus-within {
    border-color: #bfd4ea !important;
    box-shadow:
        0 16px 32px rgba(15, 23, 42, 0.08),
        0 0 0 3px rgba(105, 174, 229, 0.14) !important;
}

body .site-header--compass .site-header__search .global-search-icon {
    width: 2.45rem !important;
    height: 2.45rem !important;
    border: 1px solid #d8e3ef !important;
    border-radius: 999px !important;
    background: #f2f7fc !important;
    color: #173d6b !important;
    box-shadow: none !important;
}

body .site-header--compass .site-header__search .global-search input {
    color: #173d6b !important;
    font-size: 0.98rem !important;
    font-weight: 700 !important;
}

body .site-header--compass .site-header__search .global-search input::placeholder {
    color: #7b8faa !important;
    font-weight: 600 !important;
}

body .site-header--compass .site-header__search .global-search-clear {
    width: 2.3rem !important;
    height: 2.3rem !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #7b8faa !important;
    box-shadow: none !important;
}

body .site-header--compass .site-header__search .global-search-clear:hover,
body .site-header--compass .site-header__search .global-search-clear:focus-visible {
    border-color: #d8e3ef !important;
    background: #f2f7fc !important;
    color: #0d5a97 !important;
}

body .site-header--compass .site-header__search .global-search-feedback {
    margin-top: 0.45rem !important;
    padding: 0 0.9rem !important;
    color: #6e83a5 !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
}

/* FINAL HOTFIX 38: move classroom actions below overview progress */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__header > .class-showcase-card__toolbar {
    display: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__headline {
    flex: 1 1 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__hero-media {
    position: relative !important;
    flex: 0 1 21rem !important;
    width: 21rem !important;
    max-width: 100% !important;
    min-width: 15rem !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 0 0 auto !important;
    overflow: hidden !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    border-radius: 0 !important;
    background: #eef3fb !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__hero-media::after {
    content: "" !important;
    position: absolute !important;
    inset: auto 0 0 !important;
    height: 42% !important;
    background: linear-gradient(180deg, rgba(23, 35, 63, 0) 0%, rgba(23, 35, 63, 0.22) 100%) !important;
    pointer-events: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__hero-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0.85rem !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-top: 0.1rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__action-main,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__attendance {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0.45rem !important;
    min-width: 0 !important;
    width: auto !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__action-main {
    flex: 1 1 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__attendance {
    flex: 0 0 auto !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__button,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__attendance-btn {
    border-radius: 0 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
}

@media (max-width: 900px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__hero-media {
        width: 100% !important;
        min-width: 0 !important;
        flex-basis: auto !important;
        margin-left: 0 !important;
    }
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__action-main .class-showcase-card__button {
    width: 100% !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__attendance-btn {
    width: auto !important;
    min-width: 12.5rem !important;
    justify-content: center !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__attendance-meta {
    display: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions.is-attendance-completed .class-showcase-card__attendance-btn {
    width: 2.9rem !important;
    min-width: 2.9rem !important;
    max-width: 2.9rem !important;
    min-height: 2.9rem !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
    border-radius: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions.is-attendance-completed .class-showcase-card__attendance-btn::before {
    content: "\2713" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

@media (max-width: 640px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__action-main,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__attendance {
        width: 100% !important;
        align-items: stretch !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__button,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions .class-showcase-card__attendance-btn,
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview-actions.is-attendance-completed .class-showcase-card__attendance-btn {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* FINAL HOTFIX 36: practice cards with compact thumbnails and aligned CTA */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-list {
    gap: 0.85rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card {
    display: grid !important;
    grid-template-columns: 4.75rem minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 0.9rem !important;
    padding: 0.95rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__thumb {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 4.75rem !important;
    min-width: 4.75rem !important;
    height: 3.5rem !important;
    overflow: hidden !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    background: #eef3fb !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__thumb-fallback {
    color: #587098 !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__body {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.7rem !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__head {
    align-items: flex-start !important;
    gap: 0.75rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__copy {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.32rem !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__head-meta {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.42rem !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__tags {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.38rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__tag {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 1.45rem !important;
    padding: 0.18rem 0.48rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    background: #f8fbff !important;
    color: #5c7093 !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__tag.is-assigned {
    border-color: rgba(47, 82, 142, 0.18) !important;
    background: rgba(240, 246, 255, 0.98) !important;
    color: #2f4d86 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__tag.is-free {
    border-color: rgba(214, 160, 0, 0.22) !important;
    background: rgba(255, 248, 224, 0.98) !important;
    color: #9c7300 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__head h5 {
    font-size: 1rem !important;
    line-height: 1.3 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__caption {
    color: rgba(23, 35, 63, 0.68) !important;
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__score {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 3rem !important;
    padding: 0.28rem 0.45rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    background: #f7f9fe !important;
    color: #5d7194 !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__footer {
    align-items: center !important;
    gap: 0.75rem !important;
    margin-top: auto !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__footer > .class-showcase-exam-card__meta {
    display: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__meta-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.45rem !important;
    min-width: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__meta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2rem !important;
    padding: 0.35rem 0.6rem !important;
    border: 1px solid var(--home-editorial-card-border) !important;
    background: #f8fbff !important;
    color: #5f7396 !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action {
    min-width: 6.2rem !important;
    min-height: 2.55rem !important;
    padding: 0.7rem 0.95rem !important;
    margin-left: auto !important;
}

@media (max-width: 640px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card {
        grid-template-columns: 4rem minmax(0, 1fr) !important;
        gap: 0.75rem !important;
        padding: 0.8rem !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__thumb {
        width: 4rem !important;
        min-width: 4rem !important;
        height: 3rem !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__head-meta {
        gap: 0.32rem !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__footer {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card__action {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

/* FINAL HOTFIX 44: soft distinct palette for the four classroom content cards */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__overview {
    border-color: #d4e2f2 !important;
    background: #f4f8ff !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel {
    border-color: #ecdcb9 !important;
    background: #fffaf0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column {
    border-color: #cfe4d6 !important;
    background: #f3faf5 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__feedback-card.class-showcase-card__notes.class-notes-panel {
    border-color: #efd6cb !important;
    background: #fff5f1 !important;
}

/* FINAL HOTFIX 45: place arena above practice and align with editorial classroom style */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.9rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host {
    order: -1 !important;
    margin: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host.class-arena-panel-host:empty {
    display: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel {
    min-height: 0 !important;
    padding: 0.9rem !important;
    border-radius: 16px !important;
    border: 1px solid #d4e2f2 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel::before,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel::after {
    content: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel__head {
    margin-bottom: 0.62rem !important;
    gap: 0.65rem !important;
    align-items: center !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel__eyebrow {
    min-height: 1.55rem !important;
    padding: 0.16rem 0.58rem !important;
    border-radius: 999px !important;
    background: #edf3ff !important;
    color: #2252a9 !important;
    box-shadow: none !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.04em !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel__count {
    min-height: 1.6rem !important;
    padding: 0.18rem 0.56rem !important;
    border-radius: 999px !important;
    border: 1px solid #cfe4d6 !important;
    background: #edf8f1 !important;
    color: #2f6b4c !important;
    box-shadow: none !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.06em !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel__empty {
    margin: 0 !important;
    padding: 0.72rem 0.84rem !important;
    border-radius: 12px !important;
    border: 1px dashed #cfdced !important;
    background: #f8fbff !important;
    color: #5b6f91 !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel__list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.68rem !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-scheduled,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-closed,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-cancelled {
    padding: 0.75rem 0.82rem !important;
    border-radius: 12px !important;
    border: 1px solid #d9e4f3 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session::before,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-scheduled::before,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-closed::before,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-cancelled::before {
    content: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__status {
    background: #edf3ff !important;
    color: #2252a9 !important;
    box-shadow: none !important;
    letter-spacing: 0.04em !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__status {
    background: #dff7e8 !important;
    color: #126b35 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__status {
    background: #fff5dd !important;
    color: #8d6500 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-closed .class-arena-session__status,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-cancelled .class-arena-session__status {
    background: #f1f4f8 !important;
    color: #5f6f86 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__time {
    color: #6f85b2 !important;
    font-weight: 700 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__title {
    margin: 0 !important;
    color: #17233f !important;
    font-size: 0.95rem !important;
    line-height: 1.32 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter {
    border: 1px solid rgba(47, 111, 232, 0.3) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #2f6fe8 0%, #235dc6 100%) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open {
    border-color: #b9e7c8 !important;
    background: linear-gradient(180deg, #fbfffd 0%, #eefbf3 100%) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__time {
    color: #34724c !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__title {
    color: #102f1d !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter:not(.is-disabled) {
    border-color: #45b86b !important;
    background: linear-gradient(180deg, #22c55e 0%, #15803d 100%) !important;
    color: #ffffff !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter:hover,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter:focus-visible {
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter.is-disabled {
    border-color: #d6dceb !important;
    background: #d6dceb !important;
    color: #7387ab !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-countdown {
    background: #edf3ff !important;
    color: #345383 !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter-countdown {
    background: rgba(240, 253, 244, 0.92) !important;
    color: #14532d !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-closed {
    background: #f1f4f8 !important;
    color: #6a7890 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-stats,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-time-total,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__my-rank,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__leaderboard-head,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__leaderboard-list li,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__tie {
    color: #4b628d !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter-stats,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter-time-total {
    color: rgba(255, 255, 255, 0.88) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-time-main-value {
    color: #ffffff !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter.is-disabled .class-arena-session__enter-time-main-value {
    color: #7387ab !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress {
    background: #e6ecf8 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter-progress {
    background: rgba(240, 253, 244, 0.3) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress-fill,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-open,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-warning,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-done {
    background: linear-gradient(90deg, #2f6fe8 0%, #5da0ff 100%) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter-progress-fill,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter-progress-fill.is-open,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter-progress-fill.is-warning,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter-progress-fill.is-done {
    background: linear-gradient(90deg, #bbf7d0 0%, #ffffff 100%) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-closed,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-scheduled {
    background: linear-gradient(90deg, rgba(47, 111, 232, 0.28) 0%, rgba(147, 187, 255, 0.78) 100%) !important;
}

/* FINAL HOTFIX 46: remove rounded corners from arena card block */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel__eyebrow,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel__count,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-panel__empty,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__status,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-countdown,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter-progress-fill,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__leaderboard,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__leaderboard-list li,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter::before,
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column > .class-showcase-card__arena-host .class-arena-session__enter::after {
    border-radius: 0 !important;
}

/* FINAL HOTFIX 47: restore course card title/content order */
body.home-page .home-main--guest .home-courses .course-body,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-body {
    display: flex !important;
    flex-direction: column !important;
}

body.home-page .home-main--guest .home-courses .course-title,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-title {
    order: 1 !important;
}

body.home-page .home-main--guest .home-courses .course-summary,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-summary {
    order: 2 !important;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card {
    order: 3 !important;
}

/* FINAL HOTFIX 48: home game grid max 4 columns + square thumbnails */
body.home-page .home-games-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1400px) {
    body.home-page .home-games-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1100px) {
    body.home-page .home-games-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    body.home-page .home-games-grid {
        grid-template-columns: 1fr !important;
    }
}

body.home-page .home-game-card .home-game-card__thumb {
    aspect-ratio: 1 / 1 !important;
}

/* FINAL HOTFIX 49: footer consultation panel moved to right column and stacked vertically */
body .site-footer.site-footer--hoang-anh .site-footer__panel--consultation {
    display: grid;
    align-content: start;
    gap: 0.95rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel--consultation .site-footer__consultation-form--stacked {
    display: grid;
    gap: 0.95rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel--consultation .site-footer__consultation-form--stacked .site-footer__consultation-fields {
    grid-template-columns: 1fr !important;
    gap: 0.75rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel--consultation .site-footer__consultation-form--stacked .site-footer__consultation-actions--inline {
    flex-direction: column;
    align-items: stretch;
    gap: 0.7rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel--consultation .site-footer__consultation-form--stacked .site-footer__consultation-submit {
    width: 100% !important;
    min-width: 0 !important;
}

/* FINAL HOTFIX 50: compact footer sizing after removing intro hero block */
body .site-footer.site-footer--hoang-anh .site-footer__shell {
    gap: clamp(1.2rem, 2.2vw, 1.8rem) !important;
    padding: clamp(1.5rem, 2.8vw, 2.1rem) 0 0.95rem !important;
}

body .site-footer.site-footer--hoang-anh .site-footer__grid {
    align-items: start;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel-title {
    margin-bottom: 0.82rem;
}

body .site-footer.site-footer--hoang-anh .site-footer__bottom {
    padding-top: 0.62rem;
}

@media (max-width: 760px) {
    body .site-footer.site-footer--hoang-anh .site-footer__shell {
        gap: 1.1rem !important;
        padding-top: 1.3rem !important;
    }
}

/* FINAL HOTFIX 51: restyle header search to match current compass header language */
body .site-header--compass .site-header__search .section-search {
    width: min(50rem, 100%) !important;
}

body .site-header--compass .site-header__search .global-search {
    min-height: 3.45rem !important;
    padding: 0.34rem 0.5rem 0.34rem 0.66rem !important;
    border: 1px solid #d8e3ef !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07) !important;
}

body .site-header--compass .site-header__search .global-search:focus-within {
    border-color: #bfd4ea !important;
    box-shadow:
        0 16px 34px rgba(15, 23, 42, 0.08),
        0 0 0 3px rgba(105, 174, 229, 0.14) !important;
}

body .site-header--compass .site-header__search .global-search-icon {
    width: 2.35rem !important;
    height: 2.35rem !important;
    border: 1px solid #d8e3ef !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #f8fbff 0%, #eef5fc 100%) !important;
    color: #173d6b !important;
    box-shadow: none !important;
}

body .site-header--compass .site-header__search .global-search input {
    color: #173d6b !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
}

body .site-header--compass .site-header__search .global-search input::placeholder {
    color: #7b8faa !important;
    font-weight: 600 !important;
}

body .site-header--compass .site-header__search .global-search-clear {
    width: 2.1rem !important;
    height: 2.1rem !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #7b8faa !important;
}

body .site-header--compass .site-header__search .global-search-clear:hover,
body .site-header--compass .site-header__search .global-search-clear:focus-visible {
    border-color: #d8e3ef !important;
    background: #f2f7fc !important;
    color: #0d5a97 !important;
}

body .site-header--compass .site-header__search .global-search-feedback {
    margin-top: 0.42rem !important;
    padding: 0 0.8rem !important;
    color: #6e83a5 !important;
    font-size: 0.81rem !important;
    font-weight: 700 !important;
}

@media (max-width: 900px) {
    body .site-header--compass .site-header__search .global-search {
        min-height: 3.2rem !important;
        padding: 0.3rem 0.46rem 0.3rem 0.58rem !important;
    }

    body .site-header--compass .site-header__search .global-search-icon {
        width: 2.1rem !important;
        height: 2.1rem !important;
    }

    body .site-header--compass .site-header__search .global-search input {
        font-size: 0.91rem !important;
    }

    body .site-header--compass .site-header__search .global-search-clear {
        width: 1.95rem !important;
        height: 1.95rem !important;
    }
}

/* FINAL HOTFIX 52: change resume notice yellow to red */
body.home-page .exam-resume-bar__notice {
    background: linear-gradient(180deg, #b61f24 0%, #8f171d 100%) !important;
    color: #ffffff !important;
}

/* FINAL HOTFIX 53: reduce oversized exam section tab labels */
body.exam-page .section-tab__title {
    font-size: inherit !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    font-weight: 800 !important;
}

/* FINAL HOTFIX 54: active part label in exam sidebar to red */
body.exam-page .question-grid-part-label.is-active-part {
    background: linear-gradient(180deg, #b11f24 0%, #8f171d 100%) !important;
    border-color: rgba(125, 14, 20, 0.9) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 16px rgba(143, 23, 29, 0.22) !important;
}

/* FINAL HOTFIX 55: reduce oversized exam part title text */
body.exam-page .question-text--boxed.read-yesno-group-text,
body.exam-page .question-text--boxed.read-vocab-group-text,
body.exam-page .question-text--boxed.read-wordbank-group-text,
body.exam-page .question-text--boxed.read-rowbank-group-text,
body.exam-page .question-text--boxed.read-scene-yn-group-text,
body.exam-page .question-text--boxed.read-scene-choice-group-text,
body.exam-page .question-text--boxed.read-dialog-bank-group-text,
body.exam-page .question-text--boxed.read-letter-sort-group-text,
body.exam-page .question-text--boxed.read-scene-part6-section__title,
body.exam-page .listen-group-wrapper > .listen-group-shared-panel > .question-text--boxed,
body.exam-page .listen-group-wrapper > .listen-group-shared-sticky-stack > .question-text--boxed,
body.exam-page .listen-group-wrapper > .listen-group-shared-panel > .listen-group-shared-sticky-stack > .question-text--boxed,
body.exam-page .listen-drag-group-intro .question-text--boxed,
body.exam-page .speak-group-intro > .question-text--boxed.speak-group-intro__title,
body.exam-page .speak-movers-game__title.question-text--boxed {
    font-size: clamp(0.92rem, 0.84rem + 0.22vw, 1.04rem) !important;
    line-height: 1.42 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body.exam-page .question-text--boxed.read-scene-part6-section__title {
    font-weight: 650 !important;
}

/* FINAL HOTFIX 56: normalize compass header search style */
body .site-header--compass.site-header--with-search .site-header__search .section-search {
    width: 100% !important;
    margin: 0 !important;
}

body .site-header--compass.site-header--with-search .site-header__search .global-search {
    min-height: 3.3rem !important;
    padding: 0.3rem 0.46rem 0.3rem 0.62rem !important;
    border: 1px solid #ccd7e5 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
}

body .site-header--compass.site-header--with-search .site-header__search .global-search:focus-within {
    border-color: #a8bed8 !important;
    box-shadow: 0 0 0 3px rgba(138, 169, 203, 0.16) !important;
}

body .site-header--compass.site-header--with-search .site-header__search .global-search-icon {
    width: 2.18rem !important;
    height: 2.18rem !important;
    border: 1px solid #ccd7e5 !important;
    border-radius: 999px !important;
    background: #eef4fb !important;
    color: #2f4d78 !important;
}

body .site-header--compass.site-header--with-search .site-header__search .global-search input {
    color: #355077 !important;
    font-size: 0.94rem !important;
    font-weight: 700 !important;
}

body .site-header--compass.site-header--with-search .site-header__search .global-search input::placeholder {
    color: #7f94b1 !important;
    font-weight: 600 !important;
}

body .site-header--compass.site-header--with-search .site-header__search .global-search-clear {
    width: 2rem !important;
    height: 2rem !important;
    border-color: transparent !important;
    color: #7f94b1 !important;
}

body .site-header--compass.site-header--with-search .site-header__search .global-search-clear:hover,
body .site-header--compass.site-header--with-search .site-header__search .global-search-clear:focus-visible {
    border-color: #ccd7e5 !important;
    background: #eef4fb !important;
    color: #2f4d78 !important;
}

body .site-header--compass.site-header--with-search .site-header__search .global-search-feedback {
    display: none !important;
}

@media (max-width: 900px) {
    body .site-header--compass.site-header--with-search .site-header__search .global-search {
        min-height: 3.06rem !important;
        padding: 0.26rem 0.4rem 0.26rem 0.54rem !important;
    }

    body .site-header--compass.site-header--with-search .site-header__search .global-search-icon {
        width: 2rem !important;
        height: 2rem !important;
    }

    body .site-header--compass.site-header--with-search .site-header__search .global-search input {
        font-size: 0.9rem !important;
    }
}

/* FINAL HOTFIX 57: square search box + shorter header search */
body .site-header--compass.site-header--with-search .site-header__search form.global-search,
body .site-header--compass.site-header--with-search .site-header__search form.global-search.is-empty {
    border-radius: 0 !important;
}

@media (min-width: 1200px) {
    body .site-header--compass.site-header--with-search,
    body .site-header--compass.site-header--with-search.site-header.exam-page-header,
    body .site-header--compass.site-header--with-search.container,
    body .site-header--compass.site-header--with-search.site-header.exam-page-header.container {
        grid-template-columns: auto minmax(0, 1fr) minmax(22rem, 35rem) auto !important;
    }
}

/* FINAL HOTFIX 58: triple the key home section labels */
body.home-page .class-section .section-text h2,
body.home-page .home-courses .section-text h2,
body.home-page .home-games .section-text h2,
body.home-page .blog-section .section-text h2,
body.home-page .home-gallery__intro .section-text h2 {
    font-size: 60px !important;
    line-height: 1 !important;
    letter-spacing: -0.06em !important;
    white-space: normal !important;
    max-width: 100% !important;
}

/* FINAL HOTFIX 59: keep footer quick links tappable and full-row on all breakpoints */
body .site-footer.site-footer--hoang-anh .site-footer__panel--links,
body .site-footer.site-footer--hoang-anh .site-footer__panel--links .site-footer__nav-list,
body .site-footer.site-footer--hoang-anh .site-footer__panel--links .site-footer__nav-list li,
body .site-footer.site-footer--hoang-anh .site-footer__panel--links .site-footer__nav-link {
    position: relative;
    z-index: 3;
    pointer-events: auto !important;
}

body .site-footer.site-footer--hoang-anh .site-footer__panel--links .site-footer__nav-link {
    display: inline-flex;
    width: 100%;
}

/* FINAL HOTFIX 60: remove circle around search icon and set icon color */
span.global-search-icon,
.global-search-icon,
body .site-header--compass .site-header__search .global-search-icon,
body .site-header--compass.site-header--with-search .site-header__search .global-search-icon {
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #8F171D !important;
}

.global-search-icon svg,
span.global-search-icon svg,
body .site-header--compass .site-header__search .global-search-icon svg {
    fill: currentColor !important;
}

/* FINAL HOTFIX 61: normalize content typography sizes (reduce oversized headings for UX) */
body main,
body .site-main,
body .site-content,
body .course-body,
body .home-section,
body .blog-section,
body .site-page,
body article {
    font-size: 1rem !important;
    line-height: 1.55 !important;
    color: inherit !important;
}

body main h1,
body .site-main h1,
body .site-content h1,
body .course-body h1,
body article h1 {
    font-size: clamp(1.4rem, 2.2vw, 1.8rem) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

body main h2,
body .site-main h2,
body .site-content h2,
body .course-body h2,
body article h2,
body .home-section h2 {
    font-size: clamp(1.15rem, 1.6vw, 1.35rem) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

body main h3,
body .site-main h3,
body .site-content h3,
body .course-body h3,
body article h3 {
    font-size: clamp(1rem, 1.2vw, 1.12rem) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

/* Override earlier home-page mega h2 (FINAL HOTFIX 58) to sane UX sizes */
body.home-page .class-section .section-text h2,
body.home-page .home-courses .section-text h2,
body.home-page .home-games .section-text h2,
body.home-page .blog-section .section-text h2,
body.home-page .home-gallery__intro .section-text h2 {
    font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
    line-height: 1.12 !important;
}

/* FINAL HOTFIX 62: reduce outline lesson title size for better UX */
body.course-page .outline-lesson-title-text {
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

body.course-page .outline-lesson-number {
    font-size: 0.85rem !important;
    font-weight: 800 !important;
}

/* FINAL HOTFIX 63: reduce game title sizes in game library UI */
.game-library-shell .game-library-picker__option-title {
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
}

.game-library-shell .game-library-current__title {
    font-size: 1.03rem !important;
    font-weight: 900 !important;
    line-height: 1.18 !important;
}

.game-library-shell .game-library-stage__kicker {
    font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
}

.game-library-shell .game-library-current__meta,
.game-library-shell .game-library-picker__option-meta {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
}

/* FINAL HOTFIX 64: tone down review game title sizes on course page */
body.course-page .course-player-review-item-title {
    font-size: 0.88rem !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
}

body.course-page .course-player-review-stage__title {
    font-size: clamp(1rem, 1.4vw, 1.15rem) !important;
    line-height: 1.12 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

/* FINAL COURSE REDESIGN: align course detail with the current editorial apiary system */
body.course-page {
    --course-ink: #131313;
    --course-copy: #1c1b1b;
    --course-muted: #625f5a;
    --course-line: rgba(19, 19, 19, 0.08);
    --course-line-strong: rgba(19, 19, 19, 0.14);
    --course-paper: #fcf9f8;
    --course-paper-soft: #f6f3f2;
    --course-gold: #ffd700;
    --course-gold-deep: #e9c400;
    --course-gold-soft: #fff2aa;
    --course-card-shadow: 0 18px 36px rgba(19, 19, 19, 0.06);
    --course-lift-shadow: 0 24px 48px rgba(19, 19, 19, 0.09);
    background: linear-gradient(180deg, #ffffff 0%, var(--course-paper) 100%) !important;
    color: var(--course-copy) !important;
}

body.course-page .course-shell {
    width: 100%;
    padding-top: 2rem !important;
    padding-bottom: 4rem !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.course-page .course-shell-head {
    width: min(var(--bee-max-width), calc(100% - 3rem));
    max-width: var(--bee-max-width);
    margin: 0 auto 1.4rem;
    padding: 0 0 1.25rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 1rem;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--course-line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.course-page .course-shell-head__main {
    min-width: 0;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
        "logo back"
        "logo title";
    align-items: end;
    gap: 0.55rem 1.25rem;
}

body.course-page .course-center-logo {
    grid-area: logo;
    display: inline-flex;
    align-items: center;
    width: 5.25rem;
    max-width: 14vw;
}

body.course-page .course-center-logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 12px 20px rgba(19, 19, 19, 0.08));
}

body.course-page .course-back {
    grid-area: back;
    justify-self: start;
    min-height: 2.45rem;
    padding: 0.62rem 1rem !important;
    border: 1px solid rgba(19, 19, 19, 0.88) !important;
    border-radius: 999px !important;
    background: var(--course-ink) !important;
    color: var(--course-gold) !important;
    box-shadow: 0 14px 26px rgba(19, 19, 19, 0.16) !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-back:hover,
body.course-page .course-back:focus-visible {
    transform: translateY(-1px);
    color: #ffe98c !important;
    box-shadow: 0 18px 32px rgba(19, 19, 19, 0.2) !important;
    outline: none;
}

body.course-page .course-shell-head .course-title {
    grid-area: title;
    max-width: none !important;
    margin: 0 !important;
    color: var(--course-copy) !important;
    font-family: var(--app-serif-font) !important;
    font-size: 1.75rem !important;
    line-height: 1.14 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}

body.course-page .course-todo-trigger {
    align-self: start;
    justify-self: end;
    min-width: 14rem;
    min-height: 3rem;
    padding: 0.58rem 0.72rem !important;
    border: 1px solid rgba(233, 196, 0, 0.54) !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #fff7ca 0%, var(--course-gold) 100%) !important;
    color: var(--course-ink) !important;
    box-shadow: 0 16px 32px rgba(233, 196, 0, 0.18) !important;
}

body.course-page .course-todo-trigger.is-desktop-sticky {
    top: 0.85rem;
    z-index: 1180;
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.14) !important;
}

body.course-page .course-todo-trigger__icon {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: var(--course-ink) !important;
    color: var(--course-gold) !important;
    box-shadow: none !important;
}

body.course-page .course-todo-trigger__label,
body.course-page .course-todo-trigger__meta,
body.course-page .course-todo-trigger__count {
    letter-spacing: 0 !important;
}

body.course-page .course-todo-trigger__label {
    font-size: 0.9rem !important;
    font-weight: 900 !important;
    color: var(--course-ink) !important;
}

body.course-page .course-todo-trigger__meta {
    color: rgba(19, 19, 19, 0.62) !important;
}

body.course-page .course-todo-trigger__count {
    background: var(--course-ink) !important;
    color: var(--course-gold) !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.course-page .course-layout {
    width: min(var(--bee-max-width), calc(100% - 3rem));
    max-width: var(--bee-max-width);
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 24rem) !important;
    gap: 1.35rem !important;
    align-items: start;
    margin-inline: auto;
    padding-bottom: 0 !important;
}

body.course-page .course-player-column {
    min-width: 0;
    gap: 1rem !important;
}

body.course-page .course-player-card {
    display: flex;
    flex-direction: column;
    gap: 1rem !important;
    padding: 1rem !important;
    border: 1px solid var(--course-line) !important;
    border-radius: 1.35rem !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: var(--course-card-shadow) !important;
    top: 6.2rem !important;
    overflow: visible;
}

body.course-page .course-player-card:hover,
body.course-page .course-player-card:focus-within {
    box-shadow: var(--course-lift-shadow) !important;
}

body.course-page .course-video-wrapper {
    order: 1;
    width: 100%;
    margin: 0 !important;
    aspect-ratio: var(--course-player-media-ratio, 16 / 9) !important;
    min-height: 0 !important;
    border: 1px solid rgba(19, 19, 19, 0.1) !important;
    border-radius: 1rem !important;
    background: var(--course-paper-soft) !important;
    box-shadow: none !important;
}

body.course-page .course-player-card:not(.is-game-active) .course-video-wrapper iframe,
body.course-page .course-player-card:not(.is-game-active) .course-video-wrapper video,
body.course-page .course-player-card:not(.is-game-active) .course-video-placeholder,
body.course-page .course-player-card:not(.is-game-active) .course-video-locked,
body.course-page .course-player-card:not(.is-game-active) .course-video-fallback {
    min-height: 0 !important;
    height: 100% !important;
}

body.course-page .course-player-card.is-game-active .course-video-wrapper {
    border-radius: 1rem !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.course-page .course-player-header {
    order: 2;
    gap: 0.45rem !important;
    padding: 0.2rem 0 0 !important;
}

body.course-page .course-player-badge {
    align-self: flex-start;
    padding: 0.34rem 0.72rem !important;
    border: 1px solid rgba(233, 196, 0, 0.42) !important;
    border-radius: 999px !important;
    background: #fff6c5 !important;
    color: #6f5a00 !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

body.course-page .course-player-title {
    margin: 0 !important;
    color: var(--course-copy) !important;
    font-family: var(--app-serif-font) !important;
    font-size: 1.25rem !important;
    line-height: 1.22 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-player-source-note {
    order: 4;
    border: 1px solid rgba(233, 196, 0, 0.32) !important;
    border-radius: 1rem !important;
    background: #fff9db !important;
    box-shadow: none !important;
}

body.course-page .course-player-controls {
    order: 3;
    margin: 0 !important;
    padding-top: 0.85rem;
    border-top: 1px solid var(--course-line);
    gap: 0.55rem !important;
}

body.course-page .course-player-watched {
    min-height: 2.8rem;
}

body.course-page .course-btn {
    min-height: 2.75rem;
    padding: 0.72rem 1.05rem !important;
    border-radius: 999px !important;
    border: 1px solid var(--course-line-strong) !important;
    background: #ffffff !important;
    color: var(--course-copy) !important;
    box-shadow: none !important;
    font-size: 0.88rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-btn:hover,
body.course-page .course-btn:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(233, 196, 0, 0.72) !important;
    background: #fff9db !important;
    color: var(--course-copy) !important;
    box-shadow: none !important;
    outline: none;
}

body.course-page .course-btn.primary {
    border-color: var(--course-ink) !important;
    background: var(--course-ink) !important;
    color: var(--course-gold) !important;
}

body.course-page .course-btn.primary:hover,
body.course-page .course-btn.primary:focus-visible {
    background: #000000 !important;
    color: #ffe98c !important;
}

body.course-page .course-btn.is-watched {
    border-color: rgba(233, 196, 0, 0.68) !important;
    background: var(--course-gold) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-btn[disabled] {
    opacity: 0.48;
    transform: none !important;
}

body.course-page .course-player-resources {
    order: 5;
    gap: 0.75rem !important;
}

body.course-page .course-player-resource-tabs {
    align-items: center;
    gap: 0.35rem !important;
    padding: 0.3rem !important;
    margin: 0 !important;
    border: 1px solid var(--course-line) !important;
    border-radius: 999px !important;
    background: var(--course-paper-soft) !important;
    box-shadow: none !important;
}

body.course-page .course-player-resource-tab {
    flex: 0 1 auto;
    min-height: 2.45rem;
    padding: 0.62rem 1rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: var(--course-muted) !important;
    box-shadow: none !important;
    font-family: var(--app-serif-font) !important;
    font-size: 0.86rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-player-resource-tab.is-active {
    background: #8f171d !important;
    color: #ffffff !important;
    box-shadow: 0 10px 20px rgba(143, 23, 29, 0.18) !important;
}

body.course-page .course-player-resource-panel {
    padding: 0.85rem !important;
    border: 1px solid var(--course-line) !important;
    border-radius: 1.15rem !important;
    background: #fffdf0 !important;
    box-shadow: none !important;
}

body.course-page .course-player-attachments,
body.course-page .course-player-review {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.course-page .course-player-attachments-title,
body.course-page .course-player-review-title {
    color: var(--course-copy) !important;
    font-size: 0.95rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-player-review-subtitle,
body.course-page .course-player-review-stage__summary,
body.course-page .course-player-review-stage__panel p {
    color: var(--course-muted) !important;
}

body.course-page .course-player-review-lab {
    display: grid !important;
    grid-template-columns: minmax(12rem, 0.36fr) minmax(0, 0.64fr);
    gap: 0.85rem !important;
}

body.course-page .course-player-review-lab__rail,
body.course-page .course-player-review-stage {
    min-width: 0;
    border: 1px solid var(--course-line) !important;
    border-radius: 1rem !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.course-page .course-player-review-item,
body.course-page .course-player-attachments-list li a {
    min-height: 3.5rem;
    border: 1px solid var(--course-line) !important;
    border-radius: 0.85rem !important;
    background: #ffffff !important;
    color: var(--course-copy) !important;
    box-shadow: none !important;
    font-family: var(--app-serif-font) !important;
    letter-spacing: 0 !important;
}

body.course-page .course-player-review-item:hover,
body.course-page .course-player-review-item:focus-visible,
body.course-page .course-player-attachments-list li a:hover,
body.course-page .course-player-attachments-list li a:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(233, 196, 0, 0.68) !important;
    background: #fff9db !important;
    outline: none;
}

body.course-page .course-player-review-item.is-active {
    border-color: rgba(233, 196, 0, 0.84) !important;
    background: #fff4b8 !important;
    color: var(--course-ink) !important;
}

body.course-page .course-player-review-item-title {
    color: inherit !important;
    font-size: 0.9rem !important;
    line-height: 1.22 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-player-review-stage__topline,
body.course-page .course-player-review-stage__hero,
body.course-page .course-player-review-stage__canvas {
    border-color: var(--course-line) !important;
}

body.course-page .course-player-review-stage__thumb {
    border: 1px solid var(--course-line) !important;
    border-radius: 0.9rem !important;
    background: var(--course-paper-soft) !important;
}

body.course-page .course-player-review-stage__eyebrow,
body.course-page .course-player-review-stage__counter,
body.course-page .course-player-review-stage__chip,
body.course-page .course-player-review-stage__canvas-state,
body.course-page .course-player-review-stage__label {
    border-color: rgba(233, 196, 0, 0.4) !important;
    background: #fff6c5 !important;
    color: #6f5a00 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-player-review-stage__title {
    color: var(--course-copy) !important;
    font-size: 1.05rem !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-outline-panel {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    top: var(--course-outline-sticky-top, 6.2rem) !important;
    max-height: calc(100vh - var(--course-outline-sticky-top, 6.2rem) - 1rem) !important;
    height: auto !important;
    overflow: visible !important;
}

body.course-page .course-outline-panel::before,
body.course-page .course-outline-panel::after {
    content: none !important;
    display: none !important;
}

body.course-page .course-outline-sheet {
    height: auto !important;
    max-height: calc(100vh - var(--course-outline-sticky-top, 6.2rem) - 1rem) !important;
    padding: 1rem !important;
    border: 1px solid var(--course-line) !important;
    border-radius: 1.35rem !important;
    background: rgba(255, 255, 255, 0.96) !important;
    box-shadow: var(--course-card-shadow) !important;
    overflow: hidden;
}

body.course-page .course-outline-topline {
    color: var(--course-muted) !important;
}

body.course-page .course-outline-kicker,
body.course-page .course-outline-progress-label,
body.course-page .outline-section-title {
    font-family: var(--app-serif-font) !important;
    letter-spacing: 0.08em !important;
}

body.course-page .course-outline-progress-label {
    border: 1px solid rgba(233, 196, 0, 0.46) !important;
    background: #fff6c5 !important;
    color: #6f5a00 !important;
}

body.course-page .course-outline-header {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.72rem !important;
}

body.course-page .course-outline-icon {
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid rgba(19, 19, 19, 0.88) !important;
    border-radius: 0.8rem !important;
    background: var(--course-ink) !important;
    color: var(--course-gold) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-header h2 {
    color: var(--course-copy) !important;
    font-size: 1.08rem !important;
    line-height: 1.18 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-outline-note {
    display: none !important;
}

body.course-page .course-outline-summary {
    gap: 0.45rem !important;
    flex-wrap: wrap !important;
}

body.course-page .course-outline-summary-chip {
    min-height: 2rem;
    padding: 0.36rem 0.7rem !important;
    border: 1px solid var(--course-line) !important;
    border-radius: 999px !important;
    background: var(--course-paper-soft) !important;
    color: var(--course-muted) !important;
    box-shadow: none !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-outline-summary-chip strong {
    color: var(--course-copy) !important;
    font-weight: 900 !important;
}

body.course-page .course-outline-summary-chip.is-current {
    border-color: rgba(233, 196, 0, 0.54) !important;
    background: #fff6c5 !important;
    color: var(--course-copy) !important;
}

body.course-page .course-outline-summary-chip.is-watched {
    border-color: rgba(19, 19, 19, 0.16) !important;
    background: var(--course-ink) !important;
    color: var(--course-gold) !important;
}

body.course-page .course-outline-summary-chip.is-watched strong {
    color: var(--course-gold) !important;
}

body.course-page .course-outline-progressbar-track {
    height: 0.28rem;
    border-radius: 999px;
    background: rgba(19, 19, 19, 0.1) !important;
}

body.course-page .course-outline-progressbar-fill {
    border-radius: inherit;
    background: linear-gradient(90deg, var(--course-gold) 0%, var(--course-gold-deep) 100%) !important;
}

body.course-page .course-outline-list {
    gap: 0.92rem !important;
    padding-right: 0.2rem !important;
}

body.course-page .course-outline-list::-webkit-scrollbar {
    width: 0.45rem;
}

body.course-page .course-outline-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(19, 19, 19, 0.18) !important;
}

body.course-page .outline-section {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.course-page .outline-section + .outline-section {
    margin-top: 0.15rem;
    padding-top: 0.9rem !important;
    border-top: 1px solid var(--course-line) !important;
}

body.course-page .outline-section-title {
    margin: 0 0 0.55rem !important;
    padding-left: 0 !important;
    color: var(--course-muted) !important;
    font-size: 0.78rem !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    text-transform: uppercase;
}

body.course-page .outline-section-title::before {
    content: none !important;
    display: none !important;
}

body.course-page .outline-lessons {
    gap: 0.45rem !important;
    margin: 0 !important;
}

body.course-page .outline-lesson {
    min-height: 3.75rem;
    padding: 0.72rem 0.78rem !important;
    border: 1px solid var(--course-line) !important;
    border-radius: 0.9rem !important;
    background: #ffffff !important;
    color: var(--course-copy) !important;
    box-shadow: none !important;
}

body.course-page .outline-lesson:hover,
body.course-page .outline-lesson:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(233, 196, 0, 0.7) !important;
    background: #fff9db !important;
    outline: none;
}

body.course-page .outline-lesson.is-active {
    border-color: rgba(233, 196, 0, 0.9) !important;
    background: linear-gradient(180deg, #fff6c5 0%, var(--course-gold) 100%) !important;
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson.is-watched:not(.is-active) {
    border-color: rgba(19, 19, 19, 0.12) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfaf5 100%) !important;
}

body.course-page .outline-lesson-number {
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--course-muted) !important;
    font-size: 0.74rem !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    letter-spacing: 0.06em !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-number {
    color: rgba(19, 19, 19, 0.7) !important;
}

body.course-page .outline-lesson-title-text {
    color: inherit !important;
    font-size: 0.9rem !important;
    line-height: 1.24 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
}

body.course-page .outline-lesson-tail {
    gap: 0.35rem !important;
}

body.course-page .outline-lesson-go,
body.course-page .outline-lesson-attachment-icon,
body.course-page .outline-lesson-review-icon,
body.course-page .course-outline-close,
body.course-page .course-outline-scroll-bottom {
    border: 1px solid var(--course-line) !important;
    background: var(--course-paper-soft) !important;
    color: var(--course-copy) !important;
    box-shadow: none !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-go,
body.course-page .outline-lesson.is-active .outline-lesson-attachment-icon,
body.course-page .outline-lesson.is-active .outline-lesson-review-icon {
    border-color: rgba(19, 19, 19, 0.14) !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson-preview-badge {
    border-color: rgba(19, 19, 19, 0.12) !important;
    background: var(--course-ink) !important;
    color: var(--course-gold) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0 !important;
}

body.course-page .course-outline-empty {
    border: 1px dashed rgba(19, 19, 19, 0.16) !important;
    border-radius: 1rem !important;
    background: var(--course-paper-soft) !important;
    color: var(--course-muted) !important;
}

@media (max-width: 1100px) {
    body.course-page .course-layout {
        grid-template-columns: 1fr !important;
    }

    body.course-page .course-player-card,
    body.course-page .course-outline-panel {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        height: auto !important;
    }

    body.course-page .course-outline-sheet {
        max-height: none !important;
        height: auto !important;
    }

    body.course-page .course-player-review-lab {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    body.course-page .course-shell {
        padding-top: 1rem !important;
        padding-bottom: 6rem !important;
    }

    body.course-page .course-shell-head,
    body.course-page .course-layout {
        width: min(100% - 1rem, var(--bee-max-width));
    }

    body.course-page .course-shell-head {
        grid-template-columns: 1fr;
        gap: 0.85rem;
        margin-bottom: 0.9rem;
    }

    body.course-page .course-shell-head__main {
        grid-template-columns: 1fr;
        grid-template-areas:
            "logo"
            "title"
            "back";
        justify-items: center;
        text-align: center;
        gap: 0.65rem;
    }

    body.course-page .course-center-logo {
        width: 4.5rem;
        max-width: 34vw;
    }

    body.course-page .course-back {
        justify-self: center;
    }

    body.course-page .course-shell-head .course-title {
        font-size: 1.25rem !important;
    }

    body.course-page .course-todo-trigger {
        width: 100%;
        min-width: 0;
        justify-self: stretch;
    }

    body.course-page .course-player-card {
        padding: 0.62rem !important;
        border-radius: 1rem !important;
        gap: 0.8rem !important;
    }

    body.course-page .course-video-wrapper {
        border-radius: 0.8rem !important;
    }

    body.course-page .course-player-title {
        font-size: 1.08rem !important;
    }

    body.course-page .course-player-controls {
        align-items: stretch;
    }

    body.course-page .course-player-controls [data-player-prev],
    body.course-page .course-player-controls [data-player-next] {
        margin-left: 0 !important;
    }

    body.course-page .course-player-resource-tabs {
        border-radius: 1rem !important;
    }

    body.course-page .course-player-resource-tab {
        flex: 1 1 0;
    }

    body.course-page.course-outline-mobile-open .course-outline-panel {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2200 !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        background: rgba(252, 249, 248, 0.98) !important;
    }

    body.course-page .course-outline-panel {
        position: fixed !important;
        inset: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateY(1rem) !important;
        transition: opacity 180ms ease, transform 180ms ease;
    }

    body.course-page .course-outline-sheet {
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        border: 0 !important;
        padding: max(0.9rem, calc(env(safe-area-inset-top, 0px) + 0.3rem)) 0.82rem calc(1rem + env(safe-area-inset-bottom, 0px)) !important;
        box-shadow: none !important;
    }

    body.course-page .course-outline-header {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    body.course-page .course-outline-close {
        display: inline-flex !important;
    }

    body.course-page .course-outline-fab {
        display: inline-flex !important;
        position: fixed !important;
        left: 50%;
        right: auto;
        bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
        z-index: 1180;
        min-width: min(22rem, calc(100vw - 1.5rem));
        min-height: 3.2rem;
        transform: translateX(-50%);
        align-items: center;
        justify-content: center;
        gap: 0.58rem;
        padding: 0.68rem 0.9rem !important;
        border: 1px solid rgba(19, 19, 19, 0.88) !important;
        border-radius: 999px !important;
        background: var(--course-ink) !important;
        color: var(--course-gold) !important;
        box-shadow: 0 18px 36px rgba(19, 19, 19, 0.22) !important;
    }

    body.course-page .course-outline-fab__label,
    body.course-page .course-outline-fab__count,
    body.course-page .course-outline-fab__count strong {
        color: inherit !important;
        font-family: var(--app-serif-font) !important;
        font-size: 0.9rem !important;
        font-weight: 900 !important;
        letter-spacing: 0 !important;
        text-shadow: none !important;
    }

    body.course-page .course-outline-fab__count {
        min-width: 2.8rem;
        border: 1px solid rgba(255, 215, 0, 0.34) !important;
        background: rgba(255, 215, 0, 0.12) !important;
        box-shadow: none !important;
    }

    body.course-page.course-outline-mobile-open .course-outline-fab,
    body.course-page.course-game-active .course-outline-fab,
    body.course-page.course-review-overlay-open .course-outline-fab,
    body.course-page.course-todo-open .course-outline-fab {
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translate(-50%, 0.75rem) !important;
    }
}

@media (max-width: 420px) {
    body.course-page .course-shell-head,
    body.course-page .course-layout {
        width: calc(100% - 0.6rem);
    }

    body.course-page .course-player-card {
        padding: 0.5rem !important;
    }

    body.course-page .course-btn {
        width: 100%;
    }
}

/* FINAL HOTFIX 65: requested home section heading size */
body.home-page .class-section .section-text h2,
body.home-page .home-courses .section-text h2,
body.home-page .home-games .section-text h2,
body.home-page .blog-section .section-text h2,
body.home-page .home-gallery__intro .section-text h2,
body.home-page .home-exams-guest-copy h2 {
    font-size: 46px !important;
    line-height: 1.06 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

@media (max-width: 640px) {
    body.home-page .class-section .section-text h2,
    body.home-page .home-courses .section-text h2,
    body.home-page .home-games .section-text h2,
    body.home-page .blog-section .section-text h2,
    body.home-page .home-gallery__intro .section-text h2,
    body.home-page .home-exams-guest-copy h2 {
        font-size: clamp(2rem, 10vw, 46px) !important;
    }
}

/* FINAL COURSE COLOR ALIGNMENT: keep course page on the web's editorial black/gold system */
body.course-page {
    --course-gold: #e0aa00;
    --course-gold-deep: #a87b00;
    --course-gold-soft: #fff5c8;
    --course-paper-soft: #f6f3f2;
    --course-line: rgba(19, 19, 19, 0.08);
    --course-line-strong: rgba(19, 19, 19, 0.14);
}

body.course-page .course-outline-progress-label,
body.course-page .course-player-badge,
body.course-page .course-player-review-stage__eyebrow,
body.course-page .course-player-review-stage__counter,
body.course-page .course-player-review-stage__chip,
body.course-page .course-player-review-stage__canvas-state,
body.course-page .course-player-review-stage__label {
    background: var(--course-paper-soft) !important;
    color: rgba(19, 19, 19, 0.72) !important;
    border-color: rgba(224, 170, 0, 0.34) !important;
}

body.course-page .course-outline-summary-chip {
    background: #ffffff !important;
    color: rgba(19, 19, 19, 0.68) !important;
    border-color: var(--course-line-strong) !important;
}

body.course-page .course-outline-summary-chip.is-current,
body.course-page .course-outline-summary-chip.is-watched {
    background: #ffffff !important;
    color: var(--course-ink) !important;
    border-color: rgba(224, 170, 0, 0.48) !important;
}

body.course-page .course-outline-summary-chip.is-current strong,
body.course-page .course-outline-summary-chip.is-watched strong {
    color: var(--course-ink) !important;
}

body.course-page .course-outline-progressbar-track {
    background: rgba(19, 19, 19, 0.1) !important;
}

body.course-page .course-outline-progressbar-fill {
    background: var(--course-gold) !important;
}

body.course-page .outline-lesson {
    border-color: var(--course-line) !important;
    background: #ffffff !important;
    color: var(--course-copy) !important;
}

body.course-page .outline-lesson:hover,
body.course-page .outline-lesson:focus-visible {
    border-color: rgba(224, 170, 0, 0.5) !important;
    background: #fffdf4 !important;
}

body.course-page .outline-lesson.is-watched:not(.is-active) {
    border-color: rgba(19, 19, 19, 0.1) !important;
    background: #ffffff !important;
}

body.course-page .outline-lesson.is-active {
    border-color: #8f171d !important;
    background: #8f171d !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(143, 23, 29, 0.22) !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-number,
body.course-page .outline-lesson.is-active .outline-lesson-title-text {
    color: #ffffff !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-number {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
    opacity: 1;
}

body.course-page .outline-lesson-go,
body.course-page .outline-lesson-attachment-icon,
body.course-page .outline-lesson-review-icon {
    background: var(--course-paper-soft) !important;
    color: var(--course-ink) !important;
    border-color: var(--course-line-strong) !important;
}

body.course-page .outline-lesson.is-watched:not(.is-active) .outline-lesson-go {
    background: #ffffff !important;
    color: var(--course-ink) !important;
    border-color: rgba(19, 19, 19, 0.12) !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-go,
body.course-page .outline-lesson.is-active .outline-lesson-attachment-icon,
body.course-page .outline-lesson.is-active .outline-lesson-review-icon {
    background: #ffffff !important;
    color: #8f171d !important;
    border-color: #ffffff !important;
}

body.course-page .course-btn.primary,
body.course-page .course-back,
body.course-page .course-outline-icon {
    background: var(--course-ink) !important;
    color: var(--course-gold) !important;
    border-color: var(--course-ink) !important;
}

body.course-page .course-todo-trigger {
    background: #ffffff !important;
    color: var(--course-ink) !important;
    border-color: rgba(224, 170, 0, 0.42) !important;
    box-shadow: 0 14px 28px rgba(19, 19, 19, 0.08) !important;
}

body.course-page .course-todo-trigger__count {
    background: var(--course-gold) !important;
    color: var(--course-ink) !important;
}

/* FINAL COURSE REVIEW WIDTH: let the review-game box use the player column */
body.course-page .course-player-resource-panel[data-player-panel='review'] {
    padding: 1rem !important;
}

body.course-page .course-player-resource-panel[data-player-panel='review'] .course-player-review-lab {
    grid-template-columns: 1fr !important;
    align-items: stretch;
    width: 100%;
}

body.course-page .course-player-resource-panel[data-player-panel='review'] .course-player-review-lab__rail {
    width: 100%;
}

body.course-page .course-player-resource-panel[data-player-panel='review'] .course-player-review-header {
    max-width: 42rem;
}

body.course-page .course-player-resource-panel[data-player-panel='review'] .course-player-review-list {
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: 0.75rem !important;
}

body.course-page .course-player-resource-panel[data-player-panel='review'] .course-player-review-item {
    grid-template-columns: 4.2rem minmax(0, 1fr) 2.8rem !important;
    min-height: 5rem;
    padding: 0.8rem 0.9rem !important;
}

body.course-page .course-player-resource-panel[data-player-panel='review'] .course-player-review-item-thumb {
    width: 3.55rem;
    height: 3.55rem;
    border-radius: 0.85rem;
}

body.course-page .course-player-resource-panel[data-player-panel='review'] .course-player-review-stage {
    display: none !important;
    min-height: 0;
}

@media (max-width: 1100px) {
body.course-page .course-player-resource-panel[data-player-panel='review'] .course-player-review-lab {
        grid-template-columns: 1fr !important;
    }
}

/* FINAL HOTFIX 62: active filter tabs use brand red */
body.home-page .course-category-tabs .category-tab.is-active,
body.home-page .home-courses .category-tab.is-active,
body.home-page .home-exams-categories .exam-category-pill.is-active,
body.home-page .home-exams .exam-category-pill.is-active,
body.home-page .class-showcase-card__practice-filters.home-exams-categories .exam-category-pill.is-active {
    background: #8F171D !important;
    border-color: #8F171D !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .course-category-tabs .category-tab.is-active .category-count,
body.home-page .home-courses .category-tab.is-active .category-count,
body.home-page .home-exams-categories .exam-category-pill.is-active span,
body.home-page .home-exams .exam-category-pill.is-active span,
body.home-page .class-showcase-card__practice-filters.home-exams-categories .exam-category-pill.is-active span {
    background: #ffffff !important;
    color: #8F171D !important;
    border-color: #ffffff !important;
}

/* FINAL HOTFIX 63: allow JS filters to hide items despite card display overrides */
body.home-page [data-course-item][hidden],
body.home-page [data-exam-item][hidden],
body.home-page [data-class-practice-item][hidden],
body.home-page .class-showcase-card:not(.is-restricted) [data-class-practice-item][hidden],
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-exam-card[data-class-practice-item][hidden] {
    display: none !important;
}

/* FINAL HOTFIX 66: exam section tabs show only the current section as active */
body.exam-page .question-sidebar .section-tab.completed:not(.active):not([aria-selected="true"]) {
    background: rgba(255, 255, 255, 0.86) !important;
    border-color: rgba(31, 47, 30, 0.2) !important;
    color: rgba(31, 47, 30, 0.78) !important;
    box-shadow: none !important;
}

body.exam-page .question-sidebar .section-tab.completed:not(.active):not([aria-selected="true"]) .tab-count {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(31, 47, 30, 0.22) !important;
    color: rgba(31, 47, 30, 0.78) !important;
}

body.exam-page .question-sidebar .section-tab.active,
body.exam-page .question-sidebar .section-tab[aria-selected="true"] {
    background: #8F171D !important;
    border-color: #8F171D !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.exam-page .question-sidebar .section-tab.active .tab-count,
body.exam-page .question-sidebar .section-tab[aria-selected="true"] .tab-count {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #8F171D !important;
}

/* FINAL HOTFIX 67: keep Speaking question titles consistent with other exam sections */
body.exam-page #part-speak .speak-group-intro__title,
body.exam-page #part-speak .speak-group-intro__title *,
body.exam-page #part-speak .speak-movers-game__title.question-text--boxed,
body.exam-page #part-speak .speak-movers-game__title.question-text--boxed *,
body.exam-page #part-speak .speak-question-sticky > .question-text--boxed,
body.exam-page #part-speak .speak-question-sticky > .question-text--boxed * {
    font-size: clamp(0.92rem, 0.84rem + 0.22vw, 1.04rem) !important;
    line-height: 1.42 !important;
    letter-spacing: 0 !important;
}

body.exam-page #part-speak .speak-group-intro__title,
body.exam-page #part-speak .speak-group-intro__title *,
body.exam-page #part-speak .speak-movers-game__title.question-text--boxed,
body.exam-page #part-speak .speak-movers-game__title.question-text--boxed * {
    font-weight: 700 !important;
}

/* FINAL HOTFIX 68: active question index uses brand red */
body.exam-page .question-index.is-active-question,
body.exam-page .question-index[aria-current="true"],
body.exam-page .question-index.answered.is-active-question,
body.exam-page .question-index.answered[aria-current="true"],
body.exam-page .question-index.flagged.is-active-question,
body.exam-page .question-index.flagged[aria-current="true"] {
    background: #8F171D !important;
    border-color: #8F171D !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.exam-page .question-index.is-active-question:hover,
body.exam-page .question-index.is-active-question:focus-visible,
body.exam-page .question-index[aria-current="true"]:hover,
body.exam-page .question-index[aria-current="true"]:focus-visible {
    background: #8F171D !important;
    border-color: #8F171D !important;
    color: #ffffff !important;
}

/* FINAL HOTFIX 69: selected Yes/No answers use brand red */
body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .option-item--yesno.is-selected,
body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .option-item--yesno:has(input:checked),
body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .question-card--scene-yesno .option-item--yesno.is-selected,
body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .question-card--scene-yesno .option-item--yesno:has(input:checked) {
    background: #8F171D !important;
    border-color: #8F171D !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .option-item--yesno.is-selected .option-text,
body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .option-item--yesno:has(input:checked) .option-text {
    color: #ffffff !important;
}

body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .option-item--yesno.is-selected:hover,
body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .option-item--yesno.is-selected:focus-within,
body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .option-item--yesno:has(input:checked):hover,
body.exam-page:not(.exam-submitted-state):not(.exam-reviewing-answers) #part-read .option-item--yesno:has(input:checked):focus-within {
    background: #8F171D !important;
    border-color: #8F171D !important;
    color: #ffffff !important;
}

/* FINAL HOTFIX 71: course todo modal reward label and close button readability */
body.course-page .course-todo-dialog__close {
    width: 2.35rem !important;
    height: 2.35rem !important;
    border-radius: 999px !important;
    background: #f7f4ec !important;
    color: #1b1b1b !important;
    border: 1px solid rgba(22, 22, 22, 0.12) !important;
    box-shadow: none !important;
}

body.course-page .course-todo-dialog__close:hover,
body.course-page .course-todo-dialog__close:focus-visible {
    background: #fff7d7 !important;
    color: #111111 !important;
    border-color: rgba(224, 170, 0, 0.52) !important;
    box-shadow: 0 10px 18px rgba(18, 18, 18, 0.08) !important;
}

body.course-page .course-todo-item__reward {
    gap: 0.42rem !important;
    padding: 0.24rem 0.6rem !important;
    border-color: rgba(224, 170, 0, 0.42) !important;
    background: linear-gradient(135deg, #fff8dd 0%, #fff2c4 100%) !important;
}

body.course-page .course-todo-item__reward img,
body.course-page .course-todo-item__reward-fallback {
    width: 22px !important;
    height: 22px !important;
}

body.course-page .course-todo-item__reward span {
    background: transparent !important;
    color: #6c5200 !important;
    font-size: 0.8rem !important;
    font-weight: 800 !important;
}

/* FINAL HOTFIX 72: use crown icon for course todo rewards (match homepage style) */
body.course-page .course-todo-item__state,
body.course-page .course-todo-item__reward {
    position: relative !important;
}

body.course-page .course-todo-item__state::before {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 1.15rem !important;
    height: 1.15rem !important;
    transform: translate(-50%, -50%) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c89608' d='M3.5 8.5 8 11l4-5 4 5 4.5-2.5L19 16H5L3.5 8.5Zm1.9 8.8h13.2a.9.9 0 0 1 .9.9v.9H4.5v-.9a.9.9 0 0 1 .9-.9Z'/%3E%3Cpath fill='%23f4c542' d='M5.4 17.3h13.2a.9.9 0 0 1 .9.9v.9H4.5v-.9a.9.9 0 0 1 .9-.9Zm2.4-6.2 4.2-5.1 4.2 5.1 4-2.2L19 16H5L3.8 8.9l4 2.2Z'/%3E%3Ccircle cx='4.8' cy='8.8' r='1.3' fill='%23f6d96d'/%3E%3Ccircle cx='12' cy='5.6' r='1.35' fill='%23f6d96d'/%3E%3Ccircle cx='19.2' cy='8.8' r='1.3' fill='%23f6d96d'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    z-index: 1 !important;
}

body.course-page .course-todo-item__state-check {
    z-index: 2 !important;
}

body.course-page .course-todo-item__state-sticker,
body.course-page .course-todo-item__state-sticker-fallback,
body.course-page .course-todo-item__reward img,
body.course-page .course-todo-item__reward-fallback {
    display: none !important;
}

body.course-page .course-todo-item__reward::before {
    content: '';
    display: inline-block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border-radius: 999px;
    background-color: #fffef8;
    border: 1px solid rgba(224, 170, 0, 0.34);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c89608' d='M3.5 8.5 8 11l4-5 4 5 4.5-2.5L19 16H5L3.5 8.5Zm1.9 8.8h13.2a.9.9 0 0 1 .9.9v.9H4.5v-.9a.9.9 0 0 1 .9-.9Z'/%3E%3Cpath fill='%23f4c542' d='M5.4 17.3h13.2a.9.9 0 0 1 .9.9v.9H4.5v-.9a.9.9 0 0 1 .9-.9Zm2.4-6.2 4.2-5.1 4.2 5.1 4-2.2L19 16H5L3.8 8.9l4 2.2Z'/%3E%3Ccircle cx='4.8' cy='8.8' r='1.3' fill='%23f6d96d'/%3E%3Ccircle cx='12' cy='5.6' r='1.35' fill='%23f6d96d'/%3E%3Ccircle cx='19.2' cy='8.8' r='1.3' fill='%23f6d96d'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 15px 15px;
}

/* Keep the expanded home search from covering navigation after adding the install guide link. */
@media (min-width: 901px) and (max-width: 1500px) {
    body .site-header--compass.site-header--with-search {
        grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) auto !important;
        grid-template-areas:
            "brand nav actions"
            "search search search" !important;
        min-height: 0 !important;
    }

    body .site-header--compass.site-header--with-search .site-header__brand {
        grid-area: brand !important;
    }

    body .site-header--compass.site-header--with-search .site-header__nav-shell {
        grid-area: nav !important;
        padding: 0 1rem !important;
    }

    body .site-header--compass.site-header--with-search .main-nav {
        max-width: none !important;
        justify-content: center !important;
        gap: clamp(0.65rem, 1.35vw, 1.45rem) !important;
    }

    body .site-header--compass.site-header--with-search .main-nav a {
        font-size: clamp(0.84rem, 0.95vw, 0.98rem) !important;
    }

    body .site-header--compass.site-header--with-search .header-actions {
        grid-area: actions !important;
    }

    body .site-header--compass.site-header--with-search .site-header__search {
        display: block !important;
        grid-area: search !important;
        padding: 0 1.25rem 1rem !important;
    }

    body .site-header--compass.site-header--with-search .site-header__search .section-search {
        max-width: 680px !important;
        margin: 0 auto !important;
    }

    body.home-page .site-header--compass.site-header--with-search .site-header__brand {
        z-index: 2 !important;
    }

    body.home-page .site-header--compass.site-header--with-search .site-header__nav-shell {
        padding-left: clamp(20rem, 27vw, 22rem) !important;
    }

    body.home-page .site-header--compass.site-header--with-search .main-nav {
        gap: 0.72rem !important;
        padding-left: clamp(1.75rem, 3vw, 2.5rem) !important;
    }
}

/* FINAL HOTFIX 70: keep course back link inside header flow on desktop */
@media (min-width: 901px) {
    body.course-page .course-shell-head {
        position: static !important;
        align-items: start !important;
    }

    body.course-page .course-shell-head__main {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "logo logo"
            "title back";
        align-items: center !important;
        gap: 0.7rem 1.25rem !important;
    }

    body.course-page .course-center-logo {
        grid-area: logo !important;
        width: clamp(75px, 5.5vw, 110px) !important;
        max-width: min(16vw, 110px) !important;
    }

    body.course-page .course-shell-head .course-title {
        grid-area: title !important;
        width: 100% !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        justify-self: start !important;
        align-self: center !important;
    }

    body.course-page .course-back {
        position: static !important;
        top: auto !important;
        right: auto !important;
        grid-area: back !important;
        justify-self: end !important;
        align-self: center !important;
        z-index: auto !important;
        margin: 0 !important;
    }
}

/* FINAL HOTFIX 74: keep exam result modal typography scoped and readable */
body.exam-page .exam-modal,
body.exam-page .exam-modal :where(div, p, span, button, h3, h4, strong) {
    font-family: var(--app-sans-font, "Be Vietnam Pro", "Manrope", "Segoe UI", Arial, sans-serif) !important;
    letter-spacing: 0 !important;
}

body.exam-page .exam-modal-card {
    font-size: 15px !important;
    line-height: 1.45 !important;
}

body.exam-page .exam-modal-head h3 {
    font-size: clamp(1.45rem, 1.9vw, 1.7rem) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-student-name {
    font-size: 0.92rem !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

body.exam-page .exam-modal-close {
    font-size: 1.12rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.exam-page .exam-modal-summary-lead {
    font-size: 0.94rem !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}

body.exam-page .exam-modal-summary-label {
    font-size: 0.8rem !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-summary-value {
    font-size: 1rem !important;
    line-height: 1.3 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-reward__eyebrow,
body.exam-page .exam-modal-arena__eyebrow {
    font-size: 0.82rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-reward__head h4,
body.exam-page .exam-modal-arena__head h4 {
    font-size: clamp(1.35rem, 2.1vw, 1.72rem) !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-reward__status,
body.exam-page .exam-modal-arena__rank {
    font-size: 0.9rem !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-reward__message {
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
}

body.exam-page .exam-modal-reward__meta,
body.exam-page .exam-modal-section-meta {
    font-size: 0.9rem !important;
    line-height: 1.45 !important;
}

body.exam-page .exam-modal-reward__milestone,
body.exam-page .exam-modal-reward__progress-text {
    font-size: 0.78rem !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-overview-item h4 {
    font-size: 0.86rem !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-overview-item p {
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-section-score h4 {
    font-size: clamp(1.18rem, 1.8vw, 1.42rem) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-section-score strong {
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body.exam-page .exam-modal-actions .btn.primary {
    font-size: 0.95rem !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

@media (max-width: 640px) {
    body.exam-page .exam-modal-head h3 {
        font-size: clamp(1.18rem, 5vw, 1.45rem) !important;
    }

    body.exam-page .exam-modal-reward__head h4,
    body.exam-page .exam-modal-arena__head h4 {
        font-size: clamp(1.18rem, 5.2vw, 1.45rem) !important;
    }

    body.exam-page .exam-modal-section-score h4 {
        font-size: clamp(1.04rem, 4.8vw, 1.22rem) !important;
    }
}

/* FINAL HOTFIX 66: tighten desktop homepage header spacing */
@media (min-width: 1200px) {
    body.home-page .site-header--compass.site-header--with-search,
    body.home-page .site-header--compass.site-header--with-search.site-header.exam-page-header,
    body.home-page .site-header--compass.site-header--with-search.container,
    body.home-page .site-header--compass.site-header--with-search.site-header.exam-page-header.container {
        grid-template-columns: auto minmax(0, 1fr) minmax(18rem, 26rem) auto !important;
        column-gap: clamp(0.85rem, 1.15vw, 1.35rem) !important;
    }

    body.home-page .site-header--compass.site-header--with-search .site-header__nav-shell {
        width: auto;
        justify-self: center;
    }

    body.home-page .site-header--compass.site-header--with-search .main-nav,
    body.home-page.mobile-nav-ready .site-header--compass.site-header--with-search .main-nav {
        width: max-content;
        max-width: 100%;
        gap: clamp(0.45rem, 0.72vw, 0.95rem);
    }

    body.home-page .site-header--compass.site-header--with-search .site-header__search {
        max-width: 26rem;
    }
}

/* FINAL HOTFIX GALLERY: align gallery page grid with homepage square media */
body.gallery-page {
    background: #ffffff !important;
    --gallery-page-gutter: clamp(1.15rem, 5vw, 6rem);
    --gallery-content-width: min(var(--bee-max-width), calc(100vw - (var(--gallery-page-gutter) * 2)));
}

@media (min-width: 1200px) {
    body.gallery-page {
        --gallery-content-width: min(1920px, calc(100vw - (var(--gallery-page-gutter) * 2)));
    }
}

@media (max-width: 640px) {
    body.gallery-page {
        --gallery-page-gutter: clamp(1rem, 4.8vw, 1.35rem);
    }
}

body.gallery-page .gallery-content.container,
body.gallery-page .gallery-hero > .container,
body.gallery-page .site-footer.site-footer--hoang-anh .container {
    width: var(--gallery-content-width) !important;
    max-width: var(--gallery-content-width) !important;
    margin-inline: auto !important;
}

body.gallery-page .site-header--compass.container,
body.gallery-page .site-header--compass.site-header.exam-page-header.container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
    padding-left: max(0rem, calc((100vw - var(--gallery-content-width)) / 2)) !important;
    padding-right: max(0rem, calc((100vw - var(--gallery-content-width)) / 2)) !important;
    top: 0 !important;
}

body.gallery-page .gallery-shell,
body.gallery-page .gallery-masonry {
    width: 100% !important;
}

body.gallery-page .gallery-filters__label {
    display: none !important;
}

body.gallery-page .gallery-filter {
    border-color: rgba(143, 23, 29, 0.16) !important;
    background: #ffffff !important;
    color: #8f171d !important;
    box-shadow: none !important;
}

body.gallery-page .gallery-filter span {
    background: rgba(143, 23, 29, 0.08) !important;
    color: #8f171d !important;
}

body.gallery-page .gallery-filter:hover,
body.gallery-page .gallery-filter:focus-visible {
    border-color: rgba(143, 23, 29, 0.36) !important;
    background: rgba(143, 23, 29, 0.04) !important;
    color: #7c1319 !important;
    transform: none !important;
}

body.gallery-page .gallery-filter.is-active {
    border-color: #8f171d !important;
    background: #8f171d !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.gallery-page .gallery-filter.is-active span {
    background: #ffffff !important;
    color: #8f171d !important;
}

body.gallery-page .gallery-masonry {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: clamp(1rem, 1.6vw, 1.35rem) !important;
    align-items: stretch !important;
}

body.gallery-page .gallery-card,
body.gallery-page .gallery-card__link,
body.gallery-page .gallery-card__figure {
    width: 100% !important;
    min-width: 0 !important;
}

body.gallery-page .gallery-card__figure {
    height: auto !important;
    border: 1px solid var(--home-editorial-card-border, #d8e3ef) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    transform: none !important;
}

body.gallery-page .gallery-card__link:hover .gallery-card__figure,
body.gallery-page .gallery-card__link:focus-visible .gallery-card__figure {
    border-color: var(--home-editorial-card-border-strong, #c7d6e6) !important;
    box-shadow: none !important;
    transform: none !important;
}

body.gallery-page .gallery-card__media {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    background: #dfeaf3 !important;
    overflow: hidden !important;
}

body.gallery-page .gallery-card__media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 1100px) {
    body.gallery-page .gallery-masonry {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.gallery-page .gallery-masonry {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    body.gallery-page .gallery-masonry {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 901px) and (max-width: 1500px) {
    body.gallery-page .site-header--compass,
    body.gallery-page .site-header--compass.container {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        justify-content: unset !important;
        column-gap: clamp(0.75rem, 1.1vw, 1.2rem) !important;
        overflow: visible !important;
    }

    body.gallery-page .site-header--compass .site-header__brand {
        justify-self: start;
    }

    body.gallery-page .site-header--compass .site-header__nav-shell {
        width: 100%;
        justify-self: stretch;
    }

    body.gallery-page .site-header--compass .main-nav,
    body.gallery-page.mobile-nav-ready .site-header--compass .main-nav {
        width: 100%;
        gap: clamp(0.28rem, 0.54vw, 0.72rem);
    }

    body.gallery-page .site-header--compass .main-nav a,
    body.gallery-page.mobile-nav-ready .site-header--compass .main-nav a {
        padding-left: 0.24rem !important;
        padding-right: 0.24rem !important;
    }

    body.gallery-page .site-header--compass .header-actions,
    body.gallery-page .site-header--compass .header-actions.has-notify-bell {
        justify-self: end;
    }
}

/* FINAL HOTFIX MOBILE HEADER: clean up conflicting compass header rules on phones */
@media (max-width: 768px) {
    body.mobile-nav-ready .site-header--compass,
    body.mobile-nav-ready .site-header--compass.container,
    body.mobile-nav-ready .site-header--compass.site-header.exam-page-header,
    body.mobile-nav-ready .site-header--compass.site-header--with-search,
    body.mobile-nav-ready .site-header--compass.site-header--with-search.container,
    body.mobile-nav-ready .site-header--compass.site-header--with-search.site-header.exam-page-header {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        grid-template-areas:
            "brand actions toggle"
            "search search search"
            "nav nav nav" !important;
        align-items: center !important;
        gap: 0.45rem 0.55rem !important;
        padding: 0.55rem 0.85rem !important;
        min-height: 0 !important;
    }

    body.mobile-nav-ready .site-header--compass:not(.site-header--with-search) {
        grid-template-areas:
            "brand actions toggle"
            "nav nav nav" !important;
    }

    body.mobile-nav-ready .site-header--compass .site-header__brand {
        grid-area: brand !important;
        padding: 0 !important;
        margin: 0 !important;
        justify-self: start !important;
    }

    body.mobile-nav-ready .site-header--compass .logo-block {
        margin: 0 !important;
        padding: 0 !important;
        justify-content: flex-start !important;
    }

    body.mobile-nav-ready .site-header--compass .site-logo {
        height: 44px !important;
        max-width: min(38vw, 130px) !important;
    }

    body.mobile-nav-ready .site-header--compass .site-header__nav-shell {
        display: contents !important;
    }

    body.mobile-nav-ready .site-header--compass .header-actions,
    body.mobile-nav-ready .site-header--compass .header-actions.has-notify-bell {
        grid-area: actions !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.4rem !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        justify-self: end !important;
    }

    body.mobile-nav-ready .site-header--compass .header-actions.has-notify-bell .header-notify-btn,
    body.mobile-nav-ready .site-header--compass .header-actions.has-notify-bell .header-notify-btn.is-active,
    body.mobile-nav-ready .site-header--compass .header-notify-btn,
    body.mobile-nav-ready .site-header--compass .header-notify-btn.is-active {
        position: relative !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        flex: 0 0 40px !important;
        flex-basis: 40px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 10px !important;
    }

    body.mobile-nav-ready .site-header--compass .header-notify-btn::before {
        inset: 6px !important;
        border-radius: 7px !important;
    }

    body.mobile-nav-ready .site-header--compass .header-actions.has-notify-bell .header-notify-btn__icon,
    body.mobile-nav-ready .site-header--compass .header-notify-btn__icon {
        width: 18px !important;
        height: 18px !important;
    }

    body.mobile-nav-ready .site-header--compass .header-notify-btn__badge {
        top: -4px !important;
        right: -4px !important;
        min-width: 16px !important;
        height: 16px !important;
        padding: 0 4px !important;
        font-size: 0.62rem !important;
        line-height: 14px !important;
        border-width: 2px !important;
    }

    body.mobile-nav-ready .site-header--compass .user-menu,
    body.mobile-nav-ready .site-header--compass .header-actions.has-notify-bell .user-menu {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 0 !important;
    }

    body.mobile-nav-ready .site-header--compass .user-toggle,
    body.mobile-nav-ready .site-header--compass .header-actions .user-toggle,
    body.mobile-nav-ready .site-header--compass .header-actions.has-notify-bell .user-toggle {
        display: inline-flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        grid-template-columns: none !important;
        grid-template-areas: none !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        min-height: 0 !important;
        gap: 0.25rem !important;
        padding: 2px !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 999px !important;
        box-shadow: none !important;
    }

    body.mobile-nav-ready .site-header--compass .user-meta {
        display: none !important;
    }

    body.mobile-nav-ready .site-header--compass .user-avatar {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px !important;
        border-radius: 999px !important;
        margin: 0 !important;
        box-shadow: none !important;
    }

    body.mobile-nav-ready .site-header--compass .user-caret {
        margin: 0 0 0 2px !important;
    }

    body.mobile-nav-ready .site-header--compass .user-dropdown {
        top: calc(100% + 0.45rem) !important;
        right: 0 !important;
        left: auto !important;
        width: min(18rem, calc(100vw - 1rem)) !important;
    }

    body.mobile-nav-ready .site-header--compass .mobile-nav-toggle {
        grid-area: toggle !important;
        order: initial !important;
        align-self: center !important;
        justify-self: end !important;
        margin: 0 !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        border-radius: 10px !important;
        padding: 0 !important;
    }

    body.mobile-nav-ready .site-header--compass.site-header--with-search .site-header__search {
        grid-area: search !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body.mobile-nav-ready .site-header--compass .site-header__search .global-search {
        min-height: 44px !important;
    }

    body.mobile-nav-ready .site-header--compass .main-nav {
        grid-area: nav !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.mobile-nav-ready .site-header--compass .main-nav:not(.is-open) {
        display: none !important;
    }

    body.mobile-nav-ready .site-header--compass .main-nav.is-open {
        display: flex !important;
        flex-direction: column !important;
        gap: 4px !important;
        padding: 4px 0 0 !important;
    }
}

/* Classroom practice scroll alignment: end at the notes panel bottom */
@media (min-width: 1241px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column.is-height-synced {
        height: var(--class-practice-column-synced-height) !important;
        max-height: var(--class-practice-column-synced-height) !important;
        overflow: hidden !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column.is-height-synced .class-showcase-card__practice-browser {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: column !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column.is-height-synced .class-showcase-card__practice-list {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        padding-right: 0.18rem !important;
        scrollbar-gutter: stable !important;
    }
}

@media (max-width: 1240px) {
    body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-column.is-height-synced {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

/* Keep classroom practice category tabs from being clipped by the horizontal scroll area. */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-filters.home-exams-categories {
    flex: 0 0 auto !important;
    align-items: stretch !important;
    min-height: 2.65rem !important;
    margin-bottom: 1rem !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-filters.home-exams-categories::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__practice-filters.home-exams-categories .exam-category-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.65rem !important;
    height: 2.65rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1 !important;
}

/* Home introduction refresh */
body.home-page .home-about {
    padding-top: clamp(2.75rem, 4.4vw, 5rem) !important;
    padding-bottom: clamp(2.8rem, 4.6vw, 4.25rem) !important;
}

body.home-page .home-main > .home-about,
body.home-page .home-main--guest > .home-about {
    padding-top: clamp(2.75rem, 4.4vw, 5rem) !important;
}

body.home-page .home-about__shell {
    grid-template-columns: minmax(0, 0.96fr) minmax(420px, 0.94fr);
    gap: clamp(2rem, 4vw, 3.25rem);
    align-items: center;
    padding: clamp(2rem, 4vw, 3.4rem) !important;
    border: 1px solid rgba(17, 17, 17, 0.12);
    border-radius: 8px;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(255, 253, 244, 0.98) 0%, rgba(255, 247, 207, 0.95) 52%, rgba(255, 203, 5, 0.88) 100%) !important;
    box-shadow: 0 18px 42px rgba(17, 17, 17, 0.09);
}

body.home-page .home-about__content {
    justify-content: center;
    padding-bottom: 0;
    max-width: none;
}

body.home-page .home-about__content .home-about__kicker {
    margin: 0 0 0.75rem;
    max-width: none;
    color: #86171b;
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: uppercase;
}

body.home-page .home-about__content h2 {
    max-width: 44rem;
    margin: 0;
    color: #111111;
    font-size: 3rem;
    line-height: 1.08;
    letter-spacing: 0;
    font-weight: 900;
}

body.home-page .home-about__lead {
    display: grid;
    gap: 1rem;
    max-width: 43rem;
    margin-top: 1.35rem;
}

body.home-page .home-about__content .home-about__lead p {
    margin: 0;
    max-width: none;
    color: #2b2b2b;
    font-size: 1.05rem;
    line-height: 1.75;
}

body.home-page .home-about__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 1.65rem;
}

body.home-page .home-about__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    margin-top: 0 !important;
    padding: 0.9rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 0.96rem;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

body.home-page .home-about__cta--primary {
    background: #86171b;
    color: #ffffff;
    border-color: #86171b;
    box-shadow: 0 14px 28px rgba(134, 23, 27, 0.24);
}

body.home-page .home-about__cta--secondary {
    background: rgba(255, 255, 255, 0.94);
    color: #111111;
    border-color: rgba(17, 17, 17, 0.22);
    box-shadow: 0 10px 24px rgba(17, 17, 17, 0.08);
}

body.home-page .home-about__cta:hover,
body.home-page .home-about__cta:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

body.home-page .home-about__cta--primary:hover,
body.home-page .home-about__cta--primary:focus-visible {
    background: #6b1216;
    color: #ffffff;
    border-color: #6b1216;
    box-shadow: 0 18px 32px rgba(107, 18, 22, 0.28);
}

body.home-page .home-about__cta--secondary:hover,
body.home-page .home-about__cta--secondary:focus-visible {
    background: #ffffff;
    color: #86171b;
    border-color: rgba(134, 23, 27, 0.42);
    box-shadow: 0 16px 30px rgba(17, 17, 17, 0.12);
}

body.home-page .home-about__belief {
    display: grid;
    gap: 0.45rem;
    width: min(100%, 43rem);
    margin-top: 1.65rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(134, 23, 27, 0.24);
    border-left: 5px solid #86171b;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 26px rgba(17, 17, 17, 0.08);
}

body.home-page .home-about__belief strong {
    color: #86171b;
    font-size: 1rem;
    line-height: 1.35;
}

body.home-page .home-about__belief span {
    color: rgba(17, 17, 17, 0.68);
    font-size: 1rem;
    line-height: 1.65;
}

body.home-page .home-about__media {
    align-items: center;
    justify-content: center;
    overflow: visible;
}

body.home-page .home-about__media::before {
    content: none;
    display: none;
}

body.home-page .home-about__media-visual {
    display: block;
    width: 100%;
    min-height: 0;
    aspect-ratio: 1.42;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    box-shadow: none;
}

body.home-page .home-about__media-visual > .home-about__media-photo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
    transform: none;
    filter: saturate(1.04) contrast(1.02);
}

@media (max-width: 1120px) {
    body.home-page .home-about__shell {
        grid-template-columns: 1fr;
        gap: 1.65rem;
    }

    body.home-page .home-about__content h2 {
        max-width: 48rem;
        font-size: 2.65rem;
    }

    body.home-page .home-about__media-visual {
        max-width: 48rem;
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 640px) {
    body.home-page .home-about {
        padding-top: 1.85rem !important;
        padding-bottom: 2.35rem !important;
    }

    body.home-page .home-main > .home-about,
    body.home-page .home-main--guest > .home-about {
        padding-top: 1.85rem !important;
    }

    body.home-page .home-about__shell {
        gap: 1.15rem;
        padding: 1rem !important;
        border-radius: 8px;
    }

    body.home-page .home-about__content h2 {
        font-size: 2.05rem;
        line-height: 1.12;
    }

    body.home-page .home-about__content .home-about__lead p {
        font-size: 0.96rem;
        line-height: 1.65;
    }

    body.home-page .home-about__actions {
        width: 100%;
        gap: 0.65rem;
        margin-top: 1.25rem;
    }

    body.home-page .home-about__cta {
        width: 100%;
        min-height: 48px;
    }

    body.home-page .home-about__belief {
        margin-top: 1.25rem;
        padding: 0.9rem 1rem;
    }

    body.home-page .home-about__media-visual {
        aspect-ratio: 4 / 3;
    }
}

/* Keep JS-driven filters authoritative after later card display overrides. */
body.home-page [data-course-item][hidden],
body.home-page [data-exam-item][hidden],
body.home-page [data-class-practice-item][hidden],
body.home-page [data-game-item][hidden],
body.home-page .home-gallery-card[hidden],
body.home-page .class-showcase-exam-card[data-class-practice-item][hidden],
body.home-page #khoa-hoc [data-course-item][hidden],
body.home-page #luyen-de [data-exam-item][hidden],
body.home-page #lop-hoc [data-class-practice-item][hidden],
body.home-page #kho-game [data-game-item][hidden] {
    display: none !important;
}

/* FINAL HOTFIX 76: keep homepage slider dots inside the image bounds */
body.home-page .home-hero--slider-only .hero-slider--full {
    position: relative !important;
    display: block !important;
}

body.home-page .home-hero--slider-only .hero-slider--full #heroSlider.slider {
    width: 100% !important;
}

body.home-page .home-hero--slider-only .hero-slider--full #sliderDots.slider-dots {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    bottom: clamp(0.75rem, 1.25vw, 1.15rem) !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content;
    max-width: calc(100% - 2rem);
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0.48rem !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    z-index: 4 !important;
}

body.home-page .home-hero--slider-only .hero-slider--full #sliderDots.slider-dots .slider-dot {
    position: relative !important;
    width: 0.62rem !important;
    height: 0.38rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(43, 33, 8, 0.3) !important;
    box-shadow: none !important;
    opacity: 0.9;
    transition:
        width 180ms ease,
        background 180ms ease,
        transform 180ms ease,
        opacity 180ms ease !important;
}

body.home-page .home-hero--slider-only .hero-slider--full #sliderDots.slider-dots .slider-dot::after {
    display: none !important;
}

body.home-page .home-hero--slider-only .hero-slider--full #sliderDots.slider-dots .slider-dot:hover {
    background: rgba(224, 170, 0, 0.55) !important;
    opacity: 1;
    transform: translateY(-1px) !important;
}

body.home-page .home-hero--slider-only .hero-slider--full #sliderDots.slider-dots .slider-dot.active {
    width: 2.15rem !important;
    height: 0.38rem !important;
    background: linear-gradient(90deg, #e0aa00 0%, #ffcf32 100%) !important;
    box-shadow: 0 0 0 1px rgba(224, 170, 0, 0.18) !important;
    opacity: 1;
    transform: none !important;
}

@media (max-width: 760px) {
    body.home-page .home-hero--slider-only .hero-slider--full #sliderDots.slider-dots {
        bottom: 0.48rem !important;
        gap: 0.4rem !important;
    }

    body.home-page .home-hero--slider-only .hero-slider--full #sliderDots.slider-dots .slider-dot {
        width: 0.52rem !important;
        height: 0.34rem !important;
    }

    body.home-page .home-hero--slider-only .hero-slider--full #sliderDots.slider-dots .slider-dot.active {
        width: 1.75rem !important;
        height: 0.34rem !important;
    }
}

/* HOTFIX: podium emphasis in personal leaderboard (top 1/2/3) */
body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard-item {
    overflow: visible !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard-rank {
    width: 28px !important;
    height: 28px !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard-item.is-top-1 {
    background: #fffaeb !important;
    border-color: rgba(255, 200, 0, 0.34) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard-item.is-top-2 {
    background: #f5f7ff !important;
    border-color: rgba(140, 151, 171, 0.34) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard-item.is-top-3 {
    background: #fff3e7 !important;
    border-color: rgba(191, 132, 74, 0.34) !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-rank {
    background: linear-gradient(135deg, #ffdd42, #ffcb00) !important;
    border-color: rgba(255, 200, 0, 0.42) !important;
    color: #4f3900 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard-item.is-top-2 .class-showcase-card__leaderboard-rank {
    background: linear-gradient(135deg, #ffffff, #cfd6e3) !important;
    border-color: rgba(127, 135, 150, 0.45) !important;
    color: #4e5667 !important;
}

body.home-page .class-showcase-card:not(.is-restricted) .class-showcase-card__leaderboard-panel .class-showcase-card__leaderboard-item.is-top-3 .class-showcase-card__leaderboard-rank {
    background: linear-gradient(135deg, #ffe0bb, #c97f36) !important;
    border-color: rgba(166, 104, 47, 0.48) !important;
    color: #5c3411 !important;
}

/* FINAL HOTFIX 77: tighten course detail header UX on mobile */
body.course-page .course-shell-head__main,
body.course-page .course-shell-head .course-title,
body.course-page .course-back,
body.course-page .course-todo-trigger {
    min-width: 0;
}

body.course-page .course-shell-head .course-title {
    letter-spacing: 0 !important;
    text-transform: none !important;
    overflow-wrap: anywhere;
}

body.course-page .course-back {
    text-indent: 0 !important;
}

body.course-page .course-back::before {
    content: none !important;
}

@media (max-width: 768px) {
    body.course-page.mobile-nav-ready .site-header--compass,
    body.course-page.mobile-nav-ready .site-header--compass.container,
    body.course-page.mobile-nav-ready .site-header--compass.site-header.exam-page-header,
    body.course-page.mobile-nav-ready .site-header--compass.site-header--with-search,
    body.course-page.mobile-nav-ready .site-header--compass.site-header--with-search.container {
        display: none !important;
    }

    body.course-page .course-shell {
        padding-top: 0.75rem !important;
        padding-bottom: 2rem !important;
    }

    body.course-page .course-shell-head,
    body.course-page .course-layout {
        width: min(100% - 1rem, var(--bee-max-width));
    }

    body.course-page .course-shell-head {
        grid-template-columns: 1fr !important;
        gap: 0.72rem !important;
        margin-bottom: 0.78rem !important;
        padding-bottom: 0.78rem !important;
        border-bottom: 1px solid rgba(19, 19, 19, 0.08) !important;
    }

    body.course-page .course-shell-head__main {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-areas:
            "logo back"
            "title title" !important;
        align-items: center !important;
        justify-items: stretch !important;
        gap: 0.55rem 0.75rem !important;
        text-align: left !important;
    }

    body.course-page .course-center-logo {
        grid-area: logo !important;
        justify-self: start !important;
        width: clamp(4.2rem, 18vw, 5.25rem) !important;
        max-width: none !important;
    }

    body.course-page .course-center-logo img {
        width: 100% !important;
        height: auto !important;
    }

    body.course-page .course-back {
        grid-area: back !important;
        justify-self: end !important;
        align-self: center !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: min(56vw, 14rem) !important;
        height: auto !important;
        min-height: 2.35rem !important;
        padding: 0.58rem 0.78rem !important;
        border-radius: 0.75rem !important;
        font-size: 0.82rem !important;
        line-height: 1.12 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.course-page .course-shell-head .course-title {
        grid-area: title !important;
        width: 100% !important;
        max-width: none !important;
        justify-self: stretch !important;
        font-family: var(--app-sans-font, "Be Vietnam Pro", "Manrope", "Segoe UI", Arial, sans-serif) !important;
        font-size: 1.34rem !important;
        line-height: 1.14 !important;
        font-weight: 900 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    body.course-page .course-shell-head > .course-todo-trigger {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 3.2rem !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        justify-content: stretch !important;
        gap: 0.62rem !important;
        padding: 0.62rem 0.7rem 0.62rem 0.68rem !important;
        border-radius: 0.95rem !important;
        background: #ffffff !important;
        box-shadow: 0 10px 22px rgba(19, 19, 19, 0.08) !important;
    }

    body.course-page .course-todo-trigger__icon {
        width: 2rem !important;
        height: 2rem !important;
        border-radius: 0.72rem !important;
    }

    body.course-page .course-todo-trigger__text {
        align-items: flex-start !important;
        text-align: left !important;
    }

    body.course-page .course-todo-trigger__label {
        font-size: 0.93rem !important;
        line-height: 1.1 !important;
    }

    body.course-page .course-todo-trigger__meta {
        max-width: 100%;
        font-size: 0.8rem !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body.course-page .course-todo-trigger__count {
        min-width: 2rem !important;
        height: 2rem !important;
        margin-left: 0 !important;
        font-size: 0.86rem !important;
    }

    body.course-page .course-layout {
        gap: 0.85rem !important;
    }

    body.course-page .course-player-card {
        padding: 0.72rem !important;
        border-radius: 1rem !important;
    }
}

@media (max-width: 420px) {
    body.course-page .course-shell-head,
    body.course-page .course-layout {
        width: calc(100% - 0.6rem);
    }

    body.course-page .course-back {
        max-width: 58vw !important;
        padding-inline: 0.66rem !important;
        font-size: 0.78rem !important;
    }

    body.course-page .course-shell-head .course-title {
        font-size: 1.18rem !important;
    }

    body.course-page .course-todo-trigger__meta {
        font-size: 0.75rem !important;
    }
}

/* FINAL HOTFIX 78: clean course todo modal UX */
body.course-page.course-todo-open {
    overflow: hidden;
}

body.course-page .course-todo-overlay {
    align-items: center !important;
    padding: clamp(0.5rem, 2vw, 1rem) !important;
}

body.course-page .course-todo-dialog {
    width: min(31rem, calc(100vw - 1rem)) !important;
    max-height: min(88dvh, 45rem) !important;
    border-radius: 1.55rem !important;
    background: #ffffff !important;
    border-color: rgba(22, 22, 22, 0.08) !important;
    box-shadow: 0 26px 64px rgba(18, 18, 18, 0.18) !important;
}

body.course-page .course-todo-dialog__head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 0.75rem !important;
    padding: 1.08rem 1.25rem 0.82rem !important;
    background: linear-gradient(180deg, #fffdf5 0%, #ffffff 100%) !important;
    border-bottom: 1px solid rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-todo-dialog__head h2 {
    font-size: 1.28rem !important;
    line-height: 1.14 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-todo-dialog__subtitle {
    margin-top: 0.3rem !important;
    font-size: 0.94rem !important;
    line-height: 1.38 !important;
}

body.course-page .course-todo-dialog__close {
    width: 2.18rem !important;
    height: 2.18rem !important;
    min-width: 2.18rem !important;
    border-radius: 999px !important;
    font-size: 1rem !important;
}

body.course-page .course-todo-dialog__status {
    width: auto !important;
    margin: 0.7rem 1.25rem 0 !important;
    padding: 0.68rem 0.78rem !important;
    border-radius: 1rem !important;
    box-shadow: none !important;
}

body.course-page .course-todo-mood {
    width: auto !important;
    display: grid !important;
    grid-template-columns: 2rem minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 0.62rem !important;
    margin: 0.72rem 1.25rem 0 !important;
    padding: 0.66rem 0.74rem !important;
    border-radius: 1rem !important;
    background: #fffaf0 !important;
    border: 1px solid rgba(239, 188, 0, 0.24) !important;
    box-shadow: none !important;
}

body.course-page .course-todo-mood__icon {
    width: 2rem !important;
    height: 2rem !important;
    animation: none !important;
    box-shadow: none !important;
}

body.course-page .course-todo-mood__text {
    min-width: 0 !important;
    font-size: 0.9rem !important;
    line-height: 1.32 !important;
    font-weight: 800 !important;
    color: rgba(44, 37, 23, 0.86) !important;
}

body.course-page .course-todo-dialog.is-all-done .course-todo-mood {
    margin-top: 0.64rem !important;
    background: #f2fbef !important;
    border-color: rgba(76, 175, 80, 0.3) !important;
}

body.course-page .course-todo-tabs {
    width: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.28rem !important;
    margin: 0.72rem 1.25rem 0.24rem !important;
    padding: 0.28rem !important;
    border-radius: 1.1rem !important;
    background: #f6f4ee !important;
    border: 1px solid rgba(22, 22, 22, 0.07) !important;
}

body.course-page .course-todo-tab {
    min-height: 2.65rem !important;
    padding: 0.48rem 0.52rem !important;
    border-radius: 0.9rem !important;
    font-size: 0.92rem !important;
    line-height: 1.05 !important;
    gap: 0.35rem !important;
    white-space: nowrap !important;
}

body.course-page .course-todo-tab__count {
    min-width: 1.62rem !important;
    min-height: 1.62rem !important;
    padding: 0 0.38rem !important;
    font-size: 0.76rem !important;
    box-shadow: none !important;
}

body.course-page .course-todo-panels,
body.course-page .course-todo-panel {
    min-height: 0 !important;
}

body.course-page .course-todo-list {
    gap: 0.54rem !important;
    padding: 0.58rem 1.25rem 1.25rem !important;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
}

body.course-page .course-todo-list li {
    min-width: 0;
}

body.course-page .course-todo-empty--panel {
    margin: 0.68rem 1.25rem 1.15rem !important;
    padding: 0.95rem 1rem !important;
    border-radius: 1rem !important;
    font-size: 0.92rem !important;
    line-height: 1.42 !important;
    text-align: left !important;
}

body.course-page .course-todo-dialog.is-all-done [data-course-todo-empty="pending"] {
    background: #f2fbef !important;
    border-color: rgba(76, 175, 80, 0.24) !important;
    color: #3f6f38 !important;
}

body.course-page .course-todo-item {
    grid-template-columns: 2rem minmax(0, 1fr) !important;
    gap: 0.62rem !important;
    align-items: start !important;
    padding: 0.68rem !important;
    border-radius: 1rem !important;
    min-height: 0 !important;
}

body.course-page .course-todo-item:hover,
body.course-page .course-todo-item:focus-visible {
    transform: none !important;
}

body.course-page .course-todo-item.is-completed {
    background: #fcfbf6 !important;
    border-color: rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-todo-item__state {
    width: 2rem !important;
    height: 2rem !important;
    margin-top: 0.02rem !important;
    box-shadow: none !important;
}

body.course-page .course-todo-item__state::before {
    width: 1rem !important;
    height: 1rem !important;
}

body.course-page .course-todo-item__body {
    min-width: 0 !important;
    gap: 0.28rem !important;
}

body.course-page .course-todo-item__title {
    display: block !important;
    font-size: 0.94rem !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

body.course-page .course-todo-item.is-completed .course-todo-item__title {
    color: #2e281b !important;
    text-decoration: none !important;
}

body.course-page .course-todo-item__meta {
    gap: 0.28rem 0.35rem !important;
}

body.course-page .course-todo-item__meta-chip {
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0.2rem 0.52rem !important;
    font-size: 0.74rem !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.course-page .course-todo-item__reward {
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 1.64rem !important;
    margin-top: 0.06rem !important;
    padding: 0.22rem 0.52rem !important;
    border-radius: 0.78rem !important;
    line-height: 1.25 !important;
    box-shadow: none !important;
}

body.course-page .course-todo-item__reward::before {
    width: 1.15rem !important;
    height: 1.15rem !important;
    flex-basis: 1.15rem !important;
    background-size: 0.86rem 0.86rem !important;
}

body.course-page .course-todo-item__reward span {
    max-width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    font-size: 0.74rem !important;
    line-height: 1.25 !important;
}

@media (max-width: 520px) {
    body.course-page .course-todo-dialog {
        width: calc(100vw - 1rem) !important;
        max-height: calc(100dvh - 1rem) !important;
        border-radius: 1.35rem !important;
    }

    body.course-page .course-todo-dialog__head {
        padding: 1rem 1rem 0.72rem !important;
    }

    body.course-page .course-todo-dialog__head h2 {
        font-size: 1.22rem !important;
    }

    body.course-page .course-todo-dialog__subtitle {
        font-size: 0.9rem !important;
    }

    body.course-page .course-todo-dialog__close {
        width: 2.05rem !important;
        height: 2.05rem !important;
        min-width: 2.05rem !important;
    }

    body.course-page .course-todo-dialog__status,
    body.course-page .course-todo-mood,
    body.course-page .course-todo-tabs,
    body.course-page .course-todo-empty--panel {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }

    body.course-page .course-todo-mood {
        grid-template-columns: 1.9rem minmax(0, 1fr) !important;
        padding: 0.62rem 0.68rem !important;
    }

    body.course-page .course-todo-mood__icon {
        width: 1.9rem !important;
        height: 1.9rem !important;
    }

    body.course-page .course-todo-tab {
        min-height: 2.5rem !important;
        padding: 0.44rem 0.36rem !important;
        font-size: 0.84rem !important;
    }

    body.course-page .course-todo-tab__count {
        min-width: 1.48rem !important;
        min-height: 1.48rem !important;
        font-size: 0.72rem !important;
    }

    body.course-page .course-todo-list {
        padding: 0.52rem 1rem 1.05rem !important;
    }

    body.course-page .course-todo-item {
        grid-template-columns: 1.86rem minmax(0, 1fr) !important;
        gap: 0.54rem !important;
        padding: 0.62rem !important;
    }

    body.course-page .course-todo-item__state {
        width: 1.86rem !important;
        height: 1.86rem !important;
    }

    body.course-page .course-todo-item__title {
        font-size: 0.9rem !important;
    }

    body.course-page .course-todo-item__reward {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 360px) {
    body.course-page .course-todo-tab {
        font-size: 0.8rem !important;
        gap: 0.25rem !important;
    }

    body.course-page .course-todo-item__meta-chip,
    body.course-page .course-todo-item__reward span {
        font-size: 0.7rem !important;
    }
}

/* Gallery lightbox must sit above the shared sticky header. */
body.gallery-page .gallery-lightbox {
    z-index: 2600 !important;
    padding: clamp(0.75rem, 2.5dvh, 2rem) clamp(0.75rem, 3vw, 2rem) !important;
}

body.gallery-page .gallery-lightbox__dialog {
    grid-template-rows: minmax(0, 1fr) auto auto;
    max-height: calc(100dvh - clamp(1.5rem, 5dvh, 3rem)) !important;
    overflow: hidden;
}

body.gallery-page .gallery-lightbox__image-wrap {
    min-height: 0 !important;
    max-height: calc(100dvh - clamp(9rem, 18dvh, 11rem));
}

body.gallery-page .gallery-lightbox__image-wrap img {
    max-height: calc(100dvh - clamp(9rem, 18dvh, 11rem)) !important;
}

@media (max-width: 560px) {
    body.gallery-page .gallery-lightbox__image-wrap,
    body.gallery-page .gallery-lightbox__image-wrap img {
        max-height: calc(100dvh - 8.2rem) !important;
    }
}
