@import url("https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,100..900&display=swap");

:root {
    --bee-gold: #108138;
    --bee-gold-deep: #0a6128;
    --bee-gold-soft: #c8e6c9;
    --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;
    --bee-font-sans: 'Google Sans Flex';
}

html {
    scroll-behavior: smooth;
}

body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-page,
body.notifications-page {
    font-family: 'Google Sans Flex';
    background:
        radial-gradient(circle at top left, rgba(52, 177, 147, 0.28), transparent 36%),
        radial-gradient(circle at top right, rgba(52, 177, 147, 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.notifications-page::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 10% 12%, rgba(52, 177, 147, 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(52, 177, 147, 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.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(52, 177, 147, 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: 'Google Sans Flex';
}

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(16, 129, 56, 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-gold);
    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(52, 177, 147, 0.3), rgba(52, 177, 147, 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(52, 177, 147, 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: 'Google Sans Flex';
    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(52, 177, 147, 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(52, 177, 147, 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: 'Google Sans Flex';
    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(52, 177, 147, 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: 'Google Sans Flex';
    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(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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: 'Google Sans Flex';
}

.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(52, 177, 147, 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(52, 177, 147, 0.42),
        var(--bee-shadow-soft);
}

.footer-social-icon {
    color: var(--bee-ink);
    background: rgba(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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: 'Google Sans Flex';
    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: 'Google Sans Flex';
    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(52, 177, 147, 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(52, 177, 147, 0.16) !important;
    color: var(--bee-copy) !important;
    box-shadow: inset 0 0 0 2px rgba(52, 177, 147, 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 E:\APUS ENGLISH LANGUAGE CENTER\code.html */
body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-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.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, 255, 255, 0.97);
    box-shadow: 0 4px 24px rgba(16, 129, 56, 0.08);
    backdrop-filter: blur(20px);
    font-family: 'Google Sans Flex';
}

.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(16, 129, 56, 0.88);
}

.btn-login {
    min-height: 3rem;
    padding: 0.9rem 1.4rem;
    background: var(--bee-gold);
    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(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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 {
    background: var(--bee-paper-soft);
    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: 'Google Sans Flex' !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 E:\APUS ENGLISH LANGUAGE CENTER\code.html */
body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-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.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(52, 177, 147, 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(52, 177, 147, 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: 'Google Sans Flex' !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(52, 177, 147, 0.38) !important;
    box-shadow: none !important;
}

.auth-body:not(.auth-admin) .auth-form input:focus {
    border-color: rgba(52, 177, 147, 0.72) !important;
    box-shadow: 0 0 0 4px rgba(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 0.62);
    --question-card-hover-glow: rgba(52, 177, 147, 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 .question-card>.question-head,
body.exam-page .question-card>.question-body {
    background: transparent !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(52, 177, 147, 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(52, 177, 147, 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, 255, 255, 0.97);
    box-shadow: 0 4px 24px rgba(16, 129, 56, 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(16, 129, 56, 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(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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.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.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: rgba(255, 255, 255, 0.97) !important;
    box-shadow: 0 4px 24px rgba(16, 129, 56, 0.09) !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(52, 177, 147, 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(52, 177, 147, 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 .site-header__install-slot {
    margin-left: auto;
    margin-right: 0;
    padding-right: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
}

body .site-header--edus .main-nav {
    padding-right: 0 !important;
}

body .site-header__install-slot:not(.is-visible) {
    display: none;
}

body .pwa-install-btn.pwa-install-btn--header {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 1 !important;
    min-height: 2.55rem;
    padding: 0.5rem 0.9rem 0.5rem 0.64rem;
    background: #108138 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(16, 129, 56, 0.18) !important;
}

body .pwa-install-btn.pwa-install-btn--header:hover,
body .pwa-install-btn.pwa-install-btn--header:focus-visible {
    background: #0b6f2f !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(16, 129, 56, 0.22) !important;
    transform: translateY(-1px);
}

body .pwa-install-btn.pwa-install-btn--header .pwa-install-btn__icon {
    border-color: rgba(255, 255, 255, 0.46);
    background: rgba(255, 255, 255, 0.18);
}

.site-header--edus .site-header__install-slot {
    min-height: 80px;
}

.site-header--edus .pwa-install-btn.pwa-install-btn--header {
    font-size: 0.88rem;
}

/* Red attention state for header install button */
body .pwa-install-btn.pwa-install-btn--header.is-attention {
    background: #d32f2f !important;
    color: #ffffff !important;
    box-shadow: 0 8px 18px rgba(211, 47, 47, 0.18) !important;
}

body .pwa-install-btn.pwa-install-btn--header.is-attention:hover,
body .pwa-install-btn.pwa-install-btn--header.is-attention:focus-visible {
    background: #b71c1c !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(183, 28, 28, 0.22) !important;
    transform: translateY(-1px);
}

body .pwa-install-btn.pwa-install-btn--header.is-attention .pwa-install-btn__icon {
    border-color: rgba(255, 255, 255, 0.46);
    background: rgba(255, 255, 255, 0.18);
}

@media (max-width: 900px) {
    body .site-header__install-slot {
        width: 100%;
        min-width: 0;
        justify-content: stretch;
    }

    body .pwa-install-btn.pwa-install-btn--header {
        width: 100%;
        justify-content: center;
    }

    body.mobile-nav-ready .site-header__install-slot {
        grid-area: nav;
        grid-column: 1 / -1;
        margin: 0.45rem 0 0;
    }

    body.mobile-nav-ready .site-header--edus .site-header__menu {
        flex-wrap: wrap !important;
    }

    body.mobile-nav-ready .site-header__install-slot,
    body.mobile-nav-ready .site-header__install-slot.is-visible {
        display: none !important;
    }

    body.mobile-nav-ready .main-nav.is-open ~ .site-header__install-slot,
    body.mobile-nav-ready .main-nav.is-open ~ .site-header__install-slot.is-visible {
        display: flex !important;
        order: 1;
        flex: 1 0 100%;
        margin: 0.65rem clamp(1rem, 4vw, 1.35rem) 0.35rem;
    }

    body.mobile-nav-ready .site-header--edus .site-header__menu:has(.main-nav.is-open) {
        max-height: calc(100dvh - 68px);
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    body.mobile-nav-ready .site-header--edus .site-header__menu:has(.main-nav.is-open) .main-nav.is-open {
        max-height: none !important;
        overflow: visible !important;
        overscroll-behavior: auto;
    }

    body.mobile-nav-ready .site-header--edus .site-header__menu:has(.main-nav.is-open)::after {
        content: "";
        flex: 1 0 100%;
        height: 1.5rem;
    }
}

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(52, 177, 147, 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 button.back-to-top.is-visible {
    background: linear-gradient(135deg, #22a63f 0%, #0f8625 52%, #26b148 100%) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(14, 100, 30, 0.28) !important;
}

body .floating-social-link {
    background: #108138 !important;
    color: #ffffff !important;
    border: 0 !important;
    box-shadow: var(--bee-shadow-ambient) !important;
}

body .floating-social-link:hover,
body .floating-social-link:focus-visible {
    background: #0b6f2f !important;
    color: #ffffff !important;
}

body .floating-social-link--facebook,
body .floating-social-link--messenger,
body .floating-social-link--youtube,
body .floating-social-link--instagram {
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.14) !important;
}

body .floating-social-link--facebook:hover,
body .floating-social-link--facebook:focus-visible,
body .floating-social-link--messenger:hover,
body .floating-social-link--messenger:focus-visible,
body .floating-social-link--youtube:hover,
body .floating-social-link--youtube:focus-visible,
body .floating-social-link--instagram:hover,
body .floating-social-link--instagram:focus-visible {
    background: #ffffff !important;
    color: #111827 !important;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.2) !important;
}

body .floating-social-link--zalo {
    background: #0068ff !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(0, 104, 255, 0.26) !important;
}

body .floating-social-link--zalo:hover,
body .floating-social-link--zalo:focus-visible {
    background: #0057d9 !important;
    color: #ffffff !important;
    box-shadow: 0 16px 30px rgba(0, 104, 255, 0.34) !important;
}

body .floating-social-link--tiktok {
    background: #000000 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.26) !important;
}

body .floating-social-link--tiktok:hover,
body .floating-social-link--tiktok:focus-visible {
    background: #000000 !important;
    color: #ffffff !important;
    box-shadow: 0 16px 30px rgba(0, 0, 0, 0.34) !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: row !important;
    grid-auto-columns: minmax(0, 1fr) !important;
    grid-template-columns: repeat(var(--section-tab-columns, 1), minmax(0, 1fr)) !important;
    width: 100% !important;
    overflow: hidden !important;
}

@media (max-width: 760px) {
    body .section-tabs {
        grid-template-columns: repeat(var(--section-tab-mobile-columns, var(--section-tab-columns, 1)), minmax(0, 1fr)) !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.question-text--yesno.read-group-intro__title,
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(52, 177, 147, 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 .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(52, 177, 147, 0.4) !important;
}

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 {
    background: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(19, 19, 19, 0.08) !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(52, 177, 147, 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--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(52, 177, 147, 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 label.option-item.listen-paper-choice-answer-option.is-selected,
body label.option-item.listen-paper-choice-answer-option:has(input:checked) {
    background: linear-gradient(180deg, #44c774, #229a4f) !important;
    box-shadow: inset 0 0 0 1.5px rgba(24, 109, 58, 0.36) !important;
    color: #ffffff !important;
}

body label.option-item.listen-paper-choice-answer-option.is-selected .option-key,
body label.option-item.listen-paper-choice-answer-option.is-selected .option-text,
body label.option-item.listen-paper-choice-answer-option:has(input:checked) .option-key,
body label.option-item.listen-paper-choice-answer-option:has(input:checked) .option-text {
    color: #ffffff !important;
}

body label.option-item.listen-paper-choice-answer-option.is-selected .option-key,
body label.option-item.listen-paper-choice-answer-option:has(input:checked) .option-key {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !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;
    }
}

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(52, 177, 147, 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;
    z-index: 4;
    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, color(srgb 0.0489412 0.394588 0.171294), #288672);
}

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(52, 177, 147, 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(52, 177, 147, 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: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-radius: 0 !important;
    overflow: clip;
}

body.home-page .home-hero--slider-only .hero-shell {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
    margin-inline: 0 !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;
}

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-radius: 0 !important;
    background: #f2eee7;
    box-shadow: none !important;
}

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

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(52, 177, 147, 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(52, 177, 147, 0.62) !important;
    box-shadow:
        0 30px 60px rgba(35, 26, 9, 0.14),
        0 0 0 4px rgba(52, 177, 147, 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(52, 177, 147, 0.16), rgba(52, 177, 147, 0) 28%),
        linear-gradient(135deg, #fff8dd 0%, #ffe06d 46%, #52c4a8 100%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    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(255, 255, 255, 0.18);
    color: #ffffff;
    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: #ffffff;
    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(255, 255, 255, 0.15);
    color: #ffffff;
}

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: #ffffff;
}

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(255, 255, 255, 0.15);
}

body.home-page .home-hero--single .hero-feature__stat strong {
    display: block;
    color: #ffffff;
    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(255, 255, 255, 0.15);
    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(82, 196, 168, 0.24), rgba(82, 196, 168, 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(82, 196, 168, 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: #ffffff;
    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: #52c4a8;
    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;
    }

    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;
    }

    body.home-page .home-hero--slider-only .hero-slider--full .slider-control {
        display: none !important;
    }

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

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 (min-width: 1025px) and (max-width: 1360px) {

    body .site-header,
    body .site-header.container,
    body .site-header.exam-page-header,
    body .site-header.exam-page-header.container {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between;
        column-gap: clamp(0.75rem, 1.2vw, 1.1rem);
        row-gap: 0;
        padding-block: 1rem;
    }

    body .site-header .logo-block {
        display: inline-flex;
        align-items: center;
        flex: 0 0 auto;
        min-height: 0;
        min-width: 0;
        height: auto;
        line-height: 0;
        justify-self: start;
        align-self: center;
    }

    body .site-header .logo-link {
        display: inline-flex;
        align-items: center;
        height: auto;
        line-height: 0;
    }

    body .site-header .site-logo {
        display: block;
        width: auto;
        height: clamp(2.3rem, 3.4vw, 2.6rem);
    }

    body .site-header .main-nav {
        grid-column: auto !important;
        order: initial !important;
        display: flex !important;
        width: auto !important;
        max-width: none;
        min-width: 0;
        min-height: 0;
        height: 3.4rem;
        margin: 0 auto !important;
        flex: 1 1 auto;
        flex-wrap: nowrap !important;
        align-items: baseline !important;
        justify-content: center;
        gap: clamp(0.78rem, 1.05vw, 1.15rem) !important;
        row-gap: 0;
        padding: 1.08rem 0 0 !important;
        line-height: 1.18;
    }

    body .site-header .main-nav a {
        display: inline-block !important;
        flex-direction: initial !important;
        align-items: initial !important;
        justify-content: initial !important;
        min-height: 0 !important;
        height: auto;
        padding: 0 !important;
        font-size: clamp(0.78rem, 0.76rem + 0.15vw, 0.88rem);
        line-height: 1.18 !important;
        vertical-align: baseline;
        text-decoration: none !important;
        border: 0 !important;
        background: transparent !important;
        background-image: none !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body .site-header .main-nav a::before,
    body .site-header .main-nav a::after {
        content: none !important;
        display: none !important;
    }

    body .site-header .header-actions {
        display: inline-flex;
        align-items: center !important;
        flex: 0 0 auto;
        min-height: 0;
        height: auto;
        line-height: 0;
        justify-self: end;
        align-self: center;
        max-width: min(100%, 14rem);
    }

    body .site-header .btn-login {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        align-self: center;
        min-height: 3.4rem;
        height: 3.4rem;
        padding-block: 0;
        padding-inline: clamp(1rem, 1.25vw, 1.25rem);
        line-height: 1;
        white-space: nowrap;
    }
}

@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(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 0.16), transparent 20%),
        linear-gradient(180deg, #fffdfa 0%, #fff8e7 100%);
    font-family: 'Google Sans Flex';
    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: 'Google Sans Flex';
    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(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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: 'Google Sans Flex';
    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: 'Google Sans Flex';
    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: 'Google Sans Flex' !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: 'Google Sans Flex' !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(52, 177, 147, 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(52, 177, 147, 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: 'Google Sans Flex';
    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(42, 155, 128, 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(82, 196, 168, 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(42, 155, 128, 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: 'Google Sans Flex' !important;
    font-size: clamp(1.35rem, 2vw, 1.72rem);
    line-height: 1.16;
    letter-spacing: -0.045em;
    font-weight: 900;
    color: #141414 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-top: 0.08em;
    padding-bottom: 0.04em;
    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\E0 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: color(srgb 0.0489412 0.394588 0.171294);
    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(52, 177, 147, 0.18), rgba(52, 177, 147, 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(52, 177, 147, 0.18), rgba(52, 177, 147, 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(52, 177, 147, 0.12), rgba(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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%, #52c4a8 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-courses .category-tab.is-active,
body.home-page .home-exams .exam-category-pill.is-active {
    color: #131313;
    border-color: rgba(19, 19, 19, 0.08);
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(19, 19, 19, 0.05);
}

body.home-page .home-courses .category-tab.is-active .category-count,
body.home-page .home-exams .exam-category-pill.is-active span {
    background: rgba(52, 177, 147, 0.15);
    color: var(--bee-gold);
}

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: #ffffff !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-card .course-thumb-wrapper {
    padding: 0 !important;
}

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-card .course-body {
    padding: 1.25rem 1.4rem !important;
    display: flex;
    flex-direction: column;
}

body.home-page .home-courses .course-card .course-summary {
    order: 1;
    font-size: 0.75rem;
    color: rgba(28, 27, 27, 0.6);
    margin: 0 0 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(19, 19, 19, 0.06);
}

body.home-page .home-courses .course-card .course-action {
    order: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    color: #131313;
    font-size: 0.85rem;
    font-weight: 800;
    margin-bottom: 0.75rem;
}

body.home-page .home-courses .course-card .course-action-icon {
    width: 2rem;
    height: 2rem;
    background: rgba(19, 19, 19, 0.05);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    color: rgba(28, 27, 27, 0.5);
    transition: transform 0.2s ease, background 0.2s ease;
}

body.home-page .home-courses .course-card:hover .course-action-icon {
    background: rgba(19, 19, 19, 0.08);
    transform: translateX(3px);
}

body.home-page .home-courses .course-card .course-title {
    order: 3;
    font-size: 1.1rem;
    font-weight: 900;
    text-transform: uppercase;
    margin: 0;
    letter-spacing: 0.02em;
    color: #131313;
}

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(52, 177, 147, 0.1), rgba(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 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%, #52c4a8 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%, #52c4a8 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(52, 177, 147, 0.22), rgba(52, 177, 147, 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(52, 177, 147, 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, color(srgb 0.0489412 0.394588 0.171294), #1f7d65);
    box-shadow: 0 0 0 0.3rem rgba(52, 177, 147, 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(52, 177, 147, 0.3), rgba(52, 177, 147, 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(52, 177, 147, 0.24);
}

body.home-page .class-section__class-tab.is-active {
    border-color: rgba(52, 177, 147, 0.3);
    background: linear-gradient(180deg, rgba(255, 250, 228, 0.98), rgba(255, 244, 205, 0.98));
    box-shadow: 0 16px 28px rgba(52, 177, 147, 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: color(srgb 0.0489412 0.394588 0.171294);
    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 sticker 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(52, 177, 147, 0.26), rgba(52, 177, 147, 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-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(52, 177, 147, 0.18), rgba(52, 177, 147, 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: 'Google Sans Flex';
    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: apusLightSweep 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(52, 177, 147, 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__mood {
    border: 0 !important;
    border-radius: 1.2rem !important;
    background: linear-gradient(135deg, #fff6d0, #ffffff) !important;
    box-shadow: inset 0 0 0 1px rgba(52, 177, 147, 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 {
    position: relative;
    padding: 1.05rem 0.95rem 0.95rem;
    border-radius: 0.4rem 1.1rem 0.9rem 1.25rem;
    background:
        linear-gradient(180deg, #fff7b8 0%, #fff2a0 100%);
    border: 1px solid rgba(212, 175, 55, 0.28);
    box-shadow:
        0 14px 26px rgba(168, 132, 18, 0.18),
        0 2px 4px rgba(60, 42, 30, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
    transform: rotate(-0.4deg);
    transform-origin: top left;
}

body.home-page .class-todo-home__group::before {
    content: "";
    position: absolute;
    top: -0.45rem;
    left: 50%;
    width: 3.2rem;
    height: 0.9rem;
    transform: translateX(-50%) rotate(-2deg);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 240, 170, 0.55));
    border: 1px solid rgba(212, 175, 55, 0.22);
    box-shadow: 0 2px 4px rgba(60, 42, 30, 0.08);
    border-radius: 2px;
    pointer-events: none;
}

body.home-page .class-todo-home__group--completed {
    background: #ffffff;
    border: 1px solid rgba(19, 19, 19, 0.08);
    box-shadow: none;
    transform: none;
    border-radius: 1.25rem;
    padding: 0.85rem;
}

body.home-page .class-todo-home__group--completed::before {
    content: none;
}

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(52, 177, 147, 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(52, 177, 147, 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;
    overflow-y: auto;
    overflow-x: hidden;
    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), color(srgb 0.0489412 0.394588 0.171294));
}

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-sticker-book {
    grid-area: sticker;
    padding: 1.15rem !important;
    border-radius: 1.8rem !important;
    border: 1px solid rgba(52, 177, 147, 0.2) !important;
    background:
        radial-gradient(circle at top right, rgba(52, 177, 147, 0.22), rgba(52, 177, 147, 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"
            "intro 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"
            "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-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 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 {
    position: sticky;
    top: 6.75rem;
}

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-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(52, 177, 147, 0.12), rgba(52, 177, 147, 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: color(srgb 0.0489412 0.394588 0.171294);
    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(52, 177, 147, 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(52, 177, 147, 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__badge-progress {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.72rem;
    margin: 0 0 0.82rem;
    padding: 0.72rem;
    border-radius: 1.05rem;
    border: 1px solid rgba(36, 128, 99, 0.16);
    background: linear-gradient(135deg, rgba(236, 255, 247, 0.96), rgba(255, 251, 231, 0.96));
}

body.home-page .class-showcase-card__badge-progress-thumb {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 999px;
    border: 2px solid rgba(36, 128, 99, 0.2);
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 10px 18px rgba(36, 128, 99, 0.12);
}

body.home-page .class-showcase-card__badge-progress-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.home-page .class-showcase-card__badge-progress-thumb span {
    color: #246f58;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.04em;
}

body.home-page .class-showcase-card__badge-progress-body {
    min-width: 0;
    display: grid;
    gap: 0.4rem;
}

body.home-page .class-showcase-card__badge-progress-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.55rem;
    min-width: 0;
}

body.home-page .class-showcase-card__badge-progress-title strong {
    min-width: 0;
    color: #153f33;
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1.25;
}

body.home-page .class-showcase-card__badge-progress-title em {
    flex-shrink: 0;
    color: #8a6600;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 900;
    white-space: nowrap;
}

body.home-page .class-showcase-card__badge-progress-track-wrap {
    position: relative;
    display: block;
    padding-top: 1.35rem;
}

body.home-page .class-showcase-card__badge-progress-pins {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1.25rem;
    pointer-events: none;
}

body.home-page .class-showcase-card__badge-progress-pin {
    position: absolute;
    top: 0;
    width: 16px;
    height: 20px;
    transform: translateX(-50%);
}

body.home-page .class-showcase-card__badge-progress-pin.is-first {
    left: 0 !important;
    transform: none;
}

body.home-page .class-showcase-card__badge-progress-pin.is-last {
    transform: translateX(-100%);
}

body.home-page .class-showcase-card__badge-progress-pin::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    width: 14px;
    height: 14px;
    border-radius: 50% 50% 50% 0;
    border: 2px solid rgba(20, 20, 20, 0.18);
    background: rgba(255, 255, 255, 0.98);
    transform: translateX(-50%) rotate(-45deg);
    box-sizing: border-box;
    box-shadow: 0 4px 10px rgba(31, 47, 30, 0.08);
}

body.home-page .class-showcase-card__badge-progress-pin::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 4px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(20, 20, 20, 0.42);
    transform: translateX(-50%);
}

body.home-page .class-showcase-card__badge-progress-pin.is-claimed::before {
    border-color: rgba(36, 128, 99, 0.36);
    background: rgba(232, 255, 247, 0.99);
}

body.home-page .class-showcase-card__badge-progress-pin.is-claimed::after {
    background: #25b47d;
}

body.home-page .class-showcase-card__badge-progress-pin.is-next::before {
    border-color: rgba(138, 102, 0, 0.34);
    background: rgba(255, 251, 231, 0.99);
    box-shadow: 0 0 0 4px rgba(255, 211, 77, 0.16), 0 4px 12px rgba(138, 102, 0, 0.16);
}

body.home-page .class-showcase-card__badge-progress-pin.is-next::after {
    background: #8a6600;
}

body.home-page .class-showcase-card__badge-progress-track {
    position: relative;
    display: block;
    height: 0.56rem;
    border-radius: 999px;
    background: rgba(19, 19, 19, 0.08);
    overflow: hidden;
}

body.home-page .class-showcase-card__badge-progress-track span {
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #25b47d, #ffd34d);
    transition: width 0.24s ease;
}

body.home-page .class-showcase-card__badge-progress-caption {
    color: rgba(21, 63, 51, 0.76);
    font-size: 0.73rem;
    line-height: 1.4;
    font-weight: 800;
}

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: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;
}

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-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: 1.8rem;
    padding: 0.2rem 0.58rem;
    border-radius: 999px;
    background: #ffffff;
    color: #08723a;
    border: 1px solid rgba(8, 114, 58, 0.32);
    font-size: 0.8rem;
    font-weight: 900;
    box-shadow: 0 4px 10px rgba(8, 114, 58, 0.08);
}

body.home-page .class-showcase-card__leaderboard-item.is-top .class-showcase-card__leaderboard-score {
    background: linear-gradient(145deg, #0a8f49 0%, #08723a 100%) !important;
    color: #facc15 !important;
    border-color: rgba(8, 114, 58, 0.45) !important;
    box-shadow: 0 10px 18px rgba(8, 114, 58, 0.22) !important;
}

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__badge-progress {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 0.62rem;
    }

    body.home-page .class-showcase-card__badge-progress-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.18rem;
    }
}

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(52, 177, 147, 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__actions.has-homework,
body.home-page .class-showcase-card__actions:has(.class-showcase-card__homework) {
    grid-template-columns: minmax(0, 1.46fr) minmax(0, 1.18fr) minmax(4.5rem, 0.28fr);
    gap: 0.72rem;
}

body.home-page .class-showcase-card__actions.has-homework.is-attendance-completed,
body.home-page .class-showcase-card__actions.is-attendance-completed:has(.class-showcase-card__homework) {
    grid-template-columns: minmax(0, 1.38fr) minmax(0, 1.12fr) minmax(4.5rem, 0.24fr);
    gap: 0.55rem;
}

body.home-page .class-showcase-card__homework {
    min-width: 0;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.home-page .class-showcase-card__button--homework {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.18rem;
    padding: 0.76rem 1rem;
    background: linear-gradient(145deg, #f2ffc7 0%, #d9f58e 45%, #bfdc6c 100%);
    color: #27440f;
    box-shadow: 0 16px 28px rgba(155, 184, 70, 0.22);
}

body.home-page .class-showcase-card__button--homework:hover,
body.home-page .class-showcase-card__button--homework:focus-visible {
    background: linear-gradient(145deg, #f7ffd7 0%, #e2f99d 45%, #cbe67a 100%);
    color: #24400d;
}

body.home-page .class-showcase-card__button-hint {
    position: relative;
    z-index: 1;
    font-size: 0.73rem;
    line-height: 1.35;
    white-space: normal;
    font-weight: 700;
    color: rgba(39, 68, 15, 0.82);
}

body.home-page .class-showcase-card__homework-mobile-toggle,
body.home-page .class-showcase-card__homework-mobile-anchor {
    display: none;
}

body.home-page .class-showcase-card__homework-panel,
body.home-page .class-homework-inline {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    flex: 1 1 auto;
    min-height: 0;
    padding: 1rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    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-homework-inline__head {
    display: grid;
    gap: 0.24rem;
}

body.home-page .class-homework-inline__eyebrow {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0.22rem 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-homework-inline__head h4 {
    margin: 0;
    color: #131313;
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.home-page .class-homework-inline__head p,
body.home-page .class-homework-inline__constraints,
body.home-page .class-homework-inline__history-head p,
body.home-page .class-homework-inline__history-meta {
    margin: 0;
    color: rgba(28, 27, 27, 0.64);
    font-size: 0.82rem;
    line-height: 1.55;
}

body.home-page .class-homework-inline__tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
    padding: 0.3rem;
    border-radius: 999px;
    background: rgba(60, 42, 30, 0.06);
}

body.home-page .class-homework-inline__tab {
    min-width: 0;
    min-height: 2.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    padding: 0.58rem 0.85rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(60, 42, 30, 0.72);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.home-page .class-homework-inline__tab:hover,
body.home-page .class-homework-inline__tab:focus-visible {
    outline: none;
    color: rgba(28, 27, 27, 0.92);
}

body.home-page .class-homework-inline__tab.is-active {
    background: linear-gradient(180deg, #ffffff 0%, #fff9e6 100%);
    color: #1f1b11;
    box-shadow: 0 12px 24px rgba(19, 19, 19, 0.08);
}

body.home-page .class-homework-inline__tab-count {
    min-width: 0;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: currentColor;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
}

body.home-page .class-homework-inline__body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}

body.home-page .class-homework-inline__view {
    display: grid;
    gap: 0.8rem;
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
}

body.home-page .class-homework-inline__view[hidden] {
    display: none !important;
}

body.home-page .class-homework-inline__auth {
    display: grid;
    gap: 0.55rem;
    padding: 0.8rem 0.88rem;
    border-radius: 1rem;
    border: 1px solid rgba(52, 177, 147, 0.2);
    background: rgba(255, 250, 234, 0.92);
}

body.home-page .class-homework-inline__auth[hidden] {
    display: none !important;
}

body.home-page .class-homework-inline__auth-copy {
    margin: 0;
    color: rgba(60, 42, 30, 0.82);
    font-size: 0.8rem;
    line-height: 1.55;
}

body.home-page .class-homework-inline__auth-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

body.home-page .class-homework-inline__auth-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.2rem;
    padding: 0.5rem 0.88rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #1f1b11;
    text-decoration: none;
    font-size: 0.78rem;
    font-weight: 800;
    box-shadow: 0 10px 20px rgba(255, 200, 0, 0.16);
}

body.home-page .class-homework-inline__auth-link--secondary {
    background: rgba(255, 255, 255, 0.9);
    color: #8b6500;
    box-shadow: none;
    border: 1px solid rgba(52, 177, 147, 0.22);
}

body.home-page .class-homework-inline__auth-link:hover,
body.home-page .class-homework-inline__auth-link:focus-visible {
    text-decoration: none;
    outline: none;
    transform: translateY(-1px);
}

body.home-page .class-homework-inline__form {
    display: grid;
    gap: 0.8rem;
}

body.home-page .class-homework-inline__form [hidden] {
    display: none !important;
}

body.home-page .class-homework-inline__picker {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.92rem;
    border-radius: 1.2rem;
    border: 1.5px dashed rgba(52, 177, 147, 0.32);
    background:
        radial-gradient(circle at top left, rgba(255, 242, 186, 0.38), transparent 42%),
        linear-gradient(180deg, rgba(255, 252, 239, 0.96), rgba(243, 250, 228, 0.88));
    text-align: left;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

body.home-page .class-homework-inline__picker:hover,
body.home-page .class-homework-inline__picker:focus-visible,
body.home-page .class-homework-inline__picker.is-dragover {
    transform: translateY(-1px);
    border-color: rgba(140, 198, 63, 0.5);
    box-shadow: 0 16px 28px rgba(140, 198, 63, 0.16);
    outline: none;
}

body.home-page .class-homework-inline__picker[disabled] {
    opacity: 0.72;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
    pointer-events: none;
}

body.home-page .class-homework-inline__picker-icon {
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(135deg, #ffdd42, #ffc800);
    color: #24210f;
    font-size: 1.4rem;
    font-weight: 900;
    flex: 0 0 auto;
}

body.home-page .class-homework-inline__picker-copy {
    display: grid;
    gap: 0.16rem;
}

body.home-page .class-homework-inline__picker-copy strong {
    color: rgba(28, 27, 27, 0.92);
    font-size: 0.94rem;
}

body.home-page .class-homework-inline__picker-copy span {
    color: rgba(60, 42, 30, 0.7);
    font-size: 0.8rem;
    line-height: 1.5;
}

body.home-page .class-homework-inline__file {
    display: grid;
    gap: 0.75rem;
    padding: 0.78rem 0.88rem;
    border-radius: 1rem;
    border: 1px solid rgba(52, 177, 147, 0.22);
    background: rgba(255, 252, 240, 0.88);
}

body.home-page .class-homework-inline__file-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

body.home-page .class-homework-inline__file-meta {
    min-width: 0;
    display: grid;
    gap: 0.14rem;
}

body.home-page .class-homework-inline__file-meta strong,
body.home-page .class-homework-inline__file-meta span,
body.home-page .class-homework-inline__history-title {
    overflow-wrap: anywhere;
}

body.home-page .class-homework-inline__file-meta strong {
    color: rgba(28, 27, 27, 0.92);
    font-size: 0.88rem;
}

body.home-page .class-homework-inline__file-meta span {
    color: rgba(60, 42, 30, 0.68);
    font-size: 0.78rem;
}

body.home-page .class-homework-inline__file-list {
    display: grid;
    gap: 0.48rem;
}

body.home-page .class-homework-inline__file-list[hidden] {
    display: none;
}

body.home-page .class-homework-inline__file-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.68rem 0.74rem;
    border-radius: 0.9rem;
    border: 1px solid rgba(52, 177, 147, 0.14);
    background: rgba(248, 244, 228, 0.88);
}

body.home-page .class-homework-inline__file-item-meta {
    min-width: 0;
    display: grid;
    gap: 0.14rem;
}

body.home-page .class-homework-inline__file-item-name,
body.home-page .class-homework-inline__file-item-size {
    overflow-wrap: anywhere;
}

body.home-page .class-homework-inline__file-item-name {
    color: rgba(28, 27, 27, 0.92);
    font-size: 0.82rem;
    font-weight: 700;
}

body.home-page .class-homework-inline__file-item-size {
    color: rgba(60, 42, 30, 0.68);
    font-size: 0.76rem;
}

body.home-page .class-homework-inline__file-item-remove {
    border: 1px solid rgba(191, 64, 64, 0.16);
    border-radius: 999px;
    background: rgba(255, 246, 246, 0.96);
    color: #b42318;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.34rem 0.72rem;
    cursor: pointer;
    flex: 0 0 auto;
}

body.home-page .class-homework-inline__file-item-remove:disabled {
    opacity: 0.6;
    cursor: wait;
}

body.home-page .class-homework-inline__remove {
    border: 1px solid rgba(191, 64, 64, 0.18);
    border-radius: 999px;
    background: rgba(255, 246, 246, 0.96);
    color: #b42318;
    font-size: 0.76rem;
    font-weight: 700;
    padding: 0.4rem 0.76rem;
    cursor: pointer;
}

body.home-page .class-homework-inline__remove:disabled {
    opacity: 0.6;
    cursor: wait;
}

body.home-page .class-homework-inline__label {
    font-size: 0.82rem;
    font-weight: 700;
    color: rgba(60, 42, 30, 0.78);
}

body.home-page .class-homework-inline__note-field {
    display: grid;
    gap: 0.36rem;
}

body.home-page .class-homework-inline__form textarea {
    min-height: 104px;
    resize: vertical;
    border: 1px solid rgba(60, 42, 30, 0.16);
    border-radius: 1rem;
    padding: 0.78rem 0.85rem;
    font: inherit;
    color: rgba(28, 27, 27, 0.92);
    background: #fff;
}

body.home-page .class-homework-inline__form textarea:focus {
    outline: none;
    border-color: rgba(52, 177, 147, 0.52);
    box-shadow: 0 0 0 3px rgba(82, 196, 168, 0.14);
}

body.home-page .class-homework-inline__meta {
    display: grid;
    gap: 0.24rem;
}

body.home-page .class-homework-inline__feedback {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.5;
}

body.home-page .class-homework-inline__feedback[data-tone="success"] {
    color: #147a35;
}

body.home-page .class-homework-inline__feedback[data-tone="error"] {
    color: #b42318;
}

body.home-page .class-homework-inline__feedback[data-tone="info"] {
    color: #8b6500;
}

body.home-page .class-homework-inline__progress {
    display: grid;
    gap: 0.3rem;
}

body.home-page .class-homework-inline__progress-track {
    height: 0.56rem;
    border-radius: 999px;
    background: rgba(60, 42, 30, 0.08);
    overflow: hidden;
}

body.home-page .class-homework-inline__progress-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #52c4a8 0%, #8cc63f 100%);
    transition: width 0.18s ease;
}

body.home-page .class-homework-inline__progress-label {
    margin: 0;
    color: rgba(60, 42, 30, 0.7);
    font-size: 0.78rem;
}

body.home-page .class-homework-inline__submit {
    width: 100%;
    min-height: 3rem;
    padding: 0.8rem 1rem;
    border-radius: 999px;
    border: 0;
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #1f1b11;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 16px 28px rgba(255, 200, 0, 0.18);
    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

body.home-page .class-homework-inline__submit:hover,
body.home-page .class-homework-inline__submit:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

body.home-page .class-homework-inline__submit:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

body.home-page .class-homework-inline__history {
    display: flex;
    flex-direction: column;
    gap: 0.72rem;
    flex: 1 1 auto;
    min-height: 0;
    max-height: min(68vh, 820px);
}

body.home-page .class-homework-inline__history-head {
    display: grid;
    gap: 0.18rem;
}

body.home-page .class-homework-inline__history-head h5 {
    margin: 0;
    color: #131313;
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.02em;
}

body.home-page .class-homework-inline__history-list {
    display: grid;
    gap: 0.74rem;
    flex: 1 1 auto;
    align-content: start;
    min-height: 0;
    max-height: min(58vh, 720px);
    overflow-y: auto;
    padding: 0.1rem 0.35rem 0.2rem 0;
    overscroll-behavior: contain;
}

body.home-page .class-homework-inline__history-list::-webkit-scrollbar {
    width: 0.45rem;
}

body.home-page .class-homework-inline__history-list::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(139, 101, 0, 0.28);
}

body.home-page .class-homework-inline__history-list::-webkit-scrollbar-track {
    background: rgba(255, 243, 186, 0.2);
}

body.home-page .class-homework-inline__history-item {
    --homework-thread-line: #cfd5dd;
    --homework-item-avatar-size: 2.45rem;
    --homework-item-gap: 0.68rem;
    --homework-item-rail-x: 1.2rem;
    --homework-item-content-x: calc(var(--homework-item-avatar-size) + var(--homework-item-gap));
    display: grid;
    grid-template-columns: var(--homework-item-avatar-size) minmax(0, 1fr);
    column-gap: var(--homework-item-gap);
    row-gap: 0.18rem;
    align-content: start;
    position: relative;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.home-page .class-homework-inline__history-item:not(:last-child)::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 2.58rem;
    bottom: -0.82rem;
    left: var(--homework-item-rail-x);
    width: 2px;
    border-radius: 999px;
    background: var(--homework-thread-line);
}

body.home-page .class-homework-inline__history-list>.class-homework-inline__history-item::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: var(--homework-item-rail-x);
    top: 0.24rem;
    width: calc(var(--homework-item-content-x) - var(--homework-item-rail-x) + 0.06rem);
    height: 1rem;
    border-left: 2px solid var(--homework-thread-line);
    border-bottom: 2px solid var(--homework-thread-line);
    border-bottom-left-radius: 1rem;
    background: transparent;
    pointer-events: none;
}

body.home-page .class-homework-inline__history-avatar {
    grid-column: 1;
    grid-row: 1 / span 4;
    z-index: 1;
    width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #0f7a3a 0%, #34b193 100%);
    color: #ffffff;
    font-size: 0.74rem;
    line-height: 1;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(15, 122, 58, 0.18);
    overflow: hidden;
}

body.home-page .class-homework-inline__history-avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home-page .class-homework-inline__history-avatar.has-image {
    background: #ffffff;
    color: transparent;
    border: 2px solid #ffffff;
}

body.home-page .class-homework-inline__history-avatar--teacher {
    background: linear-gradient(145deg, #1d4ed8 0%, #60a5fa 100%);
    box-shadow: 0 8px 18px rgba(29, 78, 216, 0.16);
}

body.home-page .class-homework-inline__history-item-head {
    grid-column: 2;
    min-width: 0;
    max-width: min(100%, 54rem);
    display: block;
    padding: 0.62rem 0.76rem;
    border: 0;
    border-radius: 1.05rem;
    background: #f0f2f5;
}

body.home-page .class-homework-inline__history-title-wrap {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.44rem;
}

body.home-page .class-homework-inline__history-badge {
    flex: 0 0 auto;
    min-width: 0;
    min-height: 0;
    margin-top: 0.08rem;
    padding: 0.12rem 0.46rem;
    border-radius: 999px;
    background: rgba(20, 122, 53, 0.12);
    color: #147a35;
    font-size: 0.64rem;
    line-height: 1.24;
    font-weight: 800;
    text-align: center;
}

body.home-page .class-homework-inline__history-title-copy {
    min-width: 0;
    display: grid;
    gap: 0.08rem;
}

body.home-page .class-homework-inline__history-author {
    color: #111827;
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.2;
}

body.home-page .class-homework-inline__history-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.42rem;
    padding: 0.08rem 0.52rem;
    border-radius: 999px;
    background: rgba(255, 214, 10, 0.14);
    color: #725400;
    font-size: 0.68rem;
    font-weight: 800;
    white-space: nowrap;
}

body.home-page .class-homework-inline__history-status.is-pending,
body.home-page .class-homework-inline__history-status.is-processing {
    background: rgba(255, 214, 10, 0.14);
    color: #8b6500;
}

body.home-page .class-homework-inline__history-status.is-completed {
    background: rgba(20, 122, 53, 0.12);
    color: #147a35;
}

body.home-page .class-homework-inline__history-status.is-failed {
    background: rgba(180, 35, 24, 0.12);
    color: #b42318;
}

body.home-page .class-homework-inline__history-title,
body.home-page .class-homework-inline__history-action {
    color: #1c1e21;
    text-decoration: none;
    font-weight: 800;
}

body.home-page .class-homework-inline__history-title {
    min-width: 0;
    font-size: 0.88rem;
    line-height: 1.34;
    word-break: break-word;
}

body.home-page .class-homework-inline__history-item>.class-homework-inline__history-meta {
    grid-column: 2;
    margin: 0;
    padding-left: 0.15rem;
    color: #65676b;
    font-size: 0.74rem;
    line-height: 1.35;
}

body.home-page .class-homework-inline__history-title.is-disabled,
body.home-page .class-homework-inline__history-action.is-disabled {
    color: #8d949e;
    text-decoration: none;
    cursor: not-allowed;
    pointer-events: none;
}

body.home-page .class-homework-inline__history-title:hover,
body.home-page .class-homework-inline__history-title:focus-visible,
body.home-page .class-homework-inline__history-action:hover,
body.home-page .class-homework-inline__history-action:focus-visible {
    text-decoration: underline;
    outline: none;
}

body.home-page .class-homework-inline__history-actions {
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: 0.36rem;
    flex-wrap: wrap;
    min-width: 0;
    margin-top: 0.08rem;
    padding-left: 0.15rem;
}

body.home-page .class-homework-inline__history-action {
    appearance: none;
    background: transparent;
    border: 0;
    padding: 0;
    font-family: 'Google Sans Flex', sans-serif;
    font-size: 0.74rem;
    line-height: 1.35;
    color: #65676b;
    cursor: pointer;
}

body.home-page .class-homework-inline__history-action:not(:last-child)::after {
    content: "·";
    display: inline-block;
    margin-left: 0.36rem;
    color: #8d949e;
}

body.home-page .class-homework-inline__history-session {
    row-gap: 0.2rem;
}

body.home-page .class-homework-inline__history-session>.class-homework-inline__history-item-head {
    background: #f0f2f5;
}

body.home-page .class-homework-inline__history-session-title-wrap {
    align-items: flex-start;
}

body.home-page .class-homework-inline__history-session-copy {
    min-width: 0;
    display: grid;
    gap: 0.12rem;
}

body.home-page .class-homework-inline__history-session-title,
body.home-page .class-homework-inline__history-session-action {
    appearance: none;
    border: 0;
    cursor: pointer;
    font-family: 'Google Sans Flex';
}

body.home-page .class-homework-inline__history-session-title {
    background: transparent;
    padding: 0;
    text-align: left;
    font-size: 0.88rem;
    line-height: 1.25;
}

body.home-page .class-homework-inline__history-session-meta {
    grid-column: 2;
    margin: 0;
    padding-left: 0.15rem;
    line-height: 1.45;
}

body.home-page .class-homework-inline__history-session-files {
    --homework-thread-rail-x: 0.9rem;
    --homework-thread-indent: 2.82rem;
    grid-column: 2;
    display: grid;
    gap: 0.68rem;
    position: relative;
    margin: 0.48rem 0 0 0.08rem;
    padding: 0.15rem 0 0.05rem var(--homework-thread-indent);
    border-left: 0;
    border-radius: 0;
    background: transparent;
}

body.home-page .class-homework-inline__history-session-files::before {
    content: "";
    position: absolute;
    top: -0.62rem;
    bottom: 1.05rem;
    left: var(--homework-thread-rail-x);
    width: 2px;
    border-radius: 999px;
    background: var(--homework-thread-line);
}

body.home-page .class-homework-inline__history-session-files[hidden] {
    display: none !important;
}

body.home-page .class-homework-inline__history-file {
    --homework-item-avatar-size: 2.08rem;
    --homework-item-gap: 0.55rem;
    --homework-item-rail-x: 1.04rem;
    --homework-item-content-x: calc(var(--homework-item-avatar-size) + var(--homework-item-gap));
    grid-template-columns: var(--homework-item-avatar-size) minmax(0, 1fr);
    column-gap: var(--homework-item-gap);
    row-gap: 0.16rem;
    position: relative;
    border: 0;
    border-radius: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

body.home-page .class-homework-inline__history-file:not(:last-child)::before {
    display: none;
}

body.home-page .class-homework-inline__history-session-files>.class-homework-inline__history-file::before {
    content: "";
    position: absolute;
    z-index: 0;
    left: calc(var(--homework-thread-rail-x) - var(--homework-thread-indent));
    top: -0.18rem;
    width: calc(var(--homework-thread-indent) - var(--homework-thread-rail-x) + 1.06rem);
    height: 1.18rem;
    display: block;
    border-left: 2px solid var(--homework-thread-line);
    border-bottom: 2px solid var(--homework-thread-line);
    border-bottom-left-radius: 1rem;
    background: transparent;
    pointer-events: none;
}

body.home-page .class-homework-inline__history-file .class-homework-inline__history-avatar {
    position: relative;
    z-index: 1;
    width: 2.08rem;
    height: 2.08rem;
    font-size: 0.64rem;
    background: #ffffff;
    color: #147a35;
    border: 1px solid #dce7df;
    box-shadow: 0 6px 14px rgba(28, 30, 33, 0.08);
}

body.home-page .class-homework-inline__history-file>.class-homework-inline__history-item-head {
    padding: 0.54rem 0.66rem;
    background: #f0f2f5;
}

body.home-page .class-homework-inline__history-file .class-homework-inline__history-title {
    font-size: 0.84rem;
    line-height: 1.35;
}

body.home-page .class-homework-inline__history-file .class-homework-inline__history-meta {
    margin: 0;
    font-size: 0.76rem;
}

body.home-page .class-homework-inline__history-file .class-homework-inline__history-note {
    font-size: 0.76rem;
}

body.home-page .class-homework-inline__history-note {
    --homework-note-indent: 1.9rem;
    grid-column: 2;
    max-width: min(100%, 46rem);
    position: relative;
    margin: 0.28rem 0 0 var(--homework-note-indent);
    padding: 0.56rem 0.72rem;
    border: 0;
    border-radius: 1.05rem;
    background: #f0f2f5;
    color: #1c1e21;
    white-space: pre-wrap;
    line-height: 1.48;
    font-size: 0.82rem;
}

body.home-page .class-homework-inline__history-note--inline {
    grid-column: auto;
    max-width: 100%;
    position: static;
    margin: 0.28rem 0 0;
    padding: 0.4rem 0.54rem;
    border-radius: 0.72rem;
    background: rgba(255, 255, 255, 0.62);
    color: #3f454d;
    font-size: 0.76rem;
    line-height: 1.45;
    box-shadow: inset 3px 0 0 rgba(20, 122, 53, 0.18);
}

body.home-page .class-homework-inline__history-note--inline::before {
    display: none;
}

body.home-page .class-homework-inline__history-note::before {
    content: "";
    position: absolute;
    left: calc((var(--homework-item-rail-x) - var(--homework-item-content-x)) - var(--homework-note-indent));
    top: -0.48rem;
    width: calc(var(--homework-item-content-x) + var(--homework-note-indent) - var(--homework-item-rail-x) + 0.08rem);
    height: 1.15rem;
    border-left: 2px solid var(--homework-thread-line);
    border-bottom: 2px solid var(--homework-thread-line);
    border-bottom-left-radius: 1rem;
    background: transparent;
    pointer-events: none;
}

body.home-page .class-homework-inline__history-reply {
    --homework-reply-avatar-size: 2rem;
    --homework-reply-indent: 1.55rem;
    grid-column: 2;
    display: grid;
    grid-template-columns: var(--homework-reply-avatar-size) minmax(0, 1fr);
    align-items: start;
    column-gap: 0.5rem;
    position: relative;
    max-width: min(100%, 47rem);
    margin: 0.3rem 0 0 var(--homework-reply-indent);
}

body.home-page .class-homework-inline__history-reply::before {
    content: "";
    position: absolute;
    left: calc((var(--homework-item-rail-x) - var(--homework-item-content-x)) - var(--homework-reply-indent));
    top: -0.45rem;
    width: calc(var(--homework-item-content-x) + var(--homework-reply-indent) - var(--homework-item-rail-x) + 1rem);
    height: 1.08rem;
    border-left: 2px solid var(--homework-thread-line);
    border-bottom: 2px solid var(--homework-thread-line);
    border-bottom-left-radius: 1rem;
    background: transparent;
    pointer-events: none;
}

body.home-page .class-homework-inline__history-reply .class-homework-inline__history-avatar {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    z-index: 1;
    width: var(--homework-reply-avatar-size);
    height: var(--homework-reply-avatar-size);
    font-size: 0.62rem;
    border: 2px solid #ffffff;
}

body.home-page .class-homework-inline__history-reply .class-homework-inline__history-note {
    grid-column: 2;
    margin: 0;
    max-width: 100%;
}

body.home-page .class-homework-inline__history-reply .class-homework-inline__history-note::before {
    display: none;
}

body.home-page .class-homework-inline__history-note--teacher {
    margin-top: 0.24rem;
    padding: 0.66rem 0.78rem;
    background: #eaf3ff;
    color: #183b67;
    display: grid;
    gap: 0.26rem;
    box-shadow: inset 3px 0 0 rgba(54, 108, 179, 0.36);
}

body.home-page .class-homework-inline__history-reply .class-homework-inline__history-note--teacher {
    margin: 0;
}

body.home-page .class-homework-inline__history-note--status,
body.home-page .class-homework-inline__history-note--error {
    background: #fff6d6;
    color: #604600;
}

body.home-page .class-homework-inline__history-note--error {
    background: #ffe8e4;
    color: #8f281d;
}

body.home-page .class-homework-inline__history-note-prefix {
    display: block;
    margin-bottom: 0.05rem;
    color: #20538d;
    font-size: 0.72rem;
    line-height: 1.4;
    font-weight: 900;
}

body.home-page .class-homework-inline__history-note-content {
    display: block;
    color: #24364e;
    font-weight: 600;
}

body.home-page .class-homework-inline__history-session-action {
    min-height: 0;
    color: #65676b;
}

body.home-page .class-homework-inline__history-session-action:hover,
body.home-page .class-homework-inline__history-session-action:focus-visible {
    background: transparent;
    color: #1c1e21;
    text-decoration: none;
}

body.home-page .class-homework-inline__history-empty {
    margin: 0;
    border: 1px dashed rgba(52, 177, 147, 0.24);
    border-radius: 1rem;
    padding: 0.88rem;
    background: rgba(255, 252, 240, 0.84);
    color: rgba(60, 42, 30, 0.68);
    font-size: 0.8rem;
    line-height: 1.5;
}

body.class-homework-preview-modal-open {
    overflow: hidden;
}

body.class-homework-upload-modal-open {
    overflow: hidden;
}

.class-homework-upload-modal {
    position: fixed;
    inset: 0;
    z-index: 1710;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.class-homework-upload-modal[hidden] {
    display: none !important;
}

.class-homework-upload-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(24, 21, 18, 0.5);
    backdrop-filter: blur(7px);
}

.class-homework-upload-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(460px, 100%);
}

body.home-page .class-homework-upload-modal {
    position: fixed;
    inset: 0;
    z-index: 1710;
    display: grid;
    place-items: center;
    padding: 1rem;
}

body.home-page .class-homework-upload-modal[hidden] {
    display: none !important;
}

body.home-page .class-homework-upload-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(24, 21, 18, 0.5);
    backdrop-filter: blur(7px);
}

body.home-page .class-homework-upload-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(460px, 100%);
    display: grid;
    gap: 1rem;
    padding: 1.3rem;
    border: 1px solid rgba(52, 177, 147, 0.22);
    border-radius: 1.5rem;
    background:
        radial-gradient(circle at top left, rgba(255, 243, 186, 0.3), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 250, 238, 0.97));
    box-shadow: 0 28px 60px rgba(24, 21, 18, 0.22);
}

body.home-page .class-homework-upload-modal__badge {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    padding: 0.28rem 0.72rem;
    border-radius: 999px;
    background: rgba(82, 196, 168, 0.18);
    color: #8b6500;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-homework-upload-modal__copy {
    display: grid;
    gap: 0.35rem;
}

body.home-page .class-homework-upload-modal__copy h4 {
    margin: 0;
    color: #181512;
    font-size: clamp(1.16rem, 2.4vw, 1.5rem);
    line-height: 1.25;
}

body.home-page .class-homework-upload-modal__copy p,
body.home-page .class-homework-upload-modal__foot {
    margin: 0;
    color: rgba(60, 42, 30, 0.76);
    font-size: 0.88rem;
    line-height: 1.6;
}

body.home-page .class-homework-upload-modal__progress {
    display: grid;
    gap: 0.7rem;
    padding: 0.95rem 1rem;
    border-radius: 1.15rem;
    border: 1px solid rgba(52, 177, 147, 0.18);
    background: rgba(255, 255, 255, 0.84);
}

body.home-page .class-homework-upload-modal__progress-track {
    height: 0.78rem;
    border-radius: 999px;
    background: rgba(60, 42, 30, 0.1);
    overflow: hidden;
}

body.home-page .class-homework-upload-modal__progress-fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #52c4a8 0%, #8cc63f 100%);
    transition: width 0.18s ease;
}

body.home-page .class-homework-upload-modal__progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
}

body.home-page .class-homework-upload-modal__progress-meta strong {
    color: #181512;
    font-size: 1rem;
    font-weight: 900;
}

body.home-page .class-homework-upload-modal__progress-meta span {
    color: rgba(60, 42, 30, 0.76);
    font-size: 0.82rem;
    line-height: 1.5;
    text-align: right;
}

body.home-page .class-homework-upload-modal__status {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    max-width: 17rem;
}

body.home-page .class-homework-upload-modal__spinner {
    display: none;
    width: 0.95rem;
    height: 0.95rem;
    flex: 0 0 0.95rem;
    border: 2px solid rgba(52, 177, 147, 0.18);
    border-top-color: #f0b400;
    border-right-color: #8cc63f;
    border-radius: 50%;
    animation: classHomeworkUploadModalSpin 0.85s linear infinite;
}

body.home-page .class-homework-upload-modal[data-state="uploading"] .class-homework-upload-modal__spinner,
body.home-page .class-homework-upload-modal[data-state="processing"] .class-homework-upload-modal__spinner,
body.home-page .class-homework-upload-modal[data-state="queued"] .class-homework-upload-modal__spinner {
    display: inline-block;
}

@keyframes classHomeworkUploadModalSpin {
    to {
        transform: rotate(360deg);
    }
}

body.home-page .class-homework-upload-modal__actions {
    display: flex;
    justify-content: flex-end;
}

body.home-page .class-homework-upload-modal__close {
    min-height: 2.85rem;
    padding: 0.72rem 1.2rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #1f1b11;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 16px 28px rgba(255, 200, 0, 0.2);
}

body.home-page .class-homework-upload-modal__close:hover,
body.home-page .class-homework-upload-modal__close:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

body.home-page .class-homework-upload-modal[data-state="success"] .class-homework-upload-modal__badge {
    background: rgba(20, 122, 53, 0.14);
    color: #147a35;
}

body.home-page .class-homework-upload-modal[data-state="success"] .class-homework-upload-modal__progress-fill {
    background: linear-gradient(90deg, #67d18a 0%, #147a35 100%);
}

body.home-page .class-homework-upload-modal[data-state="queued"] .class-homework-upload-modal__badge {
    background: rgba(255, 214, 10, 0.16);
    color: #8b6500;
}

body.home-page .class-homework-upload-modal[data-state="queued"] .class-homework-upload-modal__progress-fill {
    background: linear-gradient(90deg, #ffd648 0%, #d98d00 100%);
}

body.home-page .class-homework-upload-modal[data-state="error"] .class-homework-upload-modal__badge {
    background: rgba(180, 35, 24, 0.12);
    color: #b42318;
}

body.home-page .class-homework-upload-modal[data-state="error"] .class-homework-upload-modal__progress-fill {
    background: linear-gradient(90deg, #ff9d80 0%, #b42318 100%);
}

body.home-page .class-homework-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 1700;
    display: grid;
    place-items: center;
    padding: 1rem;
}

body.class-homework-preview-modal-open .class-section .class-showcase-card:hover,
body.class-homework-preview-modal-open .class-section .class-showcase-card:focus-within {
    transform: none !important;
}

body.home-page .class-homework-preview-modal[hidden] {
    display: none !important;
}

body.home-page .class-homework-preview-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(24, 21, 18, 0.42);
    backdrop-filter: blur(6px);
}

body.home-page .class-homework-preview-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1024px, 100%);
    max-height: min(88vh, 860px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 1rem;
    padding: 1.35rem;
    border: 1px solid rgba(52, 177, 147, 0.18);
    border-radius: 1.6rem;
    background:
        radial-gradient(circle at top left, rgba(255, 243, 186, 0.26), transparent 36%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 250, 238, 0.97));
    box-shadow: 0 28px 60px rgba(24, 21, 18, 0.18);
}

body.home-page .class-homework-preview-modal__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.9rem;
    padding-bottom: 0.95rem;
    border-bottom: 1px solid rgba(52, 177, 147, 0.16);
}

body.home-page .class-homework-preview-modal__kicker {
    margin: 0 0 0.24rem;
    color: #8b6500;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-homework-preview-modal__header h4 {
    margin: 0;
    color: #181512;
    font-size: clamp(1.14rem, 2.4vw, 1.5rem);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

body.home-page .class-homework-preview-modal__meta {
    margin: 0.3rem 0 0;
    color: rgba(60, 42, 30, 0.7);
    line-height: 1.5;
    font-size: 0.83rem;
}

body.home-page .class-homework-preview-modal__close {
    flex: 0 0 auto;
    border: 1px solid rgba(52, 177, 147, 0.28);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: rgba(60, 42, 30, 0.82);
    padding: 0.46rem 0.88rem;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

body.home-page .class-homework-preview-modal__close:hover,
body.home-page .class-homework-preview-modal__close:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(52, 177, 147, 0.44);
    box-shadow: 0 12px 22px rgba(52, 177, 147, 0.16);
    outline: none;
}

body.home-page .class-homework-preview-modal__surface {
    grid-row: 2;
    min-height: min(60vh, 600px);
    border: 1px solid rgba(214, 223, 230, 0.92);
    border-radius: 0;
    overflow: hidden;
    background:
        radial-gradient(circle at top left, rgba(255, 247, 214, 0.38), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 255, 0.96));
    display: grid;
    place-items: stretch;
}

body.home-page .class-homework-preview-modal__surface iframe,
body.home-page .class-homework-preview-modal__surface img,
body.home-page .class-homework-preview-modal__surface video,
body.home-page .class-homework-preview-modal__surface audio {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
}

body.home-page .class-homework-preview-modal__surface iframe,
body.home-page .class-homework-preview-modal__surface img,
body.home-page .class-homework-preview-modal__surface video {
    height: 100%;
}

body.home-page .class-homework-preview-modal__surface img {
    object-fit: contain;
    background: rgba(255, 255, 255, 0.9);
}

body.home-page .class-homework-preview-modal__surface video {
    object-fit: contain;
    object-position: top center;
    background: #000;
}

body.home-page .class-homework-preview-modal__surface audio {
    align-self: center;
    padding: 0 1.25rem;
}

body.home-page .class-homework-preview-modal__empty {
    margin: 0;
    display: grid;
    place-items: center;
    padding: 2rem;
    color: rgba(44, 55, 68, 0.92);
    font-size: clamp(1.05rem, 1.8vw, 1.45rem);
    font-weight: 800;
    text-align: center;
}

body.home-page .class-homework-preview-modal__footer {
    grid-row: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(52, 177, 147, 0.16);
}

body.home-page .class-homework-preview-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.62rem;
    flex-wrap: wrap;
    flex-shrink: 0;
}

body.home-page .class-homework-preview-modal__note {
    margin: 0;
    color: rgba(60, 42, 30, 0.74);
    font-size: clamp(1rem, 1.7vw, 1.14rem);
    font-weight: 700;
    line-height: 1.55;
}

body.home-page .class-homework-preview-modal__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.8rem;
    padding: 0.6rem 1rem;
    border-radius: 999px;
    font-size: 0.83rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

body.home-page .class-homework-preview-modal__action:focus-visible,
body.home-page .class-homework-preview-modal__action:hover {
    outline: none;
    transform: translateY(-1px);
}

body.home-page .class-homework-preview-modal__action--ghost {
    border: 1px solid rgba(52, 177, 147, 0.22);
    background: rgba(255, 255, 255, 0.92);
    color: #8b6500;
}

body.home-page .class-homework-preview-modal__action--primary {
    border: 0;
    min-height: 3.25rem;
    padding: 0.72rem 1.5rem;
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #1f1b11;
    font-size: 0.97rem;
    font-weight: 900;
    letter-spacing: 0.01em;
    box-shadow: 0 18px 30px rgba(255, 200, 0, 0.26);
}

body.home-page .class-homework-preview-modal__action--primary:focus-visible,
body.home-page .class-homework-preview-modal__action--primary:hover {
    transform: translateY(-1px) scale(1.02);
}

@media (max-width: 640px) {

    body.home-page .class-showcase-card__homework-panel,
    body.home-page .class-homework-inline__tabs,
    body.home-page .class-homework-inline__picker,
    body.home-page .class-homework-inline__file,
    body.home-page .class-homework-inline__file-header,
    body.home-page .class-homework-inline__file-item,
    body.home-page .class-homework-inline__history-item-head {
        display: grid;
    }

    body.home-page .class-homework-inline__submit,
    body.home-page .class-homework-inline__remove,
    body.home-page .class-homework-inline__auth-link {
        width: 100%;
    }

    body.home-page .class-homework-inline__file-item-remove {
        width: 100%;
    }

    body.home-page .class-homework-preview-modal {
        padding: 0.75rem;
    }

    body.home-page .class-homework-upload-modal {
        padding: 0.75rem;
    }

    body.home-page .class-homework-upload-modal__dialog {
        padding: 1rem;
        border-radius: 1.2rem;
    }

    body.home-page .class-homework-upload-modal__progress-meta {
        display: grid;
    }

    body.home-page .class-homework-upload-modal__status {
        justify-content: flex-start;
        max-width: none;
    }

    body.home-page .class-homework-upload-modal__progress-meta span {
        text-align: left;
    }

    body.home-page .class-homework-upload-modal__spinner {
        width: 0.9rem;
        height: 0.9rem;
        flex-basis: 0.9rem;
    }

    body.home-page .class-homework-upload-modal__close {
        width: 100%;
    }

    body.home-page .class-homework-preview-modal__dialog {
        max-height: 92vh;
        padding: 1rem;
        border-radius: 1.25rem;
        overflow: hidden;
    }

    body.home-page .class-homework-inline__history {
        max-height: min(72vh, 760px);
    }

    body.home-page .class-homework-inline__history-list {
        max-height: min(60vh, 640px);
        padding-right: 0.2rem;
    }

    body.home-page .class-homework-inline__history-item {
        --homework-item-avatar-size: 2.14rem;
        --homework-item-gap: 0.52rem;
        --homework-item-rail-x: 1.06rem;
        --homework-item-content-x: calc(var(--homework-item-avatar-size) + var(--homework-item-gap));
        grid-template-columns: var(--homework-item-avatar-size) minmax(0, 1fr);
        column-gap: var(--homework-item-gap);
    }

    body.home-page .class-homework-inline__history-item:not(:last-child)::before {
        left: var(--homework-item-rail-x);
        top: 2.25rem;
    }

    body.home-page .class-homework-inline__history-avatar {
        width: 2.14rem;
        height: 2.14rem;
        font-size: 0.66rem;
    }

    body.home-page .class-homework-inline__history-item-head {
        padding: 0.56rem 0.66rem;
        border-radius: 0.95rem;
    }

    body.home-page .class-homework-inline__history-title-wrap {
        gap: 0.36rem;
    }

    body.home-page .class-homework-inline__history-badge {
        padding-inline: 0.38rem;
        font-size: 0.6rem;
    }

    body.home-page .class-homework-inline__history-title {
        font-size: 0.82rem;
    }

    body.home-page .class-homework-inline__history-actions {
        gap: 0.3rem;
    }

    body.home-page .class-homework-inline__history-note {
        --homework-note-indent: 0rem;
        margin-left: 0;
        font-size: 0.78rem;
    }

    body.home-page .class-homework-inline__history-reply {
        --homework-reply-avatar-size: 1.82rem;
        --homework-reply-indent: 0rem;
        column-gap: 0.42rem;
        max-width: 100%;
    }

    body.home-page .class-homework-inline__history-session-files {
        --homework-thread-rail-x: 0.72rem;
        --homework-thread-indent: 2.26rem;
        margin-left: 0;
        padding-left: var(--homework-thread-indent);
    }

    body.home-page .class-homework-inline__history-file {
        --homework-item-avatar-size: 1.92rem;
        --homework-item-gap: 0.48rem;
        --homework-item-rail-x: 0.96rem;
        --homework-item-content-x: calc(var(--homework-item-avatar-size) + var(--homework-item-gap));
        grid-template-columns: var(--homework-item-avatar-size) minmax(0, 1fr);
        column-gap: var(--homework-item-gap);
    }

    body.home-page .class-homework-inline__history-session-files>.class-homework-inline__history-file::before {
        width: calc(var(--homework-thread-indent) - var(--homework-thread-rail-x) + 0.96rem);
        height: 1.08rem;
    }

    body.home-page .class-homework-inline__history-file .class-homework-inline__history-avatar {
        width: 1.92rem;
        height: 1.92rem;
    }

    body.home-page .class-homework-preview-modal__header {
        display: grid;
    }

    body.home-page .class-homework-preview-modal__surface {
        min-height: clamp(250px, 44vh, 430px);
        border-radius: 0.9rem;
    }

    body.home-page .class-homework-preview-modal__footer {
        grid-template-columns: 1fr;
        gap: 0.55rem;
        align-items: stretch;
        padding-top: 0.7rem;
    }

    body.home-page .class-homework-preview-modal__actions {
        display: flex;
        order: 1;
        width: 100%;
        justify-content: flex-end;
        gap: 0.5rem;
    }

    body.home-page .class-homework-preview-modal__note {
        order: 2;
        font-size: 0.96rem;
        line-height: 1.55;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    body.home-page .class-homework-preview-modal__close {
        width: 100%;
    }

    body.home-page .class-homework-preview-modal__action {
        width: auto;
    }
}

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: apusClaimAttendanceSlot 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.class-homework-modal-open {
    overflow: hidden;
}

.class-homework-modal {
    position: fixed;
    inset: 0;
    z-index: 1340;
    display: grid;
    place-items: center;
    padding: 1rem;
}

.class-homework-modal[hidden] {
    display: none !important;
}

.class-homework-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(25, 22, 15, 0.54);
    backdrop-filter: blur(10px);
}

.class-homework-modal__dialog {
    position: relative;
    width: min(780px, 96vw);
    max-height: min(92vh, 920px);
    overflow: auto;
    border-radius: 28px;
    padding: 1.35rem;
    background:
        radial-gradient(circle at top left, rgba(255, 249, 213, 0.98), rgba(255, 249, 213, 0) 30%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 251, 236, 0.98));
    border: 1px solid rgba(52, 177, 147, 0.24);
    box-shadow: 0 34px 70px rgba(19, 19, 19, 0.24);
    display: grid;
    gap: 1rem;
}

.class-homework-modal__close {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgba(52, 177, 147, 0.28);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: rgba(60, 42, 30, 0.82);
    cursor: pointer;
    font-size: 1.35rem;
    line-height: 1;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.class-homework-modal__close:hover,
.class-homework-modal__close:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(52, 177, 147, 0.44);
    box-shadow: 0 12px 22px rgba(52, 177, 147, 0.16);
    outline: none;
}

.class-homework-modal__header {
    display: grid;
    gap: 0.3rem;
    padding-right: 3rem;
}

.class-homework-modal__eyebrow {
    margin: 0;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    padding: 0.22rem 0.72rem;
    border-radius: 999px;
    background: rgba(82, 196, 168, 0.16);
    color: #8b6500;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.class-homework-modal__header h3 {
    margin: 0;
    font-size: clamp(1.48rem, 2vw, 1.9rem);
    color: rgba(28, 27, 27, 0.92);
}

.class-homework-modal__header p {
    margin: 0;
}

.class-homework-modal__class {
    color: #8b6500;
    font-size: 0.88rem;
    font-weight: 700;
}

.class-homework-modal__form {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(52, 177, 147, 0.18);
    background: rgba(255, 255, 255, 0.82);
}

.class-homework-dropzone {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.95rem;
    padding: 1rem;
    border-radius: 22px;
    border: 1.5px dashed rgba(52, 177, 147, 0.32);
    background:
        radial-gradient(circle at top left, rgba(255, 242, 186, 0.38), transparent 42%),
        linear-gradient(180deg, rgba(255, 252, 239, 0.96), rgba(243, 250, 228, 0.88));
    text-align: left;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.class-homework-dropzone:hover,
.class-homework-dropzone:focus-visible,
.class-homework-dropzone.is-dragover {
    transform: translateY(-1px);
    border-color: rgba(140, 198, 63, 0.5);
    box-shadow: 0 16px 28px rgba(140, 198, 63, 0.16);
    outline: none;
}

.class-homework-dropzone[disabled] {
    opacity: 0.68;
    cursor: wait;
}

.class-homework-dropzone__icon {
    width: 3.1rem;
    height: 3.1rem;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    background: linear-gradient(135deg, #ffdd42, #ffc800);
    color: #24210f;
    font-size: 1.5rem;
    font-weight: 900;
    flex: 0 0 auto;
}

.class-homework-dropzone__copy {
    display: grid;
    gap: 0.22rem;
}

.class-homework-dropzone__copy strong {
    font-size: 1rem;
    color: rgba(28, 27, 27, 0.9);
}

.class-homework-dropzone__copy span {
    color: rgba(60, 42, 30, 0.7);
    font-size: 0.84rem;
    line-height: 1.5;
}

.class-homework-file-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    padding: 0.82rem 0.95rem;
    border-radius: 18px;
    border: 1px solid rgba(52, 177, 147, 0.22);
    background: rgba(255, 252, 240, 0.88);
}

.class-homework-file-card__meta {
    min-width: 0;
    display: grid;
    gap: 0.14rem;
}

.class-homework-file-card__meta strong,
.class-homework-file-card__meta span {
    overflow-wrap: anywhere;
}

.class-homework-file-card__meta strong {
    color: rgba(28, 27, 27, 0.92);
}

.class-homework-file-card__meta span {
    color: rgba(60, 42, 30, 0.68);
    font-size: 0.82rem;
}

.class-homework-file-card__remove {
    border: 1px solid rgba(191, 64, 64, 0.18);
    border-radius: 999px;
    background: rgba(255, 246, 246, 0.96);
    color: #b42318;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.42rem 0.78rem;
    cursor: pointer;
}

.class-homework-file-card__remove:disabled {
    opacity: 0.6;
    cursor: wait;
}

.class-homework-modal__label {
    font-size: 0.84rem;
    font-weight: 700;
    color: rgba(60, 42, 30, 0.82);
}

.class-homework-modal__form textarea {
    min-height: 116px;
    resize: vertical;
    border: 1px solid rgba(60, 42, 30, 0.16);
    border-radius: 16px;
    padding: 0.82rem 0.9rem;
    font: inherit;
    color: rgba(28, 27, 27, 0.92);
    background: #fff;
}

.class-homework-modal__form textarea:focus {
    outline: none;
    border-color: rgba(52, 177, 147, 0.52);
    box-shadow: 0 0 0 3px rgba(82, 196, 168, 0.14);
}

.class-homework-modal__meta {
    display: grid;
    gap: 0.28rem;
}

.class-homework-modal__constraints,
.class-homework-modal__feedback,
.class-homework-progress__label,
.class-homework-history__meta {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.5;
}

.class-homework-modal__constraints,
.class-homework-history__meta {
    color: rgba(60, 42, 30, 0.68);
}

.class-homework-modal__feedback[data-tone="success"] {
    color: #147a35;
}

.class-homework-modal__feedback[data-tone="error"] {
    color: #b42318;
}

.class-homework-modal__feedback[data-tone="info"] {
    color: #8b6500;
}

.class-homework-progress {
    display: grid;
    gap: 0.35rem;
}

.class-homework-progress__track {
    height: 0.6rem;
    border-radius: 999px;
    background: rgba(60, 42, 30, 0.08);
    overflow: hidden;
}

.class-homework-progress__fill {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #52c4a8 0%, #8cc63f 100%);
    transition: width 0.18s ease;
}

.class-homework-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.class-homework-modal__primary,
.class-homework-modal__secondary {
    min-height: 3rem;
    padding: 0.76rem 1.08rem;
    border-radius: 999px;
    border: 0;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.class-homework-modal__primary {
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #1f1b11;
    box-shadow: 0 16px 28px rgba(255, 200, 0, 0.18);
}

.class-homework-modal__secondary {
    background: #fff;
    color: rgba(60, 42, 30, 0.82);
    border: 1px solid rgba(52, 177, 147, 0.24);
}

.class-homework-modal__primary:hover,
.class-homework-modal__primary:focus-visible,
.class-homework-modal__secondary:hover,
.class-homework-modal__secondary:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

.class-homework-modal__primary:disabled,
.class-homework-modal__secondary:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

.class-homework-history {
    display: grid;
    gap: 0.85rem;
    padding-top: 0.15rem;
}

.class-homework-history__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.class-homework-history__head h4 {
    margin: 0 0 0.12rem;
    font-size: 1rem;
    color: rgba(28, 27, 27, 0.9);
}

.class-homework-history__list {
    display: grid;
    gap: 0.8rem;
    max-height: min(34vh, 320px);
    overflow-y: auto;
    padding-right: 0.2rem;
}

.class-homework-history__item {
    border: 1px solid rgba(52, 177, 147, 0.16);
    border-radius: 18px;
    padding: 0.9rem 0.95rem;
    background: rgba(255, 255, 255, 0.88);
    display: grid;
    gap: 0.45rem;
}

.class-homework-history__item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.7rem;
}

.class-homework-history__title-wrap {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.class-homework-history__badge {
    flex: 0 0 auto;
    min-width: 2.55rem;
    min-height: 1.7rem;
    padding: 0.16rem 0.54rem;
    border-radius: 999px;
    background: rgba(82, 196, 168, 0.14);
    color: #8b6500;
    font-size: 0.7rem;
    font-weight: 800;
    text-align: center;
}

.class-homework-history__title {
    min-width: 0;
    color: rgba(28, 27, 27, 0.92);
    font-weight: 700;
    text-decoration: none;
    overflow-wrap: anywhere;
}

.class-homework-history__title:hover,
.class-homework-history__title:focus-visible,
.class-homework-history__action:hover,
.class-homework-history__action:focus-visible {
    text-decoration: underline;
    outline: none;
}

.class-homework-history__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.class-homework-history__action {
    color: #8b6500;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
}

.class-homework-history__note {
    margin: 0;
    color: rgba(60, 42, 30, 0.86);
    white-space: pre-wrap;
    line-height: 1.55;
    font-size: 0.87rem;
}

.class-homework-history__empty {
    margin: 0;
    border: 1px dashed rgba(52, 177, 147, 0.28);
    border-radius: 18px;
    padding: 1rem;
    background: rgba(255, 252, 240, 0.84);
    color: rgba(60, 42, 30, 0.68);
}

@keyframes apusLightSweep {
    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 apusClaimAttendanceSlot {
    0% {
        transform: translateX(0) scaleX(1);
    }

    38% {
        transform: translateX(0.35rem) scaleX(1.02);
    }

    100% {
        transform: translateX(0) scaleX(1);
    }
}

@keyframes apusTopLeaderGlow {

    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(52, 177, 147, 0.12),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
}

@keyframes apusTopLeaderSweep {
    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-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(52, 177, 147, 0.12);
}

body.home-page .class-showcase-card__media--practice {
    background:
        radial-gradient(circle at 16% 18%, rgba(52, 177, 147, 0.24), rgba(52, 177, 147, 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(52, 177, 147, 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(16, 129, 56, 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(52, 177, 147, 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(52, 177, 147, 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;
}

/* Closed practice card: stronger muted / darker gray appearance */
body.home-page .class-practice-card.is-closed {
    background: #e9edf3;
    border-color: rgba(19, 19, 19, 0.05);
    box-shadow: none;
    color: rgba(28, 27, 27, 0.64);
}

body.home-page .class-practice-card.is-closed .class-practice-card__thumb {
    filter: grayscale(0.6);
    opacity: 0.85;
}

body.home-page .class-practice-card.is-closed .class-practice-card__body p,
body.home-page .class-practice-card.is-closed .class-practice-card__body h5 {
    color: rgba(28, 27, 27, 0.56);
}

body.home-page .class-practice-card.is-closed .class-practice-card__action {
    pointer-events: none;
    background: #dfe6eb;
    color: rgba(28, 27, 27, 0.56);
    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: 'Google Sans Flex';
    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: 'Google Sans Flex';
}

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: 'Google Sans Flex';
    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(52, 177, 147, 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(52, 177, 147, 0.26);
    background:
        radial-gradient(circle at 92% 24%, rgba(52, 177, 147, 0.22), rgba(52, 177, 147, 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(52, 177, 147, 0.28);
    background:
        radial-gradient(circle at 92% 24%, rgba(52, 177, 147, 0.28), rgba(52, 177, 147, 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 {
    position: relative;
    padding: 1.05rem 0.95rem 0.95rem;
    border-radius: 0.4rem 1.05rem 0.85rem 1.2rem;
    border: 1px solid rgba(212, 175, 55, 0.28);
    background: linear-gradient(180deg, #fff7b8 0%, #fff2a0 100%);
    box-shadow:
        0 14px 26px rgba(168, 132, 18, 0.18),
        0 2px 4px rgba(60, 42, 30, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.55);
    transform: rotate(-0.4deg);
    transform-origin: top left;
}

body.home-page .class-showcase-card__todo .class-todo-home__group::before {
    content: "";
    position: absolute;
    top: -0.45rem;
    left: 50%;
    width: 3.2rem;
    height: 0.9rem;
    transform: translateX(-50%) rotate(-2deg);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 240, 170, 0.55));
    border: 1px solid rgba(212, 175, 55, 0.22);
    box-shadow: 0 2px 4px rgba(60, 42, 30, 0.08);
    border-radius: 2px;
    pointer-events: none;
}

body.home-page .class-showcase-card__todo .class-todo-home__group--completed {
    background: #ffffff;
    border: 1px solid rgba(19, 19, 19, 0.07);
    box-shadow: 0 12px 24px rgba(19, 19, 19, 0.04);
    transform: none;
    border-radius: 1.15rem;
    padding: 0.85rem;
}

body.home-page .class-showcase-card__todo .class-todo-home__group--completed::before {
    content: none;
}

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(52, 177, 147, 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;
    overflow-y: auto;
    overflow-x: hidden;
    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(52, 177, 147, 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__notes-head--stacked {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 0.8rem;
}

body.home-page .class-showcase-card__notes .class-notes-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
}

body.home-page .class-showcase-card__notes .class-notes-tab-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    min-height: 3rem;
    padding: 0.75rem 0.9rem;
    border-radius: 1rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: rgba(255, 255, 255, 0.7);
    color: rgba(28, 27, 27, 0.74);
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    transition: border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.home-page .class-showcase-card__notes .class-notes-tab-btn:hover,
body.home-page .class-showcase-card__notes .class-notes-tab-btn:focus-visible {
    border-color: rgba(211, 154, 0, 0.28);
    color: #4d3700;
    box-shadow: 0 12px 24px rgba(211, 154, 0, 0.12);
    outline: none;
}

body.home-page .class-showcase-card__notes .class-notes-tab-btn.is-active {
    border-color: rgba(211, 154, 0, 0.34);
    background: linear-gradient(145deg, rgba(255, 244, 203, 0.98) 0%, rgba(244, 223, 161, 0.96) 100%);
    color: #4d3700;
    box-shadow:
        0 16px 30px rgba(211, 154, 0, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.home-page .class-showcase-card__notes .class-notes-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.95rem;
    min-height: 1.95rem;
    padding: 0 0.55rem;
    border-radius: 999px;
    background: rgba(19, 19, 19, 0.07);
    color: inherit;
    font-size: 0.72rem;
    font-weight: 800;
    flex-shrink: 0;
}

body.home-page .class-showcase-card__notes .class-notes-tab-btn.is-active .class-notes-tab-count {
    background: rgba(255, 255, 255, 0.74);
}

body.home-page .class-showcase-card__notes .class-notes-tab-panels {
    display: grid;
    gap: 0.82rem;
}

body.home-page .class-showcase-card__notes .class-notes-tab-panel {
    display: grid;
    gap: 0.78rem;
    min-width: 0;
}

body.home-page .class-showcase-card__notes .class-notes-tab-panel[hidden] {
    display: none;
}

body.home-page .class-showcase-card__notes .class-notes-empty--panel {
    padding: 0.92rem 1rem;
    border-radius: 1rem;
    border: 1px dashed rgba(19, 19, 19, 0.1);
    background: rgba(255, 255, 255, 0.58);
}

@media (max-width: 760px) {}

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: apusTopLeaderGlow 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: apusTopLeaderSweep 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, #0a8f49 0%, #08723a 100%) !important;
    color: #facc15 !important;
    border-color: rgba(8, 114, 58, 0.45) !important;
    box-shadow: 0 10px 18px rgba(8, 114, 58, 0.22) !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__notes .class-notes-tabs {
        grid-template-columns: 1fr;
    }

    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__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(52, 177, 147, 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__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.has-homework,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions:has(.class-showcase-card__homework) {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.02fr) minmax(8rem, 0.62fr);
}

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__actions.has-homework.is-attendance-completed,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed:has(.class-showcase-card__homework) {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) minmax(10rem, 0.62fr);
}

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));
    }

    body.home-page .class-showcase-card__homework-mobile-toggle {
        display: block;
        grid-column: 1 / -1;
    }

    body.home-page .class-showcase-card__homework-mobile-toggle-btn {
        flex-direction: row;
        position: relative;
        min-height: 3rem;
        padding: 0.8rem 2.3rem 0.8rem 1rem;
        justify-content: center;
        align-items: center;
        gap: 0.74rem;
        text-align: center;
        white-space: normal;
        border-radius: 1rem;
    }

    body.home-page .class-showcase-card__homework-mobile-toggle-copy {
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.16rem;
        text-align: center;
        white-space: normal;
        flex: 0 1 auto;
    }

    body.home-page .class-showcase-card__homework-mobile-toggle-label {
        display: block;
        color: #27440f;
        font-size: 0.99rem;
        line-height: 1.22;
        font-weight: 900;
        letter-spacing: -0.01em;
        text-align: center;
    }

    body.home-page .class-showcase-card__homework-mobile-toggle-hint {
        display: block;
        color: rgba(39, 68, 15, 0.82);
        font-size: 0.76rem;
        line-height: 1.36;
        font-weight: 700;
        text-align: center;
        white-space: normal;
    }

    body.home-page .class-showcase-card__homework-mobile-toggle-icon {
        display: inline-flex;
        position: absolute;
        right: 0.92rem;
        top: 50%;
        align-items: center;
        justify-content: center;
        width: 1.18rem;
        height: 1.18rem;
        flex: 0 0 auto;
        color: #27440f;
        font-size: 0.8rem;
        line-height: 1;
        transform: translateY(-50%);
        transform-origin: center;
        transition: transform 180ms ease;
    }

    body.home-page .class-showcase-card__homework-mobile-toggle-btn.is-expanded .class-showcase-card__homework-mobile-toggle-icon {
        transform: translateY(-50%) rotate(180deg);
    }

    body.home-page .class-showcase-card__homework-mobile-anchor {
        display: grid;
        gap: 0.75rem;
    }

    body.home-page .class-showcase-card__homework-panel.is-mobile-collapsed {
        display: none !important;
    }

    body.home-page .class-showcase-card__homework-panel.is-mobile-placement {
        margin-top: 0;
    }
}

@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;
    }

    .class-homework-modal {
        padding: 0.7rem;
    }

    .class-homework-modal__dialog {
        padding: 1rem;
        border-radius: 22px;
    }

    .class-homework-dropzone,
    .class-homework-file-card,
    .class-homework-history__item-head,
    .class-homework-modal__actions {
        display: grid;
    }

    .class-homework-modal__actions>* {
        width: 100%;
    }

    .class-homework-history__actions {
        justify-content: flex-start;
    }
}

@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(52, 177, 147, 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;
    color: #181512 !important;
    -webkit-text-fill-color: #181512 !important;
}

body.course-page .course-player-review-item.is-active .course-player-review-item-kicker {
    background: #ffd65a !important;
    color: #181512 !important;
    -webkit-text-fill-color: #181512 !important;
    border-color: rgba(122, 94, 0, 0.32) !important;
}

body.course-page .course-player-review-item.is-active .course-player-review-item-title {
    color: #181512 !important;
    -webkit-text-fill-color: #181512 !important;
}

body.course-page .course-player-review-item.is-active .course-player-review-item-meta {
    color: rgba(24, 21, 18, 0.78) !important;
    -webkit-text-fill-color: rgba(24, 21, 18, 0.78) !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 {
    margin: 1.25rem !important;
    padding: 2rem 1.5rem !important;
    background: linear-gradient(180deg, #f6fbf7 0%, #ffffff 100%) !important;
    border: 1.5px dashed rgba(8, 116, 67, 0.28) !important;
    border-radius: 14px !important;
    color: var(--course-ink-700, #1f2937) !important;
    text-align: center !important;
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
    font-weight: 500 !important;
    display: grid !important;
    gap: 0.65rem !important;
    place-items: center !important;
}

body.course-page .course-outline-empty::before {
    content: "";
    display: block;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    background: linear-gradient(145deg, #e8f6ee, #d1ecdb);
    background-image:
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2308723a'><path d='M19 4H5a2 2 0 0 0-2 2v14l4-3 4 3 4-3 4 3V6a2 2 0 0 0-2-2zm0 12.4-2-1.5-4 3-4-3-2 1.5V6h12v10.4zM7 8h10v2H7V8zm0 4h7v2H7v-2z'/></svg>"),
        linear-gradient(145deg, #e8f6ee, #d1ecdb);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1.4rem 1.4rem, cover;
}

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: 'Google Sans Flex' !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: 'Google Sans Flex' !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: 'Google Sans Flex' !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: linear-gradient(145deg, #0a8f49, #08723a) !important;
    border-color: #08723a !important;
    color: #ffffff !important;
}

body.course-page .course-todo-item__state.is-completed .course-todo-item__state-sticker,
body.course-page .course-todo-item__state.is-completed .course-todo-item__state-sticker-fallback {
    display: none !important;
}

body.course-page .course-todo-item__state.is-completed .course-todo-item__state-check {
    color: #ffffff !important;
}

body.course-page .course-todo-item__title {
    color: var(--course-ink) !important;
}

body.course-page .course-todo-item.is-completed,
body.course-page .course-todo-item.is-completed:disabled {
    opacity: 1 !important;
    filter: none !important;
    -webkit-filter: none !important;
    color: #1f1f1f !important;
    -webkit-text-fill-color: #1f1f1f !important;
}

body.course-page .course-todo-item.is-completed .course-todo-item__title {
    color: #1f1f1f !important;
    -webkit-text-fill-color: #1f1f1f !important;
    opacity: 1 !important;
    text-decoration: line-through !important;
    text-decoration-color: rgba(31, 31, 31, 0.45) !important;
}

body.course-page .course-todo-item.is-completed .course-todo-item__meta-chip {
    background: #ffffff !important;
    color: #1f1f1f !important;
    -webkit-text-fill-color: #1f1f1f !important;
    border-color: rgba(17, 17, 17, 0.18) !important;
    opacity: 1 !important;
}

body.course-page .course-todo-item.is-completed .course-todo-item__reward,
body.course-page .course-todo-item.is-completed .course-todo-item__reward span {
    background: #fff8db !important;
    color: #6f5500 !important;
    -webkit-text-fill-color: #6f5500 !important;
    opacity: 1 !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,
body.course-page .course-player-resource-tab.is-active::after {
    content: none !important;
}

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-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(52, 177, 147, 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(52, 177, 147, 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(52, 177, 147, 0.16), rgba(52, 177, 147, 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%, #52c4a8 100%);
    color: #ffffff;
    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: #ffffff;
    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(52, 177, 147, 0.18), rgba(52, 177, 147, 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(2, minmax(0, 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(42, 155, 128, 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(82, 196, 168, 0.5);
    outline-offset: 2px;
}

body.home-page .blog-card.pinned {
    border-color: rgba(42, 155, 128, 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(42, 155, 128, 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: 'Google Sans Flex' !important;
    font-size: clamp(1.35rem, 2vw, 1.72rem);
    line-height: 1.16;
    letter-spacing: -0.045em;
    font-weight: 900;
    color: #141414 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-top: 0.08em;
    padding-bottom: 0.04em;
    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: color(srgb 0.0489412 0.394588 0.171294);
    color: #131313;
}

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-list {
        grid-template-columns: 1fr;
    }

    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(52, 177, 147, 0.16), rgba(52, 177, 147, 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(52, 177, 147, 0.18), rgba(52, 177, 147, 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,
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(52, 177, 147, 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%, #52c4a8 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: color(srgb 0.0489412 0.394588 0.171294);
    color: #141414;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(52, 177, 147, 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: color(srgb 0.0489412 0.394588 0.171294);
    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: color(srgb 0.0489412 0.394588 0.171294);
    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: 'Google Sans Flex';
    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: color(srgb 0.0489412 0.394588 0.171294) !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: color(srgb 0.0489412 0.394588 0.171294);
    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: color(srgb 0.0489412 0.394588 0.171294) !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: color(srgb 0.0489412 0.394588 0.171294);
    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: APUS ENGLISH LANGUAGE CENTER (UX redesign) */
body .site-footer.site-footer--apus {
    margin-top: clamp(1.75rem, 4vw, 3rem) !important;
    padding: 0 !important;
    color: #ffffff !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(255, 230, 126, 0.18), transparent 32%),
        radial-gradient(circle at 92% 110%, rgba(255, 255, 255, 0.12), transparent 38%),
        linear-gradient(165deg, #073f1b 0%, #0a6128 38%, #128a3a 78%, #169a40 100%) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    overflow: hidden;
}

body .site-footer.site-footer--apus::before,
body .site-footer.site-footer--apus::after {
    content: none !important;
}

body .site-footer.site-footer--apus .container {
    position: relative;
    z-index: 1;
}

body .site-footer.site-footer--apus .site-footer__shell {
    padding: clamp(2.4rem, 5vw, 3.6rem) 0 1.25rem;
}

body .site-footer.site-footer--apus .site-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.25fr);
    gap: clamp(1.4rem, 2.4vw, 2.4rem);
    align-items: start;
}

body .site-footer.site-footer--apus .site-footer__col {
    min-width: 0;
}

body .site-footer.site-footer--apus .site-footer__col-title {
    margin: 0 0 1rem;
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 0.65rem;
}

body .site-footer.site-footer--apus .site-footer__col-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 2.2rem;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffd44c 0%, #f2bc00 100%);
}

/* --- Brand column --- */
body .site-footer.site-footer--apus .site-footer__brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

body .site-footer.site-footer--apus .site-footer__logo {
    display: block;
    width: auto;
    height: clamp(3rem, 4vw, 3.6rem);
}

body .site-footer.site-footer--apus .site-footer__tagline {
    margin: 1rem 0 1.4rem;
    max-width: 28rem;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.98rem;
    line-height: 1.7;
}

body .site-footer.site-footer--apus .site-footer__socials {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

body .site-footer.site-footer--apus .site-footer__social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.18);
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

body .site-footer.site-footer--apus .site-footer__social svg {
    width: 1.2rem;
    height: 1.2rem;
    display: block;
}

body .site-footer.site-footer--apus .site-footer__social:hover,
body .site-footer.site-footer--apus .site-footer__social:focus-visible {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #ffd44c 0%, #f2bc00 100%);
    color: #1a1308;
    border-color: rgba(255, 212, 76, 0.6);
    outline: none;
}

/* --- Quick links column --- */
body .site-footer.site-footer--apus .site-footer__links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.7rem;
}

body .site-footer.site-footer--apus .site-footer__nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.86);
    text-decoration: none;
    font-size: 0.98rem;
    line-height: 1.5;
    transition: color 0.18s ease, transform 0.18s ease;
}

body .site-footer.site-footer--apus .site-footer__nav-link::before {
    content: "\203A";
    color: #ffd44c;
    font-weight: 900;
    transition: transform 0.18s ease;
}

body .site-footer.site-footer--apus .site-footer__nav-link:hover,
body .site-footer.site-footer--apus .site-footer__nav-link:focus-visible {
    color: #ffffff;
    outline: none;
}

body .site-footer.site-footer--apus .site-footer__nav-link:hover::before,
body .site-footer.site-footer--apus .site-footer__nav-link:focus-visible::before {
    transform: translateX(3px);
}

/* --- Locations column --- */
body .site-footer.site-footer--apus .site-footer__locations {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.05rem;
}

body .site-footer.site-footer--apus .site-footer__location {
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

body .site-footer.site-footer--apus .site-footer__location-row {
    display: flex;
    align-items: flex-start;
    gap: 0.7rem;
}

body .site-footer.site-footer--apus .site-footer__badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.6rem;
    height: 1.7rem;
    padding: 0 0.55rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd44c 0%, #f2bc00 100%);
    color: #1a1308;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

body .site-footer.site-footer--apus .site-footer__address {
    margin: 0;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.95rem;
    line-height: 1.6;
}

body .site-footer.site-footer--apus .site-footer__map-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.7rem;
    padding: 0.35rem 0.7rem 0.35rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

body .site-footer.site-footer--apus .site-footer__map-link svg {
    width: 0.95rem;
    height: 0.95rem;
}

body .site-footer.site-footer--apus .site-footer__map-link:hover,
body .site-footer.site-footer--apus .site-footer__map-link:focus-visible {
    background: linear-gradient(135deg, #ffd44c 0%, #f2bc00 100%);
    color: #1a1308;
    transform: translateY(-1px);
    outline: none;
}

/* --- Contact column --- */
body .site-footer.site-footer--apus .site-footer__contacts {
    list-style: none;
    margin: 0 0 1.35rem;
    padding: 0;
    display: grid;
    gap: 0.95rem;
}

body .site-footer.site-footer--apus .site-footer__contact {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

body .site-footer.site-footer--apus .site-footer__contact-icon {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.16);
}

body .site-footer.site-footer--apus .site-footer__contact-icon svg {
    width: 1.15rem;
    height: 1.15rem;
}

body .site-footer.site-footer--apus .site-footer__contact-body {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

body .site-footer.site-footer--apus .site-footer__contact-label {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body .site-footer.site-footer--apus .site-footer__contact-value {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

body .site-footer.site-footer--apus .site-footer__contact-value--text {
    font-weight: 600;
    color: rgba(255, 255, 255, 0.9);
}

body .site-footer.site-footer--apus a.site-footer__contact-value {
    transition: color 0.18s ease;
}

body .site-footer.site-footer--apus a.site-footer__contact-value+a.site-footer__contact-value {
    margin-top: 0.1rem;
}

body .site-footer.site-footer--apus a.site-footer__contact-value:hover,
body .site-footer.site-footer--apus a.site-footer__contact-value:focus-visible {
    color: #ffd44c;
    outline: none;
}

body .site-footer.site-footer--apus .site-footer__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    width: 100%;
    min-height: 3.2rem;
    padding: 0.85rem 1.35rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd84d 0%, #f4b400 100%);
    color: #1a1308;
    font: inherit;
    font-weight: 900;
    font-size: 1rem;
    letter-spacing: 0.01em;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body .site-footer.site-footer--apus .site-footer__cta svg {
    width: 1.15rem;
    height: 1.15rem;
}

body .site-footer.site-footer--apus .site-footer__cta:hover,
body .site-footer.site-footer--apus .site-footer__cta:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.6);
    outline: none;
}

body .site-footer.site-footer--apus .site-footer__cta:active {
    transform: translateY(0);
}

/* --- Bottom bar --- */
body .site-footer.site-footer--apus .site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.85rem 1.4rem;
    margin-top: 2rem;
    padding: 1.1rem 0 0.4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

body .site-footer.site-footer--apus .site-footer__copyright {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.92rem;
    line-height: 1.5;
}

body .site-footer.site-footer--apus .site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

body .site-footer.site-footer--apus .site-footer__legal a {
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    transition: color 0.18s ease;
}

body .site-footer.site-footer--apus .site-footer__legal a:hover,
body .site-footer.site-footer--apus .site-footer__legal a:focus-visible {
    color: #ffd44c;
    outline: none;
}

body .site-footer.site-footer--apus .site-footer__legal li+li {
    position: relative;
    padding-left: 1rem;
}

body .site-footer.site-footer--apus .site-footer__legal li+li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 4px;
    margin-top: -2px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
}

/* --- Consultation modal (unchanged behavior, refined visuals) --- */
body .site-footer.site-footer--apus .site-footer__consultation {
    position: fixed;
    inset: 0;
    z-index: 2600;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 2vw, 1.6rem);
    margin-top: 0;
}

body .site-footer.site-footer--apus .site-footer__consultation[hidden] {
    display: none !important;
}

body .site-footer.site-footer--apus .site-footer__consultation-success {
    position: fixed;
    inset: 0;
    z-index: 2610;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(1rem, 2vw, 1.6rem);
}

body .site-footer.site-footer--apus .site-footer__consultation-success[hidden] {
    display: none !important;
}

body.site-footer-consultation-open {
    overflow: hidden;
}

body.site-footer-consultation-open .site-footer.site-footer--apus {
    z-index: 2590 !important;
}

body .site-footer.site-footer--apus .site-footer__consultation-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(7, 31, 16, 0.62);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

body .site-footer.site-footer--apus .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.5rem;
    padding: 1.6rem;
    border-radius: 1.6rem;
    background:
        radial-gradient(circle at top right, rgba(255, 230, 126, 0.34), transparent 30%),
        linear-gradient(180deg, #ffffff, #fff8e0);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 32px 70px rgba(7, 31, 16, 0.32);
}

body .site-footer.site-footer--apus .site-footer__consultation-close {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border: 0;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.08);
    color: #1a1308;
    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--apus .site-footer__consultation-close:hover,
body .site-footer.site-footer--apus .site-footer__consultation-close:focus-visible {
    background: rgba(17, 17, 17, 0.16);
    transform: translateY(-1px);
    outline: none;
}

body .site-footer.site-footer--apus .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.6rem;
    text-align: center;
    background:
        radial-gradient(circle at top center, rgba(255, 230, 126, 0.36), transparent 34%),
        linear-gradient(180deg, #ffffff, #fff8e0);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 32px 70px rgba(7, 31, 16, 0.32);
}

body .site-footer.site-footer--apus .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, #128a3a, #0a6128);
    color: #ffffff;
    font-size: 2rem;
    font-weight: 900;
    box-shadow: 0 18px 34px rgba(7, 31, 16, 0.24);
}

body .site-footer.site-footer--apus .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--apus .site-footer__consultation-success-title {
    margin: 0;
    color: #1a1308;
    font-size: clamp(1.4rem, 2vw, 1.8rem);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body .site-footer.site-footer--apus .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--apus .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(135deg, #ffd84d 0%, #f4b400 100%);
    color: #1a1308;
    font: inherit;
    font-size: 0.98rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    cursor: pointer;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body .site-footer.site-footer--apus .site-footer__consultation-success-button:hover,
body .site-footer.site-footer--apus .site-footer__consultation-success-button:focus-visible {
    transform: translateY(-1px);
    filter: brightness(1.05);
    outline: none;
}

body .site-footer.site-footer--apus .site-footer__consultation-copy {
    display: grid;
    align-content: start;
    gap: 0.75rem;
    padding: 0.35rem 0.2rem;
}

body .site-footer.site-footer--apus .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--apus .site-footer__consultation-logo {
    display: block;
    width: auto;
    height: 3.4rem;
    max-width: min(100%, 180px);
}

body .site-footer.site-footer--apus .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--apus .site-footer__consultation-title {
    margin: 0;
    color: #1a1308;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.08;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body .site-footer.site-footer--apus .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--apus .site-footer__consultation-form {
    display: grid;
    gap: 1rem;
}

body .site-footer.site-footer--apus .site-footer__consultation-fields {
    display: grid;
    gap: 0.85rem;
}

body .site-footer.site-footer--apus .site-footer__field {
    display: grid;
    gap: 0.45rem;
}

body .site-footer.site-footer--apus .site-footer__field span {
    color: rgba(17, 17, 17, 0.76);
    font-size: 0.9rem;
    font-weight: 700;
}

body .site-footer.site-footer--apus .site-footer__field input,
body .site-footer.site-footer--apus .site-footer__field textarea {
    width: 100%;
    border: 1px solid rgba(17, 17, 17, 0.14);
    border-radius: 0.85rem;
    background: rgba(255, 255, 255, 0.92);
    color: #1a1308;
    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--apus .site-footer__field textarea {
    resize: vertical;
    min-height: 7.8rem;
}

body .site-footer.site-footer--apus .site-footer__field input:focus,
body .site-footer.site-footer--apus .site-footer__field textarea:focus {
    outline: none;
    border-color: rgba(18, 138, 58, 0.55);
    box-shadow: 0 0 0 4px rgba(18, 138, 58, 0.18);
    background: #ffffff;
}

body .site-footer.site-footer--apus .site-footer__consultation-actions {
    display: grid;
    gap: 0.7rem;
}

body .site-footer.site-footer--apus .site-footer__consultation-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    width: 100%;
    border: 0;
    border-radius: 0.95rem;
    background: linear-gradient(135deg, #0a8f49 0%, #08723a 100%);
    color: #ffffff;
    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, filter 0.2s ease;
    box-shadow: 0 18px 34px rgba(8, 114, 58, 0.28);
}

body .site-footer.site-footer--apus .site-footer__consultation-submit:hover,
body .site-footer.site-footer--apus .site-footer__consultation-submit:focus-visible {
    transform: translateY(-1px);
    filter: brightness(1.05);
    outline: none;
}

body .site-footer.site-footer--apus .site-footer__consultation-submit:disabled {
    opacity: 0.72;
    cursor: wait;
}

body .site-footer.site-footer--apus .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--apus .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--apus .site-footer__consultation-feedback[data-tone="success"] {
    color: #0f7a2f;
    font-weight: 700;
}

body .site-footer.site-footer--apus .site-footer__consultation-feedback[data-tone="error"] {
    color: #b3261e;
    font-weight: 700;
}

body .site-footer.site-footer--apus .site-footer__honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

/* --- Responsive --- */
@media (max-width: 1080px) {
    body .site-footer.site-footer--apus .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body .site-footer.site-footer--apus .site-footer__col--brand {
        grid-column: 1 / -1;
    }

    body .site-footer.site-footer--apus .site-footer__consultation-panel {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body .site-footer.site-footer--apus .site-footer__shell {
        padding: 2rem 0 1rem;
    }

    body .site-footer.site-footer--apus .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    body .site-footer.site-footer--apus .site-footer__location {
        padding: 0.85rem 0.95rem;
    }

    body .site-footer.site-footer--apus .site-footer__consultation-panel {
        padding: 1.1rem;
        border-radius: 1.25rem;
        width: min(1120px, calc(100vw - 1rem));
        max-height: min(88vh, 920px);
        max-height: min(88dvh, 920px);
    }

    body .site-footer.site-footer--apus .site-footer__consultation-success-dialog {
        width: min(100%, 28rem);
        padding: 1.75rem 1.1rem 1.35rem;
        border-radius: 1.25rem;
    }

    body .site-footer.site-footer--apus .site-footer__consultation-close {
        top: 0.7rem;
        right: 0.7rem;
        width: 2.4rem;
        height: 2.4rem;
    }

    body .site-footer.site-footer--apus .site-footer__consultation-logo {
        height: 2.9rem;
    }

    body .site-footer.site-footer--apus .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        margin-top: 1.4rem;
    }
}

/* 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;
}

@media (min-width: 761px) {
    body.home-page .home-gallery__intro #homeGalleryTitle {
        white-space: nowrap;
    }
}

body.home-page .home-gallery__aside {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 0.95rem;
}

body.home-page .home-gallery .section-stats .stat-pill {
    min-width: 0;
    min-height: 0;
    padding: 0.5rem 0.9rem;
    border-radius: 0.95rem;
    flex-direction: row;
    align-items: baseline;
    gap: 0.35rem;
}

body.home-page .home-gallery .section-stats .stat-pill strong {
    font-size: 1.15rem;
}

body.home-page .home-gallery .section-stats .stat-pill span {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bee-copy-soft, #6b7280);
}

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__viewport {
    overflow: hidden;
    border-radius: 1.85rem;
}

body.home-page .home-gallery__track {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

body.home-page .home-gallery__track::-webkit-scrollbar {
    display: none;
}

body.home-page .home-gallery-grid {
    flex: 0 0 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    aspect-ratio: 4 / 3;
    scroll-snap-align: start;
}

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::after {
    content: '';
    position: absolute;
    inset: 45% 0 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(10, 28, 23, 0), rgba(10, 28, 23, 0.82));
    pointer-events: none;
}

body.home-page .home-gallery-card__caption {
    position: absolute;
    left: clamp(0.75rem, 1.4vw, 1rem);
    right: clamp(0.75rem, 1.4vw, 1rem);
    bottom: clamp(0.75rem, 1.4vw, 1rem);
    z-index: 2;
    display: grid;
    gap: 0.28rem;
    color: #fffdf6;
}

body.home-page .home-gallery-card__caption span {
    width: fit-content;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.24rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1;
    backdrop-filter: blur(8px);
}

body.home-page .home-gallery-card__caption strong {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: clamp(0.92rem, 1.5vw, 1.08rem);
    line-height: 1.15;
    font-weight: 900;
}

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%);
}

body.home-page .home-gallery-empty {
    display: grid;
    gap: 0.35rem;
    padding: clamp(1rem, 2vw, 1.35rem);
    border-radius: 1.3rem;
    border: 1px dashed rgba(8, 122, 67, 0.24);
    background: rgba(255, 255, 255, 0.72);
    color: rgba(16, 41, 39, 0.72);
    text-align: center;
}

body.home-page .home-gallery-empty strong {
    color: #102927;
    font-size: 1.05rem;
}

/* 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 .container,
body.gallery-page main.container.gallery-content {
    width: min(1500px, calc(100% - 80px));
}

body.gallery-page .gallery-hero {
    display: block;
    padding: clamp(7.2rem, 9vw, 8.6rem) 0 clamp(1.4rem, 3vw, 2rem);
}

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%, color(srgb 0.0489412 0.394588 0.171294) 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(1.5rem, 3vw, 2.4rem);
    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%, color(srgb 0.0489412 0.394588 0.171294) 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: 3200;
    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: calc(100dvh - 2rem);
    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);
    max-height: calc(100dvh - 8.5rem);
    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(100dvh - 8.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(52, 177, 147, 0.14) !important;
    }
}

body.course-page .course-center-logo {
    display: none;
}

body.course-page .back-to-top {
    display: none !important;
}

body.course-page .floating-social-links {
    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(52, 177, 147, 0.42) !important;
        border-radius: 1.35rem !important;
        background: linear-gradient(135deg, #ffe590 0%, #52c4a8 56%, color(srgb 0.0489412 0.394588 0.171294) 100%) !important;
        color: #241706 !important;
        box-shadow: 0 18px 34px rgba(52, 177, 147, 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(52, 177, 147, 0.32) !important;
    }

    body.course-page .course-outline-fab__label {
        font-family: 'Google Sans Flex' !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: 'Google Sans Flex' !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-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;
}

body.course-page .course-back:hover,
body.course-page .course-back:focus-visible {
    background: linear-gradient(135deg, #0a8f49, #08723a) !important;
    color: #ffffff !important;
    border-color: #08723a !important;
    box-shadow: 0 12px 24px rgba(8, 114, 58, 0.32) !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;
    }
}



/* Brand header: use the logo green as the header surface with white branding. */
:root {
    --apus-logo-green: #108138;
}

.site-header.container,
.site-header.exam-page-header.container,
.site-header.exam-page-header,
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,
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 {
    background: var(--apus-logo-green) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 14px 30px rgba(16, 129, 56, 0.24) !important;
}

.site-header::after,
.site-header.exam-page-header::after,
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(255, 255, 255, 0.18) !important;
}

.site-header .site-logo {
    filter: none !important;
}

.site-header .main-nav a,
body.mobile-nav-ready .site-header .main-nav a,
body.mobile-nav-ready .site-header .main-nav a[href*="#khoa-hoc"],
body.mobile-nav-ready .site-header .main-nav a[href*="#lop-hoc"],
body.mobile-nav-ready .site-header .main-nav a:last-child {
    color: rgba(255, 255, 255, 0.82) !important;
    border-bottom-color: transparent !important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a:focus-visible,
.site-header .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header .main-nav a:hover,
body.mobile-nav-ready .site-header .main-nav a:focus-visible,
body.mobile-nav-ready .site-header .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header .main-nav a[href*="#khoa-hoc"]:hover,
body.mobile-nav-ready .site-header .main-nav a[href*="#khoa-hoc"]:focus-visible,
body.mobile-nav-ready .site-header .main-nav a[href*="#lop-hoc"]:hover,
body.mobile-nav-ready .site-header .main-nav a[href*="#lop-hoc"]:focus-visible {
    color: #ffffff !important;
    background: transparent !important;
    border-bottom-color: rgba(255, 255, 255, 0.86) !important;
}

.site-header .btn-login {
    background: #ffffff !important;
    color: var(--apus-logo-green) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.site-header .user-toggle,
.site-header .header-actions.has-notify-bell .user-toggle,
body.mobile-nav-ready .site-header .user-toggle,
body.mobile-nav-ready .site-header .header-actions.has-notify-bell .user-toggle {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    box-shadow: none !important;
}

.site-header .user-toggle:hover,
.site-header .user-toggle:focus-visible,
.site-header .header-actions.has-notify-bell .user-toggle:hover,
.site-header .header-actions.has-notify-bell .user-toggle:focus-visible {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.42) !important;
    box-shadow: none !important;
}

.site-header .user-greeting,
.site-header .user-name {
    color: #ffffff !important;
}

.site-header .user-caret {
    border-top-color: #ffffff !important;
}

.site-header .mobile-nav-toggle,
body.mobile-nav-ready .site-header .mobile-nav-toggle {
    background: rgba(255, 255, 255, 0.14) !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.site-header .mobile-nav-toggle__line {
    background: #ffffff !important;
}

.site-header .header-actions.has-notify-bell .header-notify-btn,
.site-header .header-actions.has-notify-bell .header-notify-btn.is-active,
body.mobile-nav-ready .site-header .header-actions.has-notify-bell .header-notify-btn,
body.mobile-nav-ready .site-header .header-actions.has-notify-bell .header-notify-btn.is-active {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
    box-shadow: none !important;
}

.site-header .header-actions.has-notify-bell .header-notify-btn::before,
body.mobile-nav-ready .site-header .header-actions.has-notify-bell .header-notify-btn::before {
    background: rgba(255, 255, 255, 0.12) !important;
}

.site-header .header-actions.has-notify-bell .header-notify-btn__icon {
    color: #ffffff !important;
}

/* Edus-style shared header */
.site-header--edus,
.site-header--edus.container,
.site-header--edus.exam-page-header,
body .site-header--edus,
body .site-header--edus.container,
body .site-header--edus.exam-page-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1500 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(20, 38, 78, 0.06) !important;
    color: #001b61 !important;
    overflow: visible !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    font-family: 'Google Sans Flex' !important;
}

body.course-page .site-header.site-header--edus.container,
body.course-page .site-header.site-header--edus.exam-page-header.container,
body.course-page .site-header.site-header--edus.exam-page-header {
    display: block !important;
}

.site-header--edus::before,
.site-header--edus::after,
.site-header--edus.container::before,
.site-header--edus.container::after {
    content: none !important;
    display: none !important;
}

.site-header--edus .site-header__top,
.site-header--edus .site-header__menu {
    display: flex !important;
    align-items: center !important;
    width: 100%;
    padding-inline: clamp(1.25rem, 3.5vw, 4.5rem);
    background: #ffffff;
}

.site-header--edus .site-header__top {
    min-height: 110px;
    justify-content: space-between;
    gap: clamp(1.25rem, 2.6vw, 3rem);
    border-bottom: 1px solid #e9f1ff;
}

.site-header--edus .site-header__brand-search {
    display: flex;
    align-items: center;
    gap: clamp(1.5rem, 4vw, 5rem);
    min-width: 0;
}

.site-header--edus .logo-block,
body.home-page .site-header--edus .logo-block,
body.course-page .site-header--edus .logo-block {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    line-height: 0 !important;
}

.site-header--edus .logo-link,
body.home-page .site-header--edus .logo-link,
body.course-page .site-header--edus .logo-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.site-header--edus .site-logo,
body.home-page .site-header--edus .site-logo,
body.course-page .site-header--edus .site-logo {
    display: block !important;
    width: auto !important;
    height: clamp(2.6rem, 4vw, 3.55rem) !important;
    max-width: clamp(8.25rem, 12vw, 11rem) !important;
    object-fit: contain !important;
    filter: none !important;
}

.site-header-search {
    position: relative;
    display: flex;
    align-items: center;
    width: min(25rem, 32vw);
    min-width: 15rem;
    height: 50px;
    margin: 0;
}

.site-header-search__icon {
    position: absolute;
    left: 1.75rem;
    top: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    height: 1.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: #0066ff;
    cursor: pointer;
    transform: translateY(-50%);
    z-index: 1;
}

.site-header-search__icon:hover,
.site-header-search__icon:focus-visible {
    color: #f16001;
    outline: none;
}

.site-header-search__icon svg,
.site-header__quick-icon svg,
.btn-login__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.site-header-search input {
    width: 100%;
    height: 50px;
    padding: 0 1.25rem 0 4rem;
    border: 0;
    border-radius: 999px;
    outline: none;
    background: #f7fbff;
    color: #001b61;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 700;
}

.site-header-search input::placeholder {
    color: #acc4dd;
    opacity: 1;
}

.site-header-search input:focus-visible {
    box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.12);
}

.site-header--edus .site-header__quick-links {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1rem, 2.1vw, 2.2rem);
    min-width: 0;
}

.site-header--edus .site-language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.2rem;
    border: 1px solid rgba(172, 196, 221, 0.72);
    border-radius: 999px;
    background: #f7fbff;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.82);
}

.site-header--edus .site-language-switcher--mobile {
    display: none !important;
}

.site-header--edus .site-language-switcher__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.4rem;
    height: 2rem;
    padding: 0 0.58rem;
    border-radius: 999px;
    color: #46637f;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.site-header--edus .site-language-switcher__link:hover,
.site-header--edus .site-language-switcher__link:focus-visible {
    color: #108138;
    outline: none;
}

.site-header--edus .site-language-switcher__link.is-active {
    background: #108138;
    color: #ffffff;
    box-shadow: 0 6px 14px rgba(16, 129, 56, 0.22);
}

.site-header--edus .site-language-switcher__link.is-active:hover,
.site-header--edus .site-language-switcher__link.is-active:focus-visible {
    background: #0f7434;
    color: #ffffff;
}

.site-header--edus .site-header__quick-link,
.site-header--edus .site-header__trial-link,
.site-header--edus .site-header__menu-side>a,
.site-header--edus .site-header-social a {
    text-decoration: none !important;
}

.site-header--edus .site-header__quick-link,
.site-header--edus .btn-login {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.42rem !important;
    min-height: 50px !important;
    height: 50px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    color: #001b61 !important;
    box-shadow: none !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-header--edus .site-header__quick-link:hover,
.site-header--edus .site-header__quick-link:focus-visible,
.site-header--edus .btn-login:hover,
.site-header--edus .btn-login:focus-visible {
    color: #f16001 !important;
    outline: none !important;
}

.site-header--edus .site-header__quick-icon,
.site-header--edus .btn-login__icon {
    display: inline-flex;
    width: 1rem;
    height: 1rem;
    color: #30bcff;
    flex: 0 0 1rem;
}

.site-header--edus .site-header__auth-actions,
.site-header--edus .header-actions,
body.home-page .site-header--edus .header-actions,
body.course-page .site-header--edus .header-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0.65rem !important;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 1 !important;
}

.site-header--edus .site-header__trial-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 12.75rem;
    height: 50px;
    padding: 0 2.45rem;
    border: 2px solid #ff9595;
    border-radius: 999px;
    color: #ff9595;
    background: transparent;
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.site-header--edus .site-header__trial-link:hover,
.site-header--edus .site-header__trial-link:focus-visible {
    color: #ffffff;
    background: #ff9595;
    outline: none;
}

.site-header--edus .site-header__menu {
    min-height: 80px;
    justify-content: space-between;
    gap: 1.25rem;
    border-bottom: 1px solid rgba(233, 241, 255, 0.78);
}

.site-header--edus .main-nav,
body.home-page .site-header--edus .main-nav,
body.course-page .site-header--edus .main-nav {
    position: static !important;
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 80px !important;
    height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: clamp(1.25rem, 2.7vw, 3rem) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.site-header--edus .main-nav a,
body.home-page .site-header--edus .main-nav a,
body.course-page .site-header--edus .main-nav a,
body.mobile-nav-ready .site-header--edus .main-nav a {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 80px !important;
    height: 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #7585af !important;
    font-size: 0.95rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transform: none !important;
}

body.mobile-nav-ready .site-header.site-header--edus .main-nav a,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a[href*="#khoa-hoc"],
body.mobile-nav-ready .site-header.site-header--edus .main-nav a[href*="#lop-hoc"],
body.mobile-nav-ready .site-header.site-header--edus .main-nav a:last-child {
    color: #7585af !important;
    border-bottom-color: transparent !important;
    background: transparent !important;
}

.site-header--edus .main-nav a::before,
body.home-page .site-header--edus .main-nav a::before,
body.course-page .site-header--edus .main-nav a::before,
body.mobile-nav-ready .site-header--edus .main-nav a::before {
    content: "" !important;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    display: block !important;
    width: 100%;
    height: 3px;
    background: var(--bee-gold);
    opacity: 0;
    transform: scaleX(0.4);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.site-header--edus .main-nav a::after,
body.home-page .site-header--edus .main-nav a::after,
body.course-page .site-header--edus .main-nav a::after,
body.mobile-nav-ready .site-header--edus .main-nav a::after {
    content: none !important;
    display: none !important;
}

.site-header--edus .main-nav a:hover,
.site-header--edus .main-nav a:focus-visible,
.site-header--edus .main-nav a[aria-current="page"],
body.home-page .site-header--edus .main-nav a:hover,
body.home-page .site-header--edus .main-nav a:focus-visible,
body.home-page .site-header--edus .main-nav a[aria-current="page"],
body.course-page .site-header--edus .main-nav a:hover,
body.course-page .site-header--edus .main-nav a:focus-visible,
body.course-page .site-header--edus .main-nav a[aria-current="page"] {
    color: var(--bee-gold) !important;
    background: transparent !important;
    outline: none !important;
}

body.mobile-nav-ready .site-header.site-header--edus .main-nav a:hover,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a:focus-visible,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header.site-header--edus .main-nav a[href*="#khoa-hoc"]:hover,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a[href*="#khoa-hoc"]:focus-visible,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a[href*="#lop-hoc"]:hover,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a[href*="#lop-hoc"]:focus-visible {
    color: var(--bee-gold) !important;
    background: transparent !important;
    border-bottom-color: transparent !important;
    outline: none !important;
}

.site-header--edus .main-nav a:hover::before,
.site-header--edus .main-nav a:focus-visible::before,
.site-header--edus .main-nav a[aria-current="page"]::before {
    opacity: 1;
    transform: scaleX(1);
}

.site-header--edus .site-header__menu-side {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1.25rem, 2.6vw, 3.75rem);
    flex: 0 0 auto;
    min-width: 0;
}

.site-header--edus .site-header__menu-side>a {
    color: #7585af;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

.site-header--edus .site-header__menu-side>a:hover,
.site-header--edus .site-header__menu-side>a:focus-visible {
    color: #f16001;
    outline: none;
}

.site-header-social {
    display: flex;
    align-items: center;
    gap: clamp(0.85rem, 1.35vw, 1.45rem);
}

.site-header-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1rem;
    height: 1.5rem;
    color: #7585af;
    font-size: 0.98rem;
    font-weight: 900;
    line-height: 1;
}

.site-header-social a:hover,
.site-header-social a:focus-visible {
    color: #f16001;
    outline: none;
}

.site-header--edus .user-menu {
    position: relative;
    z-index: 1510;
}

.site-header--edus .user-toggle,
.site-header--edus .header-actions.has-notify-bell .user-toggle,
body.mobile-nav-ready .site-header--edus .user-toggle,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    width: auto !important;
    max-width: 17rem !important;
    min-width: 0 !important;
    min-height: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0.35rem 0.8rem !important;
    border: 1px solid rgba(172, 196, 221, 0.55) !important;
    border-radius: 999px !important;
    background: #f7fbff !important;
    color: #001b61 !important;
    box-shadow: none !important;
}

.site-header--edus .user-greeting,
.site-header--edus .user-name,
body .site-header--edus .user-greeting,
body .site-header--edus .user-name {
    color: #001b61 !important;
}

.site-header--edus .user-greeting {
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
}

.site-header--edus .user-name {
    max-width: 8rem;
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.05;
}

.site-header--edus .user-caret,
body .site-header--edus .user-caret {
    border-top-color: #001b61 !important;
}

.site-header--edus .user-avatar {
    width: 34px;
    height: 34px;
    border-color: rgba(48, 188, 255, 0.45);
    background: #ffffff;
    color: #001b61;
}

.site-header--edus .user-dropdown {
    top: calc(100% + 0.55rem) !important;
    min-width: 15rem;
    background: #ffffff !important;
    border: 1px solid rgba(172, 196, 221, 0.5) !important;
    border-radius: 1rem !important;
    box-shadow: 0 18px 42px rgba(20, 38, 78, 0.13) !important;
}

.site-header--edus .user-action {
    min-width: 0;
    color: #001b61 !important;
}

.site-header--edus .header-actions.has-notify-bell .header-notify-btn,
.site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    margin: 0 !important;
    border: 1px solid rgba(172, 196, 221, 0.55) !important;
    border-radius: 999px !important;
    background: #f7fbff !important;
    color: #001b61 !important;
    box-shadow: none !important;
}

.site-header--edus .header-actions.has-notify-bell .header-notify-btn:hover,
.site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    color: #f16001 !important;
    border-color: rgba(241, 96, 1, 0.32) !important;
}

.site-header--edus+.course-shell,
body.course-page .site-header--edus+.course-shell {
    padding-top: clamp(1.4rem, 2.8vw, 2.35rem) !important;
}

.site-header--edus+.post-header,
body.post-page .site-header--edus+.post-header {
    padding-top: clamp(1.45rem, 2.8vw, 2.35rem) !important;
}

body.home-page .site-header--edus+.home-hero {
    padding-top: clamp(0.8rem, 1.8vw, 1.4rem) !important;
}

body.home-page .site-header--edus+.home-hero.home-hero--slider-only {
    padding-top: 0 !important;
}

@media (max-width: 1480px) {
    .site-header--edus .site-header__menu-side {
        gap: 1.45rem;
    }

    .site-header-social {
        gap: 0.85rem;
    }

    .site-header--edus .main-nav,
    body.home-page .site-header--edus .main-nav,
    body.course-page .site-header--edus .main-nav {
        gap: clamp(1rem, 1.7vw, 1.8rem) !important;
    }
}

@media (max-width: 1180px) {
    .site-header--edus .site-header__top {
        min-height: 94px;
    }

    .site-header-search {
        width: min(21rem, 28vw);
        min-width: 13.5rem;
    }

    .site-header--edus .site-header__quick-link span:last-child {
        display: none;
    }

    .site-header--edus .site-header__trial-link {
        min-width: 10.5rem;
        padding-inline: 1.25rem;
    }

    .site-header--edus .site-header__menu-side {
        display: none;
    }
}

@media (max-width: 900px) {

    .site-header--edus,
    .site-header--edus.container,
    body .site-header--edus,
    body .site-header--edus.container {
        position: sticky !important;
        overflow: visible !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    .site-header--edus .site-header__top {
        min-height: auto;
        padding: 0.78rem clamp(1rem, 4vw, 1.35rem);
        gap: 0.85rem;
    }

    .site-header--edus .site-header__brand-search {
        flex: 1 1 auto;
        gap: 0.8rem;
    }

    .site-header--edus .site-logo,
    body.home-page .site-header--edus .site-logo,
    body.course-page .site-header--edus .site-logo {
        height: 2.75rem !important;
        max-width: 9.25rem !important;
    }

    .site-header-search {
        display: none;
    }

    .site-header--edus .site-header__quick-links {
        flex: 0 0 auto;
        gap: 0.55rem;
    }

    .site-header--edus .site-language-switcher {
        padding: 0.16rem;
    }

    .site-header--edus .site-language-switcher__link {
        min-width: 2.15rem;
        height: 1.86rem;
        padding: 0 0.44rem;
        font-size: 0.73rem;
    }

    .site-header--edus .site-header__quick-link,
    .site-header--edus .site-header__trial-link {
        display: none !important;
    }

    .site-header--edus .btn-login {
        min-height: 42px !important;
        height: 42px !important;
        padding: 0 0.25rem !important;
        font-size: 0.86rem !important;
    }

    .site-header--edus .site-header__menu {
        min-height: 0;
        padding: 0;
        align-items: flex-start !important;
        flex-wrap: nowrap;
        gap: 0;
    }

    .site-header--edus .mobile-nav-toggle,
    body.mobile-nav-ready .site-header--edus .mobile-nav-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        border: 1px solid rgba(172, 196, 221, 0.6) !important;
        border-radius: 999px !important;
        background: #f7fbff !important;
        color: #001b61 !important;
        box-shadow: none !important;
    }

    .site-header--edus .mobile-nav-toggle__line {
        background: #001b61 !important;
    }

    .site-header--edus .main-nav,
    body.home-page .site-header--edus .main-nav,
    body.course-page .site-header--edus .main-nav,
    body.mobile-nav-ready .site-header--edus .main-nav {
        order: 2 !important;
        flex: 1 0 100% !important;
        display: none !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 0.5rem !important;
        background: transparent !important;
    }

    .site-header--edus .main-nav.is-open,
    body.mobile-nav-ready .site-header--edus .main-nav.is-open {
        display: grid !important;
        padding: 0.65rem clamp(1rem, 4vw, 1.35rem) 1.1rem !important;
        max-height: calc(100dvh - 68px);
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        align-items: start !important;
    }

    .site-header--edus .main-nav a,
    body.home-page .site-header--edus .main-nav a,
    body.course-page .site-header--edus .main-nav a,
    body.mobile-nav-ready .site-header--edus .main-nav a,
    body.mobile-nav-ready .site-header--edus .main-nav a[href*="#khoa-hoc"],
    body.mobile-nav-ready .site-header--edus .main-nav a[href*="#lop-hoc"],
    body.mobile-nav-ready .site-header--edus .main-nav a:last-child {
        display: flex !important;
        width: 100% !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 0.8rem !important;
        border: 1px solid rgba(172, 196, 221, 0.42) !important;
        border-radius: 999px !important;
        background: #f7fbff !important;
        background-image: none !important;
        color: #001b61 !important;
        font-size: 0.88rem !important;
        box-shadow: none !important;
        touch-action: manipulation;
    }

    .site-header--edus .main-nav a::before {
        content: none !important;
        display: none !important;
    }

    .site-header--edus .main-nav a[aria-current="page"],
    body.mobile-nav-ready .site-header--edus .main-nav a[aria-current="page"] {
        border-color: rgba(16, 129, 56, 0.32) !important;
        color: var(--bee-gold) !important;
        background: #eaf6ee !important;
    }

    .site-header--edus .site-header__menu-side {
        display: none;
    }

    .site-header--edus .user-toggle,
    .site-header--edus .header-actions.has-notify-bell .user-toggle,
    body.mobile-nav-ready .site-header--edus .user-toggle,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-toggle {
        height: 42px !important;
        min-height: 42px !important;
        max-width: 12rem !important;
        padding: 0.25rem 0.6rem !important;
    }

    .site-header--edus .user-greeting {
        display: none !important;
    }

    .site-header--edus .main-nav .site-header__install-slot,
    body.mobile-nav-ready .site-header--edus .main-nav .site-header__install-slot {
        grid-row: 1 !important;
        grid-column: 1 / -1;
        margin: 0 0 0.4rem;
        padding-bottom: 0.6rem;
        border-bottom: 1px solid rgba(172, 196, 221, 0.35);
        justify-content: center;
        min-width: 0 !important;
        width: 100%;
    }

    .site-header--edus .main-nav .site-header__install-slot .pwa-install-btn--header,
    body.mobile-nav-ready .site-header--edus .main-nav .site-header__install-slot .pwa-install-btn--header {
        width: 100%;
        justify-content: center;
        min-height: 46px !important;
    }
}

@media (max-width: 560px) {
    .site-header--edus .site-header__top {
        padding-inline: 0.85rem;
    }

    .site-header--edus .main-nav.is-open,
    body.mobile-nav-ready .site-header--edus .main-nav.is-open {
        padding-inline: 0.85rem !important;
    }

    .site-header--edus .site-logo,
    body.home-page .site-header--edus .site-logo,
    body.course-page .site-header--edus .site-logo {
        height: 2.35rem !important;
        max-width: 7.9rem !important;
    }

    .site-header--edus .main-nav,
    body.mobile-nav-ready .site-header--edus .main-nav {
        grid-template-columns: 1fr !important;
    }

    .site-header--edus .btn-login span:last-child {
        display: none;
    }

    body .site-header--edus .user-toggle,
    body .site-header--edus .header-actions.has-notify-bell .user-toggle,
    body.mobile-nav-ready .site-header--edus .user-toggle,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-toggle {
        grid-template-columns: 40px auto !important;
        grid-template-areas: "avatar caret" !important;
        min-width: 0 !important;
        max-width: none !important;
        gap: 0.3rem !important;
        padding: 0.2rem 0.4rem 0.2rem 0.2rem !important;
    }

    body .site-header--edus .user-meta,
    body.mobile-nav-ready .site-header--edus .user-meta {
        display: none !important;
    }
}

/* Account switcher dropdown */
body .site-header--edus .user-menu {
    position: relative !important;
    z-index: 1520 !important;
}

body .site-header--edus .user-toggle,
body .site-header--edus .header-actions.has-notify-bell .user-toggle,
body.mobile-nav-ready .site-header--edus .user-toggle,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-toggle {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    grid-template-areas: "avatar meta caret" !important;
    align-items: center !important;
    gap: 0.7rem !important;
    width: auto !important;
    min-width: 13.75rem !important;
    max-width: 17.5rem !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0.25rem 0.55rem 0.25rem 0.25rem !important;
    border: none !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: none !important;
}

body .site-header--edus .user-toggle:hover,
body .site-header--edus .user-toggle:focus-visible,
body .site-header--edus .header-actions.has-notify-bell .user-toggle:hover,
body .site-header--edus .header-actions.has-notify-bell .user-toggle:focus-visible {
    border-color: transparent !important;
    background: #ffffff !important;
    color: #0f172a !important;
    outline: none !important;
    box-shadow: none !important;
}

body .site-header--edus .user-avatar,
body.mobile-nav-ready .site-header--edus .user-avatar {
    grid-area: avatar !important;
    width: 40px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ef233c !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body .site-header--edus .user-avatar::after,
body.mobile-nav-ready .site-header--edus .user-avatar::after {
    content: none !important;
    display: none !important;
}

body .site-header--edus .user-avatar img {
    border-radius: 999px !important;
}

body .site-header--edus .user-avatar-fallback {
    color: #ffffff !important;
    font-size: 0.74rem !important;
    font-weight: 900 !important;
}

body .site-header--edus .user-meta {
    grid-area: meta !important;
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.1rem !important;
    line-height: 1 !important;
}

body .site-header--edus .user-greeting,
body .site-header--edus .user-name {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .site-header--edus .user-greeting {
    color: #64748b !important;
    font-size: 0.82rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body .site-header--edus .user-name {
    color: #2563ff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
}

body .site-header--edus .user-caret {
    grid-area: caret !important;
    width: 0 !important;
    height: 0 !important;
    margin-left: 0.2rem !important;
    border-left: 5px solid transparent !important;
    border-right: 5px solid transparent !important;
    border-top: 6px solid #2563ff !important;
}

body .site-header--edus .user-dropdown,
body .site-header--edus .user-dropdown.user-dropdown--portal {
    top: calc(100% + 0.25rem) !important;
    right: 0 !important;
    left: auto !important;
    width: min(27.25rem, calc(100vw - 1rem)) !important;
    min-width: 0 !important;
    max-width: min(27.25rem, calc(100vw - 1rem)) !important;
    padding: 0 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16) !important;
    overflow: hidden !important;
}

body .site-header--edus .user-dropdown__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    min-height: 82px !important;
    padding: 1.1rem 1.5rem !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #ffffff !important;
}

body .site-header--edus .user-dropdown__header strong {
    color: #0f172a !important;
    font-size: 1.35rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body .site-header--edus .user-dropdown__view-all {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    color: #2563ff !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body .site-header--edus .user-dropdown__view-all:hover,
body .site-header--edus .user-dropdown__view-all:focus-visible {
    color: #1d4ed8 !important;
    outline: none !important;
}

body .site-header--edus .user-dropdown__view-icon {
    display: inline-grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    border: 2px solid currentColor !important;
    border-radius: 999px !important;
}

body .site-header--edus .user-dropdown__view-icon svg {
    width: 14px !important;
    height: 14px !important;
}

body .site-header--edus .user-dropdown__actions {
    display: grid !important;
    gap: 0 !important;
    padding: 0 !important;
}

body .site-header--edus .user-action {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) 22px !important;
    align-items: center !important;
    gap: 0.9rem !important;
    min-width: 0 !important;
    min-height: 77px !important;
    margin: 0 !important;
    padding: 0.85rem 1.45rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: none !important;
    text-align: left !important;
    text-decoration: none !important;
}

body .site-header--edus .user-action:hover,
body .site-header--edus .user-action:focus,
body .site-header--edus .user-action:focus-visible {
    background: #f3f4f6 !important;
    color: #0f172a !important;
    outline: none !important;
}

body .site-header--edus .user-action.is-active,
body .site-header--edus .user-action[aria-current='page'] {
    background: #e5e7eb !important;
    color: #0f172a !important;
}

body .site-header--edus .user-action__icon {
    display: inline-grid !important;
    width: 40px !important;
    height: 40px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #22c55e !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body .site-header--edus .user-action[data-user-action-kind='profile'] .user-action__icon {
    background: #ef233c !important;
}

body .site-header--edus .user-action[data-user-action-kind='notifications'] .user-action__icon {
    background: #38aeea !important;
}

body .site-header--edus .user-action[data-user-action-kind='stickers'] .user-action__icon {
    background: #facc15 !important;
    color: #111827 !important;
}

body .site-header--edus .user-action[data-user-action-kind='history'] .user-action__icon {
    background: #16a34a !important;
}

body .site-header--edus .user-action[data-user-action-kind='logout'] .user-action__icon {
    background: #64748b !important;
}

body .site-header--edus .user-action__icon svg {
    width: 22px !important;
    height: 22px !important;
}

body .site-header--edus .user-action__copy {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.25rem !important;
}

body .site-header--edus .user-action__label {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #0f172a !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .site-header--edus .user-action__meta {
    display: block !important;
    color: #475569 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
}

body .site-header--edus .user-action__chevron {
    display: inline-grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    color: #94a3b8 !important;
}

body .site-header--edus .user-action__chevron svg {
    width: 18px !important;
    height: 18px !important;
}

body .site-header--edus .user-action.is-destructive .user-action__label {
    color: #991b1b !important;
}

@media (max-width: 900px) {

    body .site-header--edus .user-toggle,
    body .site-header--edus .header-actions.has-notify-bell .user-toggle,
    body.mobile-nav-ready .site-header--edus .user-toggle,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-toggle {
        min-width: 0 !important;
        max-width: 12rem !important;
        height: 44px !important;
        min-height: 44px !important;
        grid-template-columns: 36px minmax(0, 1fr) auto !important;
        grid-template-areas: "avatar meta caret" !important;
    }

    body .site-header--edus .user-avatar,
    body.mobile-nav-ready .site-header--edus .user-avatar {
        width: 36px !important;
        height: 36px !important;
    }

    body .site-header--edus .user-dropdown {
        width: min(27.25rem, calc(100vw - 1rem)) !important;
        max-width: min(27.25rem, calc(100vw - 1rem)) !important;
    }
}

body .user-dropdown.user-dropdown--edus-portal {
    right: max(0.5rem, 4vw) !important;
    left: auto !important;
    width: min(27.25rem, calc(100vw - 1rem)) !important;
    min-width: 0 !important;
    max-width: min(27.25rem, calc(100vw - 1rem)) !important;
    padding: 0 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.16) !important;
    overflow: hidden !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-dropdown__header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    min-height: 82px !important;
    padding: 1.1rem 1.5rem !important;
    border-bottom: 1px solid #e5e7eb !important;
    background: #ffffff !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-dropdown__header strong {
    color: #0f172a !important;
    font-size: 1.35rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-dropdown__view-all {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.55rem !important;
    color: #2563ff !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-dropdown__view-icon {
    display: inline-grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    border: 2px solid currentColor !important;
    border-radius: 999px !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-dropdown__view-icon svg {
    width: 14px !important;
    height: 14px !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-dropdown__actions {
    display: grid !important;
    gap: 0 !important;
    padding: 0 !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) 22px !important;
    align-items: center !important;
    gap: 0.9rem !important;
    min-width: 0 !important;
    min-height: 77px !important;
    margin: 0 !important;
    padding: 0.85rem 1.45rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: none !important;
    text-align: left !important;
    text-decoration: none !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action:hover,
body .user-dropdown.user-dropdown--edus-portal .user-action:focus,
body .user-dropdown.user-dropdown--edus-portal .user-action:focus-visible {
    background: #f3f4f6 !important;
    color: #0f172a !important;
    outline: none !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action.is-active,
body .user-dropdown.user-dropdown--edus-portal .user-action[aria-current='page'] {
    background: #e5e7eb !important;
    color: #0f172a !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action__icon {
    display: inline-grid !important;
    width: 40px !important;
    height: 40px !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #22c55e !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action[data-user-action-kind='profile'] .user-action__icon {
    background: #ef233c !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action[data-user-action-kind='notifications'] .user-action__icon {
    background: #38aeea !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action[data-user-action-kind='stickers'] .user-action__icon {
    background: #facc15 !important;
    color: #111827 !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action[data-user-action-kind='history'] .user-action__icon {
    background: #16a34a !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action[data-user-action-kind='logout'] .user-action__icon {
    background: #64748b !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action__icon svg {
    width: 22px !important;
    height: 22px !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action__copy {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.25rem !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action__label {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #0f172a !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action__meta {
    display: block !important;
    color: #475569 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action__chevron {
    display: inline-grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    color: #94a3b8 !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action__chevron svg {
    width: 18px !important;
    height: 18px !important;
}

body .user-dropdown.user-dropdown--edus-portal .user-action.is-destructive .user-action__label {
    color: #991b1b !important;
}

/* Header notification bell */
body .site-header--edus .header-actions.has-notify-bell {
    align-items: center !important;
    gap: 0.7rem !important;
    overflow: visible !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active {
    position: relative !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d7e6f7 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4faff 100%) !important;
    color: #0455c7 !important;
    box-shadow:
        0 10px 22px rgba(37, 99, 255, 0.12),
        inset 0 0 0 4px rgba(48, 188, 255, 0.08) !important;
    isolation: isolate !important;
    overflow: visible !important;
    text-decoration: none !important;
    transform: none !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn::before,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn::before {
    content: "" !important;
    position: absolute !important;
    inset: 7px !important;
    z-index: 0 !important;
    border-radius: 999px !important;
    background: radial-gradient(circle at 50% 32%, rgba(48, 188, 255, 0.18), rgba(48, 188, 255, 0) 66%) !important;
    pointer-events: none !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn:hover,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn:hover,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    border-color: #93c5fd !important;
    background: #ffffff !important;
    color: #f16001 !important;
    box-shadow:
        0 12px 24px rgba(37, 99, 255, 0.16),
        inset 0 0 0 4px rgba(241, 96, 1, 0.08) !important;
    outline: none !important;
    transform: translateY(-1px) !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    outline: 3px solid rgba(48, 188, 255, 0.28) !important;
    outline-offset: 3px !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon {
    position: relative !important;
    z-index: 1 !important;
    display: inline-grid !important;
    width: 22px !important;
    height: 22px !important;
    place-items: center !important;
    color: currentColor !important;
    opacity: 1 !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg path,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg path {
    fill: none !important;
    stroke: currentColor !important;
    vector-effect: non-scaling-stroke;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__badge,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__badge {
    position: absolute !important;
    top: -7px !important;
    right: -5px !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 22px !important;
    height: 22px !important;
    padding: 0 6px !important;
    border: 2px solid #ffffff !important;
    border-radius: 999px !important;
    background: #f04455 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 16px rgba(240, 68, 85, 0.3) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__badge[hidden],
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__badge[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    body .site-header--edus .header-actions.has-notify-bell {
        gap: 0.5rem !important;
        padding-top: 0 !important;
    }

    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
    }

    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn::before,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn::before {
        inset: 6px !important;
    }

    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon,
    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg {
        width: 20px !important;
        height: 20px !important;
    }

    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__badge,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__badge {
        top: -6px !important;
        right: -5px !important;
        min-width: 21px !important;
        height: 21px !important;
        padding: 0 5px !important;
        font-size: 10px !important;
    }
}


/* Strip border and shadow from user-toggle per user request */
body .user-toggle,
body.mobile-nav-ready .user-toggle,
body .header-actions .user-toggle,
body .header-actions.has-notify-bell .user-toggle,
body .user-toggle:hover,
body .user-toggle:focus,
body .user-toggle:focus-visible,
body .user-toggle:active {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Unified site header */
body .site-header--edus,
body .site-header--edus.container,
body .site-header--edus.exam-page-header {
    --site-header-x: clamp(1.55rem, 3.35vw, 4.5rem);
    --site-header-top-height: 112px;
    --site-header-menu-height: 84px;
    --site-header-nav-gap: clamp(1.35rem, 2.05vw, 2.65rem);
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    background: #ffffff !important;
    box-shadow: 0 8px 24px rgba(20, 38, 78, 0.06) !important;
    font-family: 'Google Sans Flex' !important;
}

body .site-header--edus .site-header__top,
body .site-header--edus .site-header__menu {
    width: 100% !important;
    padding-inline: var(--site-header-x) !important;
    background: #ffffff !important;
}

body .site-header--edus .site-header__top {
    min-height: var(--site-header-top-height) !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(1.25rem, 2.4vw, 3rem) !important;
    border-bottom: 1px solid #e9f1ff !important;
}

body .site-header--edus .site-header__brand-search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: clamp(1.75rem, 4vw, 5rem) !important;
}

body .site-header--edus .site-header__quick-links {
    flex: 0 0 auto !important;
}

body .site-header--edus .site-header__menu {
    min-height: var(--site-header-menu-height) !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    border-bottom: 1px solid rgba(233, 241, 255, 0.78) !important;
}

body .site-header--edus .main-nav,
body.home-page .site-header--edus .main-nav,
body.course-page .site-header--edus .main-nav,
body.mobile-nav-ready .site-header--edus .main-nav {
    display: flex !important;
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: var(--site-header-menu-height) !important;
    height: var(--site-header-menu-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: var(--site-header-nav-gap) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .site-header--edus .main-nav a,
body.home-page .site-header--edus .main-nav a,
body.course-page .site-header--edus .main-nav a,
body.mobile-nav-ready .site-header--edus .main-nav a,
body.mobile-nav-ready .site-header--edus .main-nav a[href*="#khoa-hoc"],
body.mobile-nav-ready .site-header--edus .main-nav a[href*="#lop-hoc"],
body.mobile-nav-ready .site-header--edus .main-nav a:last-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: var(--site-header-menu-height) !important;
    height: var(--site-header-menu-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #7585af !important;
    box-shadow: none !important;
    font-family: 'Google Sans Flex' !important;
    font-size: 0.96rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

body .site-header--edus .main-nav a::before,
body.home-page .site-header--edus .main-nav a::before,
body.course-page .site-header--edus .main-nav a::before,
body.mobile-nav-ready .site-header--edus .main-nav a::before {
    top: 0 !important;
    height: 3px !important;
    background: var(--bee-gold) !important;
}

body .site-header--edus .main-nav a:hover,
body .site-header--edus .main-nav a:focus-visible,
body .site-header--edus .main-nav a[aria-current="page"],
body.home-page .site-header--edus .main-nav a:hover,
body.home-page .site-header--edus .main-nav a:focus-visible,
body.home-page .site-header--edus .main-nav a[aria-current="page"],
body.course-page .site-header--edus .main-nav a:hover,
body.course-page .site-header--edus .main-nav a:focus-visible,
body.course-page .site-header--edus .main-nav a[aria-current="page"],
body.mobile-nav-ready .site-header--edus .main-nav a:hover,
body.mobile-nav-ready .site-header--edus .main-nav a:focus-visible,
body.mobile-nav-ready .site-header--edus .main-nav a[aria-current="page"] {
    color: var(--bee-gold) !important;
    background: transparent !important;
    outline: none !important;
}

body .site-header--edus .site-header__auth-actions,
body .site-header--edus .header-actions,
body .site-header--edus .header-actions.has-notify-bell {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.7rem !important;
    min-height: 52px !important;
    overflow: visible !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active {
    position: relative !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    flex: 0 0 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d7e6f7 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4faff 100%) !important;
    color: #0455c7 !important;
    box-shadow: 0 10px 22px rgba(37, 99, 255, 0.12), inset 0 0 0 4px rgba(48, 188, 255, 0.08) !important;
    text-decoration: none !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn:hover,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn:hover,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active {
    border-color: #93c5fd !important;
    background: #ffffff !important;
    color: #f16001 !important;
    outline: none !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg {
    width: 22px !important;
    height: 22px !important;
}

body .site-header--edus .user-toggle,
body .site-header--edus .header-actions.has-notify-bell .user-toggle,
body.mobile-nav-ready .site-header--edus .user-toggle,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-toggle {
    min-width: 13.75rem !important;
    height: 52px !important;
    min-height: 52px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body .site-header--edus .user-greeting,
body .site-header--edus .user-name {
    letter-spacing: 0 !important;
}

@media (max-width: 1180px) {

    body .site-header--edus,
    body .site-header--edus.container,
    body .site-header--edus.exam-page-header {
        --site-header-x: clamp(1.1rem, 2.7vw, 2rem);
        --site-header-nav-gap: clamp(0.95rem, 1.7vw, 1.5rem);
    }
}

@media (max-width: 900px) {

    body .site-header--edus,
    body .site-header--edus.container,
    body .site-header--edus.exam-page-header {
        --site-header-top-height: auto;
        --site-header-menu-height: 44px;
    }

    body .site-header--edus .site-header__top {
        min-height: auto !important;
        padding: 0.78rem clamp(1rem, 4vw, 1.35rem) !important;
    }

    body .site-header--edus .site-header__menu {
        min-height: 0 !important;
        padding: 0.65rem clamp(1rem, 4vw, 1.35rem) 0.85rem !important;
        flex-wrap: wrap !important;
        gap: 0.7rem !important;
    }

    body .site-header--edus .main-nav,
    body.home-page .site-header--edus .main-nav,
    body.course-page .site-header--edus .main-nav,
    body.mobile-nav-ready .site-header--edus .main-nav {
        display: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        gap: 0.5rem !important;
    }

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

    body .site-header--edus .main-nav a,
    body.home-page .site-header--edus .main-nav a,
    body.course-page .site-header--edus .main-nav a,
    body.mobile-nav-ready .site-header--edus .main-nav a,
    body.mobile-nav-ready .site-header--edus .main-nav a[href*="#khoa-hoc"],
    body.mobile-nav-ready .site-header--edus .main-nav a[href*="#lop-hoc"],
    body.mobile-nav-ready .site-header--edus .main-nav a:last-child {
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 0.8rem !important;
        border: 1px solid rgba(172, 196, 221, 0.42) !important;
        border-radius: 999px !important;
        background: #f7fbff !important;
        color: #001b61 !important;
        font-size: 0.88rem !important;
    }

    body .site-header--edus .main-nav a[aria-current="page"],
    body.mobile-nav-ready .site-header--edus .main-nav a[aria-current="page"] {
        border-color: rgba(16, 129, 56, 0.32) !important;
        color: var(--bee-gold) !important;
        background: #eaf6ee !important;
    }
}

/* ============================================================
   COURSE SECTION — Reference style redesign (single block)
   ============================================================ */

/* 1. Grid: always max 3 columns — override PHP-generated class variants */
body.home-page .home-courses .course-grid,
body.home-page .home-courses .course-grid--desktop-1,
body.home-page .home-courses .course-grid--desktop-2,
body.home-page .home-courses .course-grid--desktop-3 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2rem !important;
}

/* 2. Heading: centered, simple serif-weight, with blue underline */
body.home-page .home-courses .section-text,
body.home-page .home-courses .section-intro {
    text-align: center !important;
    margin-bottom: 2rem !important;
}

body.home-page .home-courses .section-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    background: rgba(52, 177, 147, 0.12) !important;
    color: #20876e !important;
    padding: 0.35rem 0.9rem !important;
    border-radius: 999px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 1rem !important;
    box-shadow: none !important;
}

body.home-page .home-courses .section-text h2,
body.home-page .home-courses .section-intro h2 {
    font-size: clamp(1.6rem, 2.5vw, 2.1rem) !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 0.5rem 0 !important;
    background: none !important;
    -webkit-text-fill-color: #1a1a1a !important;
    -webkit-background-clip: unset !important;
}

/* Blue underline bar */
body.home-page .home-courses .section-text h2::after,
body.home-page .home-courses .section-intro h2::after {
    content: '' !important;
    display: block !important;
    width: 42px !important;
    height: 3px !important;
    background: #2a6df4 !important;
    margin: 0.65rem auto 0 !important;
    border-radius: 2px !important;
}

body.home-page .home-courses .section-text p,
body.home-page .home-courses .section-intro p {
    color: #777 !important;
    font-size: 0.95rem !important;
    margin: 0.5rem auto 0 !important;
    max-width: 500px !important;
}

/* Match the class section heading with the course heading style. */
body.home-page .class-section .section-text,
body.home-page .class-section .section-intro {
    text-align: center !important;
    margin-bottom: 2rem !important;
}

body.home-page .class-section .section-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    background: rgba(52, 177, 147, 0.12) !important;
    color: #20876e !important;
    padding: 0.35rem 0.9rem !important;
    border-radius: 999px !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 1rem !important;
    box-shadow: none !important;
}

body.home-page .class-section .section-text h2,
body.home-page .class-section .section-intro h2 {
    font-size: clamp(1.6rem, 2.5vw, 2.1rem) !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    letter-spacing: -0.02em !important;
    line-height: 0.98 !important;
    margin: 0 0 0.5rem 0 !important;
    background: none !important;
    -webkit-text-fill-color: #1a1a1a !important;
    -webkit-background-clip: unset !important;
}

body.home-page .class-section .section-text h2::after,
body.home-page .class-section .section-intro h2::after {
    content: '' !important;
    display: block !important;
    width: 42px !important;
    height: 3px !important;
    background: #2a6df4 !important;
    margin: 0.65rem auto 0 !important;
    border-radius: 2px !important;
}

/* 3. Category Tabs: simple pill strip, left-aligned */
body.home-page .home-courses .course-filter {
    margin-bottom: 1.5rem !important;
}

body.home-page .home-courses .course-category-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    align-items: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    justify-content: flex-start !important;
}

body.home-page .home-courses .category-tab {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    background: transparent !important;
    border: none !important;
    color: #555 !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    padding: 0.3rem 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: color 0.15s ease !important;
    min-height: auto !important;
    text-decoration: none !important;
}

body.home-page .home-courses .category-tab:hover {
    color: #111 !important;
    background: transparent !important;
    transform: none !important;
    border: none !important;
}

body.home-page .home-courses .category-tab.is-active {
    color: #111 !important;
    font-weight: 700 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
}

body.home-page .home-courses .category-tab .category-count {
    background: #e5e7eb !important;
    color: #555 !important;
    border-radius: 999px !important;
    padding: 0.1rem 0.5rem !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    margin-left: 0 !important;
    min-width: 1.4rem !important;
    text-align: center !important;
}

body.home-page .home-courses .category-tab.is-active .category-count {
    background: #e5e7eb !important;
    color: #333 !important;
}

/* 4. Course Card: flat, no border, no shadow, no background */
body.home-page .home-courses .course-card {
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 0 !important;
    box-shadow: none !important;
    transition: none !important;
    position: relative !important;
    cursor: pointer !important;
    overflow: hidden !important;
}

body.home-page .home-courses .course-card:hover,
body.home-page .home-courses .course-card:focus-within {
    transform: none !important;
    box-shadow: none !important;
}

/* 5. Thumbnail: fills full width, 16:9 ratio, no rounding */
body.home-page .home-courses .course-card .course-thumb-wrapper {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: #d1d5db !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

body.home-page .home-courses .course-thumb,
body.home-page .home-courses .course-card .course-thumb,
body.home-page .home-courses .course-card .course-thumb-wrapper .course-thumb,
body.home-page .home-courses .course-card .course-thumb-wrapper img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    display: block !important;
    transition: transform 0.4s ease !important;
}

body.home-page .home-courses .course-card:hover .course-thumb,
body.home-page .home-courses .course-card:hover .course-thumb-wrapper img {
    transform: scale(1.04) !important;
}

/* 6. Card body */
body.home-page .home-courses .course-card .course-body {
    padding: 0.85rem 0 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    background: transparent !important;
}

/* 6a. Source badge (category) — line 1, gray small caps */
body.home-page .home-courses .course-card .course-card__labels {
    order: 0 !important;
    position: static !important;
    margin: 0 0 0.3rem 0 !important;
    display: block !important;
}

body.home-page .home-courses .course-card .course-card__source-badge {
    background: none !important;
    backdrop-filter: none !important;
    color: #6b7280 !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
}

/* 6b. Meta summary (category • lessons • date) — gray row with icon */
body.home-page .home-courses .course-card .course-summary {
    order: 1 !important;
    font-size: 0.78rem !important;
    color: #6b7280 !important;
    margin: 0 0 0.5rem 0 !important;
    padding: 0.35rem 0.6rem !important;
    border: none !important;
    border-left: 2.5px solid color(srgb 0.0489412 0.394588 0.171294) !important;
    border-radius: 0 0 0 0 !important;
    flex-grow: 0 !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    background: rgba(52, 177, 147, 0.06) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.4rem !important;
}

body.home-page .home-courses .course-card .course-summary::before {
    content: '📚' !important;
    font-size: 0.82rem !important;
    flex-shrink: 0 !important;
    line-height: 1.5 !important;
}

/* 6c. Title: bold, 2 lines */
body.home-page .home-courses .course-card .course-title {
    order: 2 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin: 0 0 0.75rem 0 !important;
    line-height: 1.35 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-transform: none !important;
    flex-grow: 1 !important;
}

/* 6d. Stats / action row at bottom: thin top border */
body.home-page .home-courses .course-card .course-action {
    order: 3 !important;
    display: flex !important;
    align-items: center !important;
    gap: 1rem !important;
    justify-content: flex-start !important;
    background: transparent !important;
    color: #6b7280 !important;
    padding: 0.6rem 0 0 0 !important;
    margin: 0 !important;
    border-top: 1px solid #e5e7eb !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transition: none !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

body.home-page .home-courses .course-card:hover .course-action {
    background: transparent !important;
    color: #555 !important;
    box-shadow: none !important;
}

body.home-page .home-courses .course-card .course-action-label {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
}

body.home-page .home-courses .course-card .course-action-icon {
    font-size: 0.85rem !important;
    display: inline-flex !important;
    background: none !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    color: #6b7280 !important;
    transition: none !important;
}

body.home-page .home-courses .course-card:hover .course-action-icon {
    transform: none !important;
    color: #555 !important;
    background: none !important;
}

/* 7. Responsive */
@media (max-width: 768px) {

    body.home-page .home-courses .course-grid,
    body.home-page .home-courses .course-grid--desktop-1,
    body.home-page .home-courses .course-grid--desktop-2,
    body.home-page .home-courses .course-grid--desktop-3 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.25rem !important;
    }
}

@media (max-width: 480px) {

    body.home-page .home-courses .course-grid,
    body.home-page .home-courses .course-grid--desktop-1,
    body.home-page .home-courses .course-grid--desktop-2,
    body.home-page .home-courses .course-grid--desktop-3 {
        grid-template-columns: 1fr !important;
    }
}

body :where(button.is-active,
    button.active,
    button[aria-pressed='true'],
    button[data-active-state='active'],
    [role='button'].is-active,
    [role='button'].active,
    [role='button'][aria-pressed='true'],
    [role='button'][data-active-state='active'],
    .header-notify-btn.is-active,
    .category-tab.is-active,
    .gallery-filter.is-active,
    .section-switch-button.is-active,
    .user-action.is-active):not(.draw-panel__swatch) {
    background: var(--primary, color(srgb 0.0489412 0.394588 0.171294)) !important;
    border-color: var(--primary, color(srgb 0.0489412 0.394588 0.171294)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(52, 177, 147, 0.24) !important;
}

body :where(button.is-active,
    button.active,
    button[aria-pressed='true'],
    button[data-active-state='active'],
    [role='button'].is-active,
    [role='button'].active,
    [role='button'][aria-pressed='true'],
    [role='button'][data-active-state='active'],
    .header-notify-btn.is-active,
    .category-tab.is-active,
    .gallery-filter.is-active,
    .section-switch-button.is-active,
    .user-action.is-active):not(.draw-panel__swatch) :where(span, small, strong, svg, i) {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Course filter: unboxed, left-aligned category tabs. */
body.home-page .home-courses .course-filter {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 1.4rem 0 2.5rem !important;
    padding: 0 !important;
}

body.home-page .home-courses .course-category-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0.55rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.home-page .home-courses [data-course-item][hidden] {
    display: none !important;
}

body.home-page .home-courses .course-category-tabs .category-tab,
body.home-page .home-courses .course-category-tabs .category-tab:link,
body.home-page .home-courses .course-category-tabs .category-tab:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.45rem !important;
    min-height: 2.35rem !important;
    padding: 0.48rem 0.82rem !important;
    border: 1px solid rgba(18, 95, 68, 0.12) !important;
    border-radius: 999px !important;
    background: rgba(247, 250, 248, 0.96) !important;
    color: #244236 !important;
    -webkit-text-fill-color: #244236 !important;
    font-size: 0.86rem !important;
    font-weight: 760 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transform: none !important;
}

body.home-page .home-courses .course-category-tabs .category-tab:hover,
body.home-page .home-courses .course-category-tabs .category-tab:focus-visible {
    border-color: rgba(18, 95, 68, 0.24) !important;
    background: #ffffff !important;
    color: #0f2f22 !important;
    -webkit-text-fill-color: #0f2f22 !important;
    box-shadow: 0 10px 22px rgba(17, 24, 39, 0.08) !important;
    transform: translateY(-1px) !important;
}

body.home-page .home-courses .course-category-tabs .category-tab.is-active,
body.home-page .home-courses .course-category-tabs .category-tab.is-active:hover,
body.home-page .home-courses .course-category-tabs .category-tab.is-active:focus-visible {
    border-color: #08723a !important;
    background: linear-gradient(135deg, #0d7a3c 0%, #149c64 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(13, 122, 60, 0.22) !important;
}

body.home-page .home-courses .course-category-tabs .category-tab .category-count {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 1.35rem !important;
    height: 1.35rem !important;
    padding: 0 0.36rem !important;
    border: 1px solid rgba(18, 95, 68, 0.08) !important;
    border-radius: 999px !important;
    background: #e9eef1 !important;
    color: #385066 !important;
    -webkit-text-fill-color: #385066 !important;
    font-size: 0.72rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.home-page .home-courses .course-category-tabs .category-tab.is-active .category-count {
    border-color: rgba(255, 255, 255, 0.35) !important;
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Final shared-header guard */
body .site-header--edus .main-nav,
body.home-page .site-header--edus .main-nav,
body.course-page .site-header--edus .main-nav,
body.mobile-nav-ready .site-header--edus .main-nav {
    gap: var(--site-header-nav-gap) !important;
}

body .site-header--edus .main-nav a,
body.home-page .site-header--edus .main-nav a,
body.course-page .site-header--edus .main-nav a,
body.mobile-nav-ready .site-header--edus .main-nav a,
body.mobile-nav-ready .site-header--edus .main-nav a[href*="#khoa-hoc"],
body.mobile-nav-ready .site-header--edus .main-nav a[href*="#lop-hoc"],
body.mobile-nav-ready .site-header--edus .main-nav a:last-child {
    letter-spacing: 0 !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active {
    border: 1px solid #d7e6f7 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f4faff 100%) !important;
    color: #0455c7 !important;
    -webkit-text-fill-color: #0455c7 !important;
    box-shadow: 0 10px 22px rgba(37, 99, 255, 0.12), inset 0 0 0 4px rgba(48, 188, 255, 0.08) !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn:hover,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn:hover,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn:focus-visible {
    border-color: #93c5fd !important;
    background: #ffffff !important;
    color: #f16001 !important;
    -webkit-text-fill-color: #f16001 !important;
}

body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg,
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg path,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__icon svg path {
    color: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
    fill: none !important;
    stroke: currentColor !important;
}

@media (max-width: 640px) {
    body.home-page .home-courses .course-filter {
        justify-content: flex-start !important;
        padding: 0 !important;
        margin-top: 1rem !important;
        margin-bottom: 1.6rem !important;
    }

    body.home-page .home-courses .course-category-tabs {
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        width: 100% !important;
        overflow-x: auto !important;
        padding: 0 0 0.35rem !important;
        border-radius: 0 !important;
        scrollbar-width: none !important;
    }

    body.home-page .home-courses .course-category-tabs::-webkit-scrollbar {
        display: none !important;
    }
}

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-switch-button.is-active,
body .header-actions.has-notify-bell .header-notify-btn.is-active,
body .user-action.is-active,
body .site-header--edus .user-action.is-active,
body .user-dropdown.user-dropdown--edus-portal .user-action.is-active,
body.home-page .home-courses .category-tab.is-active,
body.home-page .home-exams .exam-category-pill.is-active,
body.home-page .home-games-filter-btn.is-active,
body.home-page .class-section__class-tab.is-active,
body.home-page .class-homework-inline__tab.is-active,
body.home-page .class-notes-filter-btn.is-active,
body.home-page .class-sticker-book__filter-btn.is-active,
body.gallery-page .gallery-filter.is-active,
body.course-page .course-player-resource-tab.is-active,
body.course-page .course-todo-tab.is-active,
body.exam-page .question-sidebar .section-tab.active {
    background: var(--primary, color(srgb 0.0489412 0.394588 0.171294)) !important;
    border-color: var(--primary, color(srgb 0.0489412 0.394588 0.171294)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(52, 177, 147, 0.24) !important;
}

body .section-tab.active .tab-count,
body .section-tab.active .tab-time,
body.home-page .home-courses .category-tab.is-active .category-count,
body.home-page .home-exams .exam-category-pill.is-active span,
body.exam-page .question-sidebar .section-tab.active .tab-count {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body :where(button.is-active,
    button.active,
    button[aria-pressed='true'],
    button[data-active-state='active'],
    [role='button'].is-active,
    [role='button'].active,
    [role='button'][aria-pressed='true'],
    [role='button'][data-active-state='active'],
    .header-notify-btn.is-active,
    .category-tab.is-active,
    .gallery-filter.is-active,
    .section-switch-button.is-active,
    .user-action.is-active):not(.draw-panel__swatch) :where(.category-count,
    .notifications-tab__count,
    .course-todo-tab__count,
    .guardian-tab-count,
    .report-tab-count,
    .game-list-filter__count) {
    background: rgba(255, 255, 255, 0.18) !important;
    border-color: rgba(255, 255, 255, 0.38) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Final override after global active-state rules. */
body.home-page .home-courses .course-category-tabs .category-tab.is-active,
body.home-page .home-courses .course-category-tabs .category-tab.is-active:hover,
body.home-page .home-courses .course-category-tabs .category-tab.is-active:focus-visible {
    border-color: #08723a !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #0d7a3c 0%, #149c64 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(13, 122, 60, 0.22) !important;
}

body.home-page .home-courses .course-category-tabs .category-tab.is-active .category-count {
    border-color: rgba(255, 255, 255, 0.35) !important;
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Đảm bảo badge thông báo luôn là chữ trắng nền đỏ */
body .site-header--edus .header-actions.has-notify-bell .header-notify-btn__badge,
body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn__badge,
.header-notify-btn__badge {
    background: #e53935 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Tạo khoảng cách giữa phần Giới thiệu và Slide */
body.home-page .home-about__shell {
    margin-top: clamp(2.5rem, 4vw, 3.5rem) !important;
}

/* Header consultation CTA */
body .site-header--edus .main-nav a.site-header-consultation-link,
body.home-page .site-header--edus .main-nav a.site-header-consultation-link,
body.course-page .site-header--edus .main-nav a.site-header-consultation-link,
body.mobile-nav-ready .site-header--edus .main-nav a.site-header-consultation-link {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 1.05rem !important;
    border: 1px solid rgba(16, 129, 56, 0.24) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #0d7a3c 0%, #149c64 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(13, 122, 60, 0.2) !important;
}

body .site-header--edus .main-nav a.site-header-consultation-link::before,
body.home-page .site-header--edus .main-nav a.site-header-consultation-link::before,
body.course-page .site-header--edus .main-nav a.site-header-consultation-link::before,
body.mobile-nav-ready .site-header--edus .main-nav a.site-header-consultation-link::before {
    display: none !important;
}

body .site-header--edus .main-nav a.site-header-consultation-link:hover,
body .site-header--edus .main-nav a.site-header-consultation-link:focus-visible,
body.home-page .site-header--edus .main-nav a.site-header-consultation-link:hover,
body.home-page .site-header--edus .main-nav a.site-header-consultation-link:focus-visible,
body.course-page .site-header--edus .main-nav a.site-header-consultation-link:hover,
body.course-page .site-header--edus .main-nav a.site-header-consultation-link:focus-visible,
body.mobile-nav-ready .site-header--edus .main-nav a.site-header-consultation-link:hover,
body.mobile-nav-ready .site-header--edus .main-nav a.site-header-consultation-link:focus-visible {
    border-color: rgba(16, 129, 56, 0.46) !important;
    background: linear-gradient(135deg, #08723a 0%, #0f8f53 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(13, 122, 60, 0.26) !important;
}

@media (max-width: 900px) {
    body .site-header--edus .main-nav a.site-header-consultation-link,
    body.home-page .site-header--edus .main-nav a.site-header-consultation-link,
    body.course-page .site-header--edus .main-nav a.site-header-consultation-link,
    body.mobile-nav-ready .site-header--edus .main-nav a.site-header-consultation-link {
        width: 100% !important;
        min-height: 44px !important;
        height: 44px !important;
        padding: 0 0.95rem !important;
    }
}

body.mobile-nav-ready .site-header.site-header--edus .main-nav a.site-header-consultation-link,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a.site-header-consultation-link:last-child {
    border-color: rgba(16, 129, 56, 0.24) !important;
    background: linear-gradient(135deg, #0d7a3c 0%, #149c64 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(13, 122, 60, 0.2) !important;
}

body.mobile-nav-ready .site-header.site-header--edus .main-nav a.site-header-consultation-link:hover,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a.site-header-consultation-link:focus-visible,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a.site-header-consultation-link:last-child:hover,
body.mobile-nav-ready .site-header.site-header--edus .main-nav a.site-header-consultation-link:last-child:focus-visible {
    border-color: rgba(16, 129, 56, 0.46) !important;
    background: linear-gradient(135deg, #08723a 0%, #0f8f53 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(13, 122, 60, 0.26) !important;
}

/* Brand-aligned header search and login */
body .site-header--edus .site-header__top {
    border-bottom-color: rgba(16, 129, 56, 0.12) !important;
}

body .site-header-search {
    width: min(27rem, 34vw) !important;
    min-width: 15.75rem !important;
    height: 50px !important;
}

body .site-header-search__icon {
    left: 1.65rem !important;
    color: #0d7a3c !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

body .site-header-search input {
    height: 50px !important;
    border: 1px solid rgba(16, 129, 56, 0.16) !important;
    background: linear-gradient(180deg, #f7fcf9 0%, #eef8f2 100%) !important;
    color: #0b3d23 !important;
    -webkit-text-fill-color: #0b3d23 !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.86), 0 10px 22px rgba(13, 122, 60, 0.07) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

body .site-header-search input::placeholder {
    color: rgba(8, 88, 43, 0.42) !important;
    -webkit-text-fill-color: rgba(8, 88, 43, 0.42) !important;
}

body .site-header-search:hover input,
body .site-header-search:focus-within input,
body .site-header-search input:focus-visible {
    border-color: rgba(16, 129, 56, 0.34) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(16, 129, 56, 0.09), 0 12px 24px rgba(13, 122, 60, 0.1) !important;
}

body .site-header-search:hover .site-header-search__icon,
body .site-header-search:focus-within .site-header-search__icon,
body .site-header-search__icon:hover,
body .site-header-search__icon:focus-visible {
    color: #08723a !important;
    outline: none !important;
}

body .site-header--edus .btn-login {
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 1.18rem !important;
    border: 1px solid rgba(16, 129, 56, 0.2) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #0d7a3c 0%, #149c64 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 12px 24px rgba(13, 122, 60, 0.22) !important;
    gap: 0.5rem !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease !important;
}

body .site-header--edus .btn-login:hover,
body .site-header--edus .btn-login:focus-visible {
    border-color: rgba(16, 129, 56, 0.4) !important;
    background: linear-gradient(135deg, #08723a 0%, #0f8f53 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 15px 30px rgba(13, 122, 60, 0.28) !important;
    outline: none !important;
    transform: translateY(-1px) !important;
}

body .site-header--edus .btn-login:focus-visible {
    outline: 3px solid rgba(16, 129, 56, 0.18) !important;
    outline-offset: 3px !important;
}

body .site-header--edus .btn-login__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.3rem !important;
    height: 1.3rem !important;
    flex: 0 0 1.3rem !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.16) !important;
    color: currentColor !important;
}

body .site-header--edus .btn-login__icon svg {
    width: 0.86rem !important;
    height: 0.86rem !important;
}

body .site-header--edus .btn-login__icon svg path {
    fill: currentColor !important;
}

@media (max-width: 1180px) {
    body .site-header-search {
        width: min(22rem, 30vw) !important;
        min-width: 13.75rem !important;
    }
}

@media (max-width: 900px) {
    body .site-header--edus .btn-login {
        min-height: 42px !important;
        height: 42px !important;
        padding: 0 0.92rem !important;
        font-size: 0.86rem !important;
    }

    body .site-header--edus .btn-login__icon {
        width: 1.18rem !important;
        height: 1.18rem !important;
        flex-basis: 1.18rem !important;
    }

    body .site-header--edus .btn-login__icon svg {
        width: 0.78rem !important;
        height: 0.78rem !important;
    }
}

@media (max-width: 560px) {
    body .site-header--edus .btn-login span:last-child {
        display: inline !important;
    }
}

/* Home class section redesign */
body.home-page .class-section {
    padding: 1.25rem 0 3rem !important;
    background: #f7f6f5 !important;
}

body.home-page .class-section > .container {
    width: min(calc(100% - 2rem), 96rem) !important;
    max-width: none !important;
    margin-inline: auto !important;
}

body.home-page .home-about > .container {
    width: min(calc(100% - 2rem), 96rem) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding: 0 !important;
}

body.home-page .class-hero-panel {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    min-height: 24rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1.45rem;
    padding: 3.65rem 2.75rem 1.45rem;
    border: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 1.15rem;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 58%, rgba(241, 250, 245, 0.92) 100%);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08), inset 0 0 0 2px rgba(255, 255, 255, 0.9);
}

body.home-page .class-hero-panel::before,
body.home-page .class-hero-panel::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

body.home-page .class-hero-panel::before {
    right: 8rem;
    top: -5.75rem;
    width: 32rem;
    height: 34rem;
    border-radius: 52% 0 54% 0;
    transform: rotate(16deg) skewX(-12deg);
    background: linear-gradient(140deg, rgba(6, 124, 61, 0.1), rgba(6, 124, 61, 0.015) 58%, rgba(6, 124, 61, 0));
}

body.home-page .class-hero-panel::after {
    right: -3rem;
    top: -4.5rem;
    width: 28rem;
    height: 32rem;
    border-radius: 60% 0 0 68%;
    transform: rotate(43deg);
    background: linear-gradient(155deg, rgba(9, 132, 67, 0.08), rgba(9, 132, 67, 0.01) 64%, rgba(9, 132, 67, 0));
}

body.home-page .class-hero-panel__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}

body.home-page .class-hero-panel__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    min-width: 0;
}

body.home-page .class-hero-panel__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.15rem;
    height: 3.15rem;
    flex: 0 0 3.15rem;
    border-radius: 999px;
    background: rgba(6, 124, 61, 0.08);
}

body.home-page .class-hero-panel__mark img {
    width: 1.35rem;
    height: 1.35rem;
    display: block;
}

body.home-page .class-hero-panel__kicker {
    display: inline-flex;
    align-items: center;
    min-height: 2.15rem;
    padding: 0 1rem;
    border-radius: 999px;
    background: rgba(6, 124, 61, 0.09);
    color: #08723a;
    -webkit-text-fill-color: #08723a;
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
}

body.home-page .class-hero-panel__copy {
    max-width: 58rem;
}

body.home-page .class-hero-panel__copy h2,
body.home-page .class-section .class-hero-panel__copy h2 {
    margin: 0 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    background: none !important;
    font-size: 4rem !important;
    line-height: 1.02 !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
}

body.home-page .class-hero-panel__copy h2::after,
body.home-page .class-section .class-hero-panel__copy h2::after {
    display: none !important;
    content: none !important;
}

body.home-page .class-hero-panel__copy p {
    max-width: 53rem;
    margin: 1.15rem 0 0;
    color: #667085;
    -webkit-text-fill-color: #667085;
    font-size: 1.05rem;
    line-height: 1.6;
    font-weight: 600;
}

body.home-page .class-hero-panel__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(18rem, 1.08fr);
    gap: 0.9rem;
    margin-top: auto;
}

body.home-page .class-hero-stat {
    min-width: 0;
    min-height: 6.1rem;
    display: flex;
    align-items: center;
    gap: 1.15rem;
    padding: 1.15rem 1.25rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.65rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 9px 18px rgba(15, 23, 42, 0.08);
}

body.home-page .class-hero-stat__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    flex: 0 0 3.5rem;
    border-radius: 0.9rem;
}

body.home-page .class-hero-stat__icon svg {
    width: 1.55rem;
    height: 1.55rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.home-page .class-hero-stat--course .class-hero-stat__icon {
    background: rgba(6, 124, 61, 0.1);
    color: #078c46;
}

body.home-page .class-hero-stat--todo .class-hero-stat__icon {
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
}

body.home-page .class-hero-stat--homework .class-hero-stat__icon {
    background: rgba(79, 70, 229, 0.11);
    color: #4f46e5;
}

body.home-page .class-hero-stat--review .class-hero-stat__icon {
    background: rgba(236, 72, 153, 0.12);
    color: #db2777;
}

body.home-page .class-hero-stat--notice .class-hero-stat__icon {
    background: rgba(14, 165, 233, 0.13);
    color: #0ea5e9;
}

body.home-page .class-hero-stat__copy {
    min-width: 0;
    display: grid;
    gap: 0.25rem;
}

body.home-page .class-hero-stat__copy span {
    color: #667085;
    -webkit-text-fill-color: #667085;
    font-size: 0.94rem;
    font-weight: 700;
    letter-spacing: 0;
    white-space: nowrap;
}

body.home-page .class-hero-stat__copy strong {
    color: #111827;
    -webkit-text-fill-color: #111827;
    font-size: 1.75rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0;
}

body.home-page .class-hero-stat--progress {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 1rem;
    row-gap: 0.55rem;
}

body.home-page .class-hero-stat__ring {
    grid-row: 1 / span 2;
    position: relative;
    width: 3.75rem;
    height: 3.75rem;
    border-radius: 999px;
    background: conic-gradient(from -90deg, #078c46 var(--class-hero-progress, 0%), #eceff1 0);
}

body.home-page .class-hero-stat__ring span {
    position: absolute;
    inset: 0.45rem;
    border-radius: inherit;
    background: #ffffff;
}

body.home-page .class-hero-stat--progress .class-hero-stat__copy {
    gap: 0.35rem;
}

body.home-page .class-hero-stat__bar {
    display: block;
    width: 100%;
    height: 0.35rem;
    overflow: hidden;
    border-radius: 999px;
    background: #dbe2e8;
}

body.home-page .class-hero-stat__bar span {
    display: block;
    width: var(--class-hero-progress, 0%);
    height: 100%;
    border-radius: inherit;
    background: #078c46;
}

body.home-page .class-hero-panel + .class-message,
body.home-page .class-hero-panel + .class-cta,
body.home-page .class-hero-panel + .class-section__class-switcher,
body.home-page .class-hero-panel + .class-grid,
body.home-page .class-section .class-grid {
    margin-top: 1.5rem;
}

body.home-page .class-section__guest-heading {
    width: 100%;
    margin: clamp(2rem, 3.4vw, 3.25rem) 0 clamp(1rem, 1.8vw, 1.45rem);
}

body.home-page .class-section__guest-heading h2 {
    margin: 0;
    color: #111827;
    -webkit-text-fill-color: #111827;
    font-size: clamp(2.1rem, 3.4vw, 3.65rem);
    line-height: 1.04;
    font-weight: 950;
    letter-spacing: 0;
}

body.home-page .class-section__guest-heading + .class-grid.class-grid--guest-showcase {
    margin-top: 0 !important;
}

@media (max-width: 1180px) {
    body.home-page .class-hero-panel {
        padding: 3rem 2rem 2rem;
    }

    body.home-page .class-hero-panel__copy h2,
    body.home-page .class-section .class-hero-panel__copy h2 {
        font-size: 3.25rem !important;
    }

    body.home-page .class-hero-panel__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home-page .class-hero-stat--progress {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    body.home-page .class-section {
        padding-top: 0.75rem !important;
    }

    body.home-page .class-section > .container {
        width: min(calc(100% - 1rem), 96rem) !important;
    }

    body.home-page .home-about > .container {
        width: min(calc(100% - 1rem), 96rem) !important;
    }

    body.home-page .class-hero-panel {
        min-height: 0;
        padding: 1.35rem;
        border-radius: 0.95rem;
    }

    body.home-page .class-hero-panel__top {
        display: grid;
        gap: 1rem;
    }

    body.home-page .class-hero-panel__copy h2,
    body.home-page .class-section .class-hero-panel__copy h2 {
        font-size: 2.35rem !important;
        line-height: 1.06 !important;
    }

    body.home-page .class-hero-panel__copy p {
        font-size: 0.98rem;
    }

    body.home-page .class-hero-panel__stats {
        grid-template-columns: 1fr;
    }

    body.home-page .class-hero-stat {
        min-height: 5.6rem;
    }

    body.home-page .class-hero-stat__copy span {
        white-space: normal;
    }

    body.home-page .class-section__guest-heading {
        margin: 1.35rem 0 1rem;
    }

    body.home-page .class-section__guest-heading h2 {
        font-size: clamp(1.9rem, 9vw, 2.55rem);
        line-height: 1.08;
    }
}

@media (max-width: 760px) {
    body.home-page .class-hero-panel__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.58rem !important;
    }

    body.home-page .class-hero-stat {
        min-height: 4.65rem !important;
        gap: 0.62rem !important;
        padding: 0.72rem !important;
        border-radius: 0.82rem !important;
        box-shadow: 0 6px 14px rgba(15, 23, 42, 0.07) !important;
    }

    body.home-page .class-hero-stat__icon {
        width: 2.45rem !important;
        height: 2.45rem !important;
        flex-basis: 2.45rem !important;
        border-radius: 0.72rem !important;
    }

    body.home-page .class-hero-stat__icon svg {
        width: 1.12rem !important;
        height: 1.12rem !important;
    }

    body.home-page .class-hero-stat__copy {
        gap: 0.16rem !important;
    }

    body.home-page .class-hero-stat__copy span {
        font-size: 0.76rem !important;
        line-height: 1.16 !important;
        white-space: normal !important;
    }

    body.home-page .class-hero-stat__copy strong {
        font-size: 1.35rem !important;
    }

    body.home-page .class-hero-stat--progress {
        grid-template-columns: auto minmax(0, 1fr) !important;
        grid-column: 1 / -1 !important;
        column-gap: 0.62rem !important;
        row-gap: 0.32rem !important;
    }

    body.home-page .class-hero-stat__ring {
        width: 2.65rem !important;
        height: 2.65rem !important;
    }

    body.home-page .class-hero-stat__ring span {
        inset: 0.36rem !important;
    }

    body.home-page .class-hero-stat__bar {
        height: 0.24rem !important;
    }
}

@media (max-width: 380px) {
    body.home-page .class-hero-panel {
        padding-inline: 0.95rem !important;
    }

    body.home-page .class-hero-panel__stats {
        gap: 0.48rem !important;
    }

    body.home-page .class-hero-stat {
        min-height: 4.25rem !important;
        gap: 0.48rem !important;
        padding: 0.6rem !important;
    }

    body.home-page .class-hero-stat__icon {
        width: 2.18rem !important;
        height: 2.18rem !important;
        flex-basis: 2.18rem !important;
    }

    body.home-page .class-hero-stat__copy span {
        font-size: 0.7rem !important;
    }

    body.home-page .class-hero-stat__copy strong {
        font-size: 1.18rem !important;
    }
}

/* Header nav icons */
body .site-header--edus .main-nav a.main-nav__link,
body.home-page .site-header--edus .main-nav a.main-nav__link,
body.course-page .site-header--edus .main-nav a.main-nav__link,
body.mobile-nav-ready .site-header--edus .main-nav a.main-nav__link {
    gap: 0.4rem !important;
}

body .site-header--edus .main-nav .main-nav__icon,
body.mobile-nav-ready .site-header--edus .main-nav .main-nav__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 1.08rem !important;
    height: 1.08rem !important;
    color: currentColor !important;
}

body .site-header--edus .main-nav .main-nav__icon svg,
body.mobile-nav-ready .site-header--edus .main-nav .main-nav__icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body .site-header--edus .main-nav .main-nav__label,
body.mobile-nav-ready .site-header--edus .main-nav .main-nav__label {
    display: inline-block !important;
    line-height: 1.15 !important;
}

@media (min-width: 901px) {
    body .site-header--edus .main-nav a.main-nav__link:not(.site-header-consultation-link),
    body.home-page .site-header--edus .main-nav a.main-nav__link:not(.site-header-consultation-link),
    body.course-page .site-header--edus .main-nav a.main-nav__link:not(.site-header-consultation-link),
    body.mobile-nav-ready .site-header--edus .main-nav a.main-nav__link:not(.site-header-consultation-link) {
        flex-direction: row !important;
        gap: 0.38rem !important;
        padding: 0 !important;
    }

    body .site-header--edus .main-nav a.site-header-consultation-link,
    body.home-page .site-header--edus .main-nav a.site-header-consultation-link,
    body.course-page .site-header--edus .main-nav a.site-header-consultation-link,
    body.mobile-nav-ready .site-header--edus .main-nav a.site-header-consultation-link {
        flex-direction: row !important;
        gap: 0.5rem !important;
        padding-inline: 1rem !important;
    }
}

@media (max-width: 900px) {
    body .site-header--edus .main-nav a.main-nav__link,
    body.home-page .site-header--edus .main-nav a.main-nav__link,
    body.course-page .site-header--edus .main-nav a.main-nav__link,
body.mobile-nav-ready .site-header--edus .main-nav a.main-nav__link,
body.mobile-nav-ready .site-header--edus .main-nav a.main-nav__link[href*="#khoa-hoc"],
body.mobile-nav-ready .site-header--edus .main-nav a.main-nav__link[href*="#lop-hoc"],
body.mobile-nav-ready .site-header--edus .main-nav a.main-nav__link:last-child {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.42rem !important;
    }

    body .site-header--edus .main-nav .main-nav__icon,
    body.mobile-nav-ready .site-header--edus .main-nav .main-nav__icon {
        width: 1rem !important;
        height: 1rem !important;
    }
}

/* Mobile logged-in header: keep logo, notify/avatar, and menu in one stable row. */
@media (max-width: 900px) {
    body .site-header--edus .site-header__top,
    body.mobile-nav-ready .site-header--edus .site-header__top {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 0.75rem !important;
        min-height: 76px !important;
        padding: 0.7rem clamp(0.9rem, 3.8vw, 1.25rem) !important;
    }

    body .site-header--edus .site-header__brand-search,
    body.mobile-nav-ready .site-header--edus .site-header__brand-search {
        min-width: 0 !important;
        width: auto !important;
        flex: 0 0 auto !important;
        gap: 0 !important;
    }

    body .site-header--edus .logo-block,
    body.mobile-nav-ready .site-header--edus .logo-block {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        justify-content: flex-start !important;
    }

    body .site-header--edus .site-logo,
    body.home-page .site-header--edus .site-logo,
    body.course-page .site-header--edus .site-logo,
    body.post-page .site-header--edus .site-logo,
    body.mobile-nav-ready .site-header--edus .site-logo {
        width: auto !important;
        height: 42px !important;
        max-width: 102px !important;
        object-fit: contain !important;
    }

    body .site-header--edus .site-header__quick-links,
    body.mobile-nav-ready .site-header--edus .site-header__quick-links {
        min-width: 0 !important;
        width: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.55rem !important;
        overflow: visible !important;
    }

    body .site-header--edus .site-header__auth-actions,
    body .site-header--edus .header-actions,
    body .site-header--edus .header-actions.has-notify-bell,
    body.mobile-nav-ready .site-header--edus .site-header__auth-actions,
    body.mobile-nav-ready .site-header--edus .header-actions,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.45rem !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    body .site-header--edus .header-actions.has-notify-bell .user-menu,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-menu,
    body .site-header--edus .user-menu,
    body.mobile-nav-ready .site-header--edus .user-menu {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body .site-header--edus .user-toggle,
    body .site-header--edus .header-actions.has-notify-bell .user-toggle,
    body.mobile-nav-ready .site-header--edus .user-toggle,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-toggle {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        max-height: 42px !important;
        display: inline-grid !important;
        grid-template-columns: 42px !important;
        grid-template-areas: "avatar" !important;
        place-items: center !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    body .site-header--edus .user-meta,
    body .site-header--edus .user-caret,
    body.mobile-nav-ready .site-header--edus .user-meta,
    body.mobile-nav-ready .site-header--edus .user-caret {
        display: none !important;
    }

    body .site-header--edus .user-avatar,
    body.mobile-nav-ready .site-header--edus .user-avatar {
        grid-area: avatar !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        border: 2px solid #ffffff !important;
        background: #eef8f2 !important;
        box-shadow: 0 8px 18px rgba(15, 65, 43, 0.12) !important;
    }

    body .site-header--edus .user-avatar img,
    body.mobile-nav-ready .site-header--edus .user-avatar img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: inherit !important;
    }

    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        flex: 0 0 42px !important;
        margin: 0 !important;
    }

    body .site-header--edus .mobile-nav-toggle,
    body.mobile-nav-ready .site-header--edus .mobile-nav-toggle {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        flex: 0 0 48px !important;
        margin: 0 !important;
    }
}

@media (max-width: 380px) {
    body .site-header--edus .site-header__top,
    body.mobile-nav-ready .site-header--edus .site-header__top {
        gap: 0.48rem !important;
        padding-inline: 0.72rem !important;
    }

    body .site-header--edus .site-logo,
    body.mobile-nav-ready .site-header--edus .site-logo {
        height: 38px !important;
        max-width: 88px !important;
    }

    body .site-header--edus .user-toggle,
    body .site-header--edus .header-actions.has-notify-bell .user-toggle,
    body.mobile-nav-ready .site-header--edus .user-toggle,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .user-toggle,
    body .site-header--edus .user-avatar,
    body.mobile-nav-ready .site-header--edus .user-avatar,
    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
    body .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn,
    body.mobile-nav-ready .site-header--edus .header-actions.has-notify-bell .header-notify-btn.is-active {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        flex-basis: 38px !important;
    }

    body .site-header--edus .mobile-nav-toggle,
    body.mobile-nav-ready .site-header--edus .mobile-nav-toggle {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        flex-basis: 44px !important;
    }
}

@media (max-width: 900px) {
    body .site-header--edus .site-header__quick-links > .site-language-switcher--desktop,
    body.mobile-nav-ready .site-header--edus .site-header__quick-links > .site-language-switcher--desktop {
        display: none !important;
    }

    body .site-header--edus .main-nav .site-language-switcher--mobile,
    body.mobile-nav-ready .site-header--edus .main-nav .site-language-switcher--mobile {
        display: none !important;
        grid-column: 1 / -1 !important;
        justify-self: center !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 0 0.15rem !important;
    }

    body .site-header--edus .main-nav.is-open .site-language-switcher--mobile,
    body.mobile-nav-ready .site-header--edus .main-nav.is-open .site-language-switcher--mobile {
        display: inline-flex !important;
    }

    body .site-header--edus .main-nav .site-language-switcher--mobile .site-language-switcher__link,
    body.mobile-nav-ready .site-header--edus .main-nav .site-language-switcher--mobile .site-language-switcher__link,
    body.mobile-nav-ready .site-header--edus .main-nav .site-language-switcher--mobile .site-language-switcher__link:last-child {
        display: inline-flex !important;
        width: auto !important;
        min-width: 2.25rem !important;
        height: 1.9rem !important;
        min-height: 1.9rem !important;
        padding: 0 0.55rem !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        background-image: none !important;
        color: #46637f !important;
        font-size: 0.76rem !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        box-shadow: none !important;
    }

    body .site-header--edus .main-nav .site-language-switcher--mobile .site-language-switcher__link.is-active,
    body.mobile-nav-ready .site-header--edus .main-nav .site-language-switcher--mobile .site-language-switcher__link.is-active {
        background: #108138 !important;
        color: #ffffff !important;
        box-shadow: 0 6px 14px rgba(16, 129, 56, 0.22) !important;
    }

    body.mobile-nav-ready .site-header--edus .site-header__menu {
        min-height: 0 !important;
        padding: 0 !important;
        gap: 0 !important;
        border-bottom: 0 !important;
    }

    body.mobile-nav-ready .site-header--edus .site-header__menu:has(.main-nav.is-open) {
        padding: 0.65rem clamp(1rem, 4vw, 1.35rem) 1.1rem !important;
        gap: 0.5rem !important;
        border-bottom: 1px solid rgba(233, 241, 255, 0.78) !important;
    }

    body.mobile-nav-ready .site-header--edus .site-header__menu:has(.main-nav.is-open) .main-nav.is-open {
        padding: 0 !important;
    }
}

@media (min-width: 901px) {
    body.home-page .class-section__guest-heading h2,
    body.home-page .class-section .section-text h2,
    body.home-page .class-section .section-intro h2,
    body.home-page .home-courses .section-text h2,
    body.home-page .home-courses .section-intro h2,
    body.home-page .home-exams .section-text h2,
    body.home-page .home-exams .section-intro h2,
    body.home-page .home-exams-guest-copy h2,
    body.home-page .home-games .section-text h2,
    body.home-page .home-games .section-intro h2,
    body.home-page .home-gallery .section-text h2,
    body.home-page .home-gallery .section-intro h2,
    body.home-page .home-gallery__intro #homeGalleryTitle {
        font-size: 58px !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
        font-weight: 900 !important;
    }
}
