@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap");

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

html {
    scroll-behavior: smooth;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.auth-panel {
    padding: 3rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* Reference alignment with E:\beebee\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, 246, 204, 0.94);
    box-shadow: 0 20px 40px rgba(122, 94, 16, 0.08);
    backdrop-filter: blur(20px);
    font-family: "Nunito Sans", system-ui, sans-serif;
}

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

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

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

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

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

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

.site-logo {
    height: 2.6rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.footer-content {
    gap: 1.5rem;
}

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

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

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

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

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

.auth-form input,
.auth-form textarea,
.auth-form select,
.profile-field input,
.profile-field textarea,
.profile-sticker-book__filter-field select,
.profile-sticker-book__filter-field input,
.course-player-review-item,
.course-todo-item,
.outline-lesson,
.option-item,
.read-vocab-input,
.read-wordbank-input,
.read-scene-yn-input,
.read-letter-sort-input {
    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: "Nunito Sans", "Segoe UI", sans-serif !important;
    font-size: clamp(2.35rem, 3.8vw, 4.1rem);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    .header-actions {
        order: 3;
    }

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

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

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

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

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

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

/* Final alignment with E:\beebee\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(255, 215, 0, 0.88) !important;
}

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

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

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

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

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

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

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

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

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

.home-main {
    gap: 4.5rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body.home-page,
body.course-page,
body.exam-page,
body.auth-body,
body.profile-page,
body.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: linear-gradient(180deg, rgba(255, 249, 226, 0.96), rgba(255, 241, 191, 0.94)) !important;
    box-shadow: 0 20px 40px rgba(122, 94, 16, 0.12) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body .section-tabs {
    display: grid !important;
    grid-auto-flow: 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.read-scene-yn-group-text,
body.exam-page .question-text--boxed.read-scene-choice-group-text,
body.exam-page .question-text--boxed.read-dialog-bank-group-text,
body.exam-page .question-text--boxed.read-letter-sort-group-text,
body.exam-page .question-text--boxed.read-scene-part6-section__title,
body.exam-page .listen-group-wrapper > .listen-group-shared-panel > .question-text--boxed,
body.exam-page .listen-group-wrapper > .listen-group-shared-sticky-stack > .question-text--boxed,
body.exam-page .listen-group-wrapper > .listen-group-shared-panel > .listen-group-shared-sticky-stack > .question-text--boxed,
body.exam-page .listen-drag-group-intro .question-text--boxed,
body.exam-page .speak-group-intro > .question-text--boxed.speak-group-intro__title,
body.exam-page .speak-movers-game__title.question-text--boxed {
    border-color: rgba(205, 167, 76, 0.5) !important;
    background: linear-gradient(180deg, rgba(255, 250, 232, 0.98), rgba(255, 242, 204, 0.95)) !important;
    color: rgba(107, 78, 17, 0.95) !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body.home-page .home-hero--slider-only {
    position: relative;
    width: 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: 1920 / 560;
    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(255, 215, 0, 0.24),
        0 22px 46px rgba(24, 41, 61, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    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 {
        width: 3rem;
        height: 3rem;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body.post-page .post-related .blog-info h3 {
    margin: 0;
    font-family: "Nunito Sans", system-ui, sans-serif !important;
    font-size: clamp(1.35rem, 2vw, 1.72rem);
    line-height: 1.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ài viết";
    font-size: 1.08rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body.home-page .class-section .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.18);
    color: #8f6e00;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
}

body.home-page .class-section .section-kicker::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd700, #ffb800);
    box-shadow: 0 0 0 0.3rem rgba(255, 215, 0, 0.16);
}

body.home-page .class-section .section-text h2 {
    margin: 0.8rem 0 0.7rem;
    font-size: clamp(1.95rem, 3.45vw, 3.2rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    font-weight: 900;
    color: #131313;
    white-space: nowrap;
}

body.home-page .class-section .section-text p {
    margin: 0;
    max-width: 34rem;
    font-size: 1.02rem;
    line-height: 1.7;
    color: rgba(28, 27, 27, 0.72);
}

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

body.home-page .class-section .stat-pill {
    min-width: 10.5rem;
    padding: 1rem 1.15rem;
    border-radius: 1.6rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.3), rgba(255, 215, 0, 0) 46%),
        #ffffff;
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.06);
}

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

body.home-page .class-section .stat-pill span {
    display: block;
    margin-top: 0.3rem;
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(28, 27, 27, 0.52);
}

body.home-page .class-section__class-switcher {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.72rem;
    margin: 0 0 1.15rem;
    padding: 0;
}

body.home-page .class-section__class-tab {
    display: grid;
    grid-template-columns: 4rem minmax(0, 1fr);
    align-items: center;
    gap: 0.72rem;
    flex: 0 1 16rem;
    width: auto;
    min-width: min(100%, 14rem);
    max-width: min(100%, 18.5rem);
    padding: 0.58rem 0.72rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.82);
    color: #131313;
    text-align: left;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(19, 19, 19, 0.04);
    transition:
        border-color var(--bee-fast),
        background-color var(--bee-fast),
        box-shadow var(--bee-fast),
        transform var(--bee-fast);
}

body.home-page .class-section__class-tab:hover,
body.home-page .class-section__class-tab:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(224, 170, 0, 0.24);
}

body.home-page .class-section__class-tab.is-active {
    border-color: rgba(224, 170, 0, 0.3);
    background: linear-gradient(180deg, rgba(255, 250, 228, 0.98), rgba(255, 244, 205, 0.98));
    box-shadow: 0 16px 28px rgba(224, 170, 0, 0.12);
}

body.home-page .class-section__class-tab-thumb {
    display: block;
    width: 4rem;
    aspect-ratio: 16 / 9;
    border-radius: 0.95rem;
    overflow: hidden;
    background: #f1ede6;
}

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

body.home-page .class-section__class-tab-copy {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
}

body.home-page .class-section__class-tab-label {
    color: rgba(28, 27, 27, 0.5);
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-section__class-tab-title {
    display: block;
    min-width: 0;
    overflow: hidden;
    word-break: break-word;
    font-size: 0.94rem;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.home-page .class-grid,
body.home-page .class-grid.class-grid--desktop-1,
body.home-page .class-grid.class-grid--desktop-2,
body.home-page .class-grid.class-grid--desktop-3 {
    grid-template-columns: 1fr !important;
    gap: 1.8rem !important;
}

body.home-page .class-card {
    --class-accent: #ffd700;
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(280px, 336px) minmax(0, 1.08fr) minmax(280px, 0.9fr);
    grid-template-areas:
        "intro todo notes"
        "intro arena sticker";
    gap: 1rem;
    padding: 1rem;
    border-radius: 2.15rem !important;
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(252, 248, 239, 0.98)),
        #ffffff !important;
    box-shadow: 0 28px 52px rgba(19, 19, 19, 0.08) !important;
    overflow: hidden;
    isolation: isolate;
    transform: none !important;
}

body.home-page .class-card::before {
    content: "";
    position: absolute;
    inset: 1rem auto 1rem 1rem;
    width: 0.52rem;
    border-radius: 999px;
    background: var(--class-accent);
    opacity: 0.95;
}

body.home-page .class-card::after {
    content: "";
    position: absolute;
    right: -2.8rem;
    top: -2.8rem;
    width: 8rem;
    height: 8rem;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255, 215, 0, 0.26), rgba(255, 215, 0, 0));
    pointer-events: none;
    z-index: 0;
}

body.home-page .class-card:hover,
body.home-page .class-card:focus-within {
    transform: translateY(-4px) !important;
    box-shadow: 0 36px 62px rgba(19, 19, 19, 0.12) !important;
}

body.home-page .class-card-content,
body.home-page .class-todo-home,
body.home-page .class-notes-panel,
body.home-page .class-arena-panel-host,
body.home-page .class-sticker-book {
    position: relative;
    z-index: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    order: 0 !important;
}

body.home-page .class-card-content {
    grid-area: intro;
    display: grid;
    grid-template-areas:
        "cover"
        "body"
        "attendance";
    gap: 1rem;
    align-content: start;
    padding: 1rem !important;
    border-radius: 1.8rem !important;
    background:
        radial-gradient(circle at top left, rgba(255, 215, 0, 0.18), rgba(255, 215, 0, 0) 42%),
        linear-gradient(180deg, #fffef8, #fff9e8) !important;
    box-shadow: 0 20px 38px rgba(19, 19, 19, 0.08) !important;
}

body.home-page .class-card.restricted {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "intro";
}

body.home-page .class-cover {
    grid-area: cover;
    width: 100% !important;
    margin: 0 !important;
    aspect-ratio: 4 / 4.9;
    border-radius: 1.7rem !important;
    border: 0 !important;
    background:
        linear-gradient(180deg, rgba(255, 248, 214, 0.92), rgba(255, 255, 255, 0.98)) !important;
    box-shadow: 0 16px 28px rgba(19, 19, 19, 0.12) !important;
    overflow: hidden;
}

body.home-page .class-cover img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

body.home-page .class-body {
    grid-area: body;
    display: flex;
    flex-direction: column;
    gap: 0.78rem;
}

body.home-page .class-body h3 {
    margin: 0;
    font-family: "Nunito Sans", "Segoe UI", sans-serif;
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.02;
    letter-spacing: -0.05em;
    font-weight: 900;
    color: #121212;
}

body.home-page .class-meta {
    align-self: flex-start;
    margin: 0;
    padding: 0.46rem 0.78rem;
    border-radius: 999px;
    background: #131313;
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.home-page .class-note,
body.home-page .class-note--muted {
    margin: 0;
    padding: 0.82rem 0.95rem;
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, 0.84);
    color: rgba(28, 27, 27, 0.72);
    font-weight: 700;
    font-size: 0.9rem;
}

body.home-page .class-card .btn-primary,
body.home-page .class-card .class-learn-now-link,
body.home-page .class-card .class-zoom-link {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.35rem;
    padding: 0.9rem 1rem;
    border-radius: 1.2rem !important;
    border: 0 !important;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%) !important;
    color: #131313 !important;
    box-shadow: 0 14px 26px rgba(255, 200, 0, 0.26) !important;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.home-page .class-card .class-zoom-link {
    gap: 0.68rem;
    background: linear-gradient(135deg, #ffcf24 0%, #f2b800 100%) !important;
    color: #131313 !important;
    box-shadow: 0 16px 28px rgba(255, 193, 7, 0.24) !important;
}

body.home-page .class-card .class-learn-now-link > span,
body.home-page .class-showcase-card__button.class-learn-now-link > span {
    position: relative;
    z-index: 1;
}

body.home-page .class-card .class-learn-now-link::before,
body.home-page .class-showcase-card__button.class-learn-now-link::before {
    content: "";
    position: absolute;
    top: -32%;
    left: -38%;
    width: 28%;
    height: 165%;
    transform: skewX(-24deg) translateX(0);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0));
    opacity: 0;
    pointer-events: none;
    will-change: transform, opacity;
    animation: beebeeLightSweep 3.6s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
}

body.home-page .class-card .class-learn-now-link::after,
body.home-page .class-card .class-zoom-link::before,
body.home-page .class-card .class-zoom-link::after {
    content: none !important;
}

body.home-page .class-attendance-cta {
    grid-area: attendance;
    display: grid;
    gap: 0.45rem;
    padding: 0.95rem 1rem;
    border-radius: 1.35rem;
    border: 1px dashed rgba(19, 19, 19, 0.14);
    background: rgba(255, 255, 255, 0.82);
}

body.home-page .class-attendance-cta__btn {
    width: 100%;
    border-radius: 1rem !important;
    box-shadow: none !important;
}

body.home-page .class-attendance-cta__meta {
    color: rgba(28, 27, 27, 0.64);
    font-size: 0.8rem;
    font-weight: 700;
}

body.home-page .class-todo-home {
    grid-area: todo;
    padding: 1.15rem 1.2rem !important;
    border-radius: 1.8rem !important;
    border: 1px solid rgba(255, 215, 0, 0.18) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 222, 89, 0.16), rgba(255, 222, 89, 0) 42%),
        linear-gradient(180deg, #fffef9, #f9f4e9) !important;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.06) !important;
}

body.home-page .class-todo-home__title,
body.home-page .class-notes-title,
body.home-page .class-sticker-book__title,
body.home-page .class-arena-panel__title {
    font-size: 1.02rem;
    line-height: 1.15;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: #131313;
}

body.home-page .class-todo-home__count,
body.home-page .class-arena-panel__count {
    border: 0 !important;
    background: #fff3c4 !important;
    color: #7b6200 !important;
    font-weight: 800;
}

body.home-page .class-todo-home__mood {
    border: 0 !important;
    border-radius: 1.2rem !important;
    background: linear-gradient(135deg, #fff6d0, #ffffff) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 215, 0, 0.18);
}

body.home-page .class-todo-home__groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
}

body.home-page .class-todo-home__group {
    padding: 0.85rem;
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(19, 19, 19, 0.08);
}

body.home-page .class-todo-home__group--completed {
    background: rgba(246, 250, 238, 0.95);
}

body.home-page .class-todo-home__item {
    width: 100%;
    padding: 0.75rem;
    border-radius: 1.1rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: #ffffff;
    box-shadow: 0 10px 16px rgba(19, 19, 19, 0.04);
}

body.home-page .class-todo-home__item.is-completed {
    background: #f6faee;
}

body.home-page .class-todo-home__item:hover,
body.home-page .class-todo-home__item:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 16px 22px rgba(19, 19, 19, 0.08);
}

body.home-page .class-todo-home__check {
    width: 2.85rem;
    min-width: 2.85rem;
    max-width: 2.85rem;
    height: 2.85rem;
    flex: 0 0 2.85rem;
    aspect-ratio: 1 / 1;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 50%;
    background: linear-gradient(180deg, #fff5c6, #ffffff);
    border: 1px solid rgba(255, 215, 0, 0.24);
}

body.home-page .class-todo-home__check-sticker,
body.home-page .class-todo-home__check-sticker-fallback {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

body.home-page .class-todo-home__check-sticker {
    display: block;
    width: auto;
    height: 74%;
    max-width: 74%;
    border-radius: 0;
    object-fit: contain;
}

body.home-page .class-todo-home__check-sticker-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body.home-page .class-todo-home__check-mark {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    color: #131313;
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1;
}

body.home-page .class-todo-home__item.is-completed .class-todo-home__check-mark {
    opacity: 1;
}

body.home-page .class-todo-home__item-title {
    font-size: 0.95rem;
    font-weight: 800;
    color: #151515;
}

body.home-page .class-todo-home__item-date {
    color: rgba(28, 27, 27, 0.56);
}

body.home-page .class-notes-panel {
    grid-area: notes;
    padding: 1.15rem !important;
    border-radius: 1.8rem !important;
    border: 1px solid rgba(255, 215, 0, 0.14) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 234, 167, 0.2), rgba(255, 234, 167, 0) 44%),
        linear-gradient(180deg, #fffefa, #f8f1e3) !important;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.06) !important;
}

body.home-page .class-notes-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
}

body.home-page .class-notes-filters,
body.home-page .class-sticker-book__filters {
    gap: 0.45rem;
}

body.home-page .class-notes-filter-btn,
body.home-page .class-sticker-book__filter-btn {
    border: 0 !important;
    border-radius: 999px !important;
    background: #f7f1e3 !important;
    color: rgba(28, 27, 27, 0.62) !important;
    font-weight: 800;
    box-shadow: none !important;
}

body.home-page .class-notes-filter-btn.is-active,
body.home-page .class-sticker-book__filter-btn.is-active {
    background: #131313 !important;
    color: #ffffff !important;
}

body.home-page .class-notes-scroll {
    max-height: 25rem;
    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), #ffd700);
}

body.home-page .class-note-tag {
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff6d8 !important;
    color: #7b6200 !important;
    font-weight: 800;
}

body.home-page .class-note-tag.is-member {
    background: #fff3c4 !important;
    color: #7b6200 !important;
}

body.home-page .class-notes-list time {
    color: rgba(28, 27, 27, 0.46);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-notes-list p {
    color: rgba(28, 27, 27, 0.74);
}

body.home-page .class-arena-panel-host {
    grid-area: arena;
    min-width: 0;
}

body.home-page .class-arena-panel {
    min-height: 100%;
    padding: 1.15rem !important;
    border-radius: 1.8rem !important;
    border: 0 !important;
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.16), rgba(255, 215, 0, 0) 34%),
        linear-gradient(145deg, #1a1a1a 0%, #232323 100%) !important;
    box-shadow: 0 22px 40px rgba(19, 19, 19, 0.16) !important;
    color: #ffffff !important;
}

body.home-page .class-arena-panel::before,
body.home-page .class-arena-panel::after {
    content: none !important;
}

body.home-page .class-arena-panel__head {
    gap: 0.7rem;
    align-items: start;
}

body.home-page .class-arena-panel__eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 0.36rem 0.68rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.82);
}

body.home-page .class-arena-panel__eyebrow::after {
    content: none;
}

body.home-page .class-arena-panel__title,
body.home-page .class-arena-panel__subtitle,
body.home-page .class-arena-panel__count,
body.home-page .class-arena-session__top,
body.home-page .class-arena-session__title,
body.home-page .class-arena-session__my-rank,
body.home-page .class-arena-session__leaderboard-head,
body.home-page .class-arena-session__leaderboard-list li,
body.home-page .class-arena-session__tie {
    color: #ffffff !important;
}

body.home-page .class-arena-panel__subtitle {
    opacity: 0.72;
}

body.home-page .class-arena-panel__count {
    background: rgba(255, 215, 0, 0.16) !important;
    color: #ffe381 !important;
}

body.home-page .class-arena-panel__list {
    display: grid;
    gap: 0.85rem;
}

body.home-page .class-arena-session {
    border-radius: 1.35rem !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.06) !important;
    box-shadow: none !important;
}

body.home-page .class-arena-session__enter {
    border: 0 !important;
    border-radius: 1.1rem !important;
    background: linear-gradient(135deg, #ffe16d, #ffd200) !important;
    color: #131313 !important;
    box-shadow: 0 14px 24px rgba(255, 210, 0, 0.18) !important;
}

body.home-page .class-sticker-book {
    grid-area: sticker;
    padding: 1.15rem !important;
    border-radius: 1.8rem !important;
    border: 1px solid rgba(255, 215, 0, 0.2) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.22), rgba(255, 215, 0, 0) 42%),
        linear-gradient(180deg, #fffdf5, #fff7dc) !important;
    box-shadow: 0 18px 36px rgba(19, 19, 19, 0.06) !important;
}

body.home-page .class-sticker-book__subtitle,
body.home-page .class-sticker-book__empty,
body.home-page .class-sticker-book__ranking-empty {
    color: rgba(28, 27, 27, 0.66);
}

body.home-page .class-sticker-book__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

body.home-page .class-sticker-book__stats span {
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: none;
}

body.home-page .class-sticker-book__name-filter {
    padding: 0.75rem;
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.72);
}

body.home-page .class-sticker-book__name-filter select {
    border-radius: 1rem !important;
    border: 1px solid rgba(19, 19, 19, 0.1) !important;
    background: #ffffff !important;
    min-height: 2.75rem;
}

body.home-page .class-sticker-book__ranking {
    padding: 0.85rem;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, 0.76);
}

body.home-page .class-sticker-book__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

body.home-page .class-sticker-book__item {
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    border-radius: 1.35rem !important;
    background: #ffffff !important;
    box-shadow: 0 10px 18px rgba(19, 19, 19, 0.04) !important;
}

body.home-page .class-sticker-book__thumb {
    box-shadow: none !important;
}

@media (max-width: 1280px) {
    body.home-page .class-card {
        grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
        grid-template-areas:
            "intro todo"
            "intro notes"
            "arena sticker";
    }
}

@media (max-width: 1120px) {
    body.home-page .class-card,
    body.home-page .class-card.restricted {
        grid-template-columns: 1fr;
        grid-template-areas:
            "intro"
            "todo"
            "notes"
            "arena"
            "sticker";
    }

    body.home-page .class-cover {
        aspect-ratio: 16 / 10;
    }
}

@media (max-width: 900px) {
    body.home-page .class-section .section-intro {
        grid-template-columns: 1fr;
    }

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

    body.home-page .class-card {
        padding: 0.85rem;
        border-radius: 1.7rem !important;
        gap: 0.85rem;
    }

    body.home-page .class-card::before {
        inset: 0 0 auto 0;
        width: auto;
        height: 0.42rem;
        border-radius: 0 0 999px 999px;
    }

    body.home-page .class-card-content,
    body.home-page .class-todo-home,
    body.home-page .class-notes-panel,
    body.home-page .class-arena-panel,
    body.home-page .class-sticker-book {
        border-radius: 1.45rem !important;
    }

    body.home-page .class-todo-home__groups,
    body.home-page .class-sticker-book__list {
        grid-template-columns: 1fr;
    }

    body.home-page .class-notes-scroll {
        max-height: none;
    }
}

/* Homepage class section tightening */
body.home-page .class-card {
    grid-template-columns: minmax(270px, 320px) minmax(0, 1fr) !important;
    grid-template-areas:
        "intro todo"
        "intro notes"
        "intro arena"
        "intro sticker" !important;
    align-items: start !important;
}

body.home-page .class-card.restricted {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "intro" !important;
}

body.home-page .class-card-content,
body.home-page .class-todo-home,
body.home-page .class-notes-panel,
body.home-page .class-arena-panel-host,
body.home-page .class-sticker-book {
    align-self: start !important;
    height: auto !important;
}

body.home-page .class-arena-panel-host:empty {
    display: none !important;
}

body.home-page .class-card:not(:has(.class-arena-panel-host:not(:empty))) {
    grid-template-areas:
        "intro todo"
        "intro notes"
        "intro sticker" !important;
}

body.home-page .class-card-content {
    position: sticky;
    top: 6.75rem;
}

body.home-page .class-todo-home,
body.home-page .class-notes-panel,
body.home-page .class-sticker-book,
body.home-page .class-arena-panel {
    border-radius: 1.55rem !important;
}

body.home-page .class-todo-home {
    padding: 1rem 1.05rem !important;
}

body.home-page .class-todo-home__groups {
    grid-template-columns: 1fr !important;
}

body.home-page .class-todo-home__group {
    padding: 0.78rem !important;
}

body.home-page .class-todo-home__list {
    max-height: 16.5rem;
}

body.home-page .class-todo-home__item {
    min-height: 0;
}

body.home-page .class-notes-panel {
    min-height: 0 !important;
}

body.home-page .class-notes-empty,
body.home-page .class-sticker-book__empty {
    margin: 0;
    padding: 0.9rem 0;
}

body.home-page .class-notes-list li {
    padding: 0.82rem !important;
}

body.home-page .class-sticker-book__list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.home-page .class-sticker-book__scroll {
    max-height: none;
}

@media (max-width: 1180px) {
    body.home-page .class-card,
    body.home-page .class-card:not(:has(.class-arena-panel-host:not(:empty))) {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "intro"
            "todo"
            "notes"
            "arena"
            "sticker" !important;
    }

    body.home-page .class-card-content {
        position: relative;
        top: auto;
    }
}

@media (max-width: 760px) {
    body.home-page .class-sticker-book__list {
        grid-template-columns: 1fr !important;
    }
}

/* Homepage class showcase reset */
body.home-page .class-section {
    background:
        radial-gradient(circle at 10% 8%, rgba(255, 215, 0, 0.12), rgba(255, 215, 0, 0) 26%),
        linear-gradient(180deg, #fbf8f2 0%, #f5f1ea 100%);
}

body.home-page .class-grid,
body.home-page .class-grid.class-grid--desktop-1,
body.home-page .class-grid.class-grid--desktop-2,
body.home-page .class-grid.class-grid--desktop-3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    align-items: stretch;
    width: 100%;
}

body.home-page .class-showcase-card {
    --class-accent: #ffd700;
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
    gap: 1.2rem;
    padding: 1rem;
    border-radius: 2rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 247, 242, 0.98)),
        #ffffff;
    box-shadow: 0 24px 54px rgba(19, 19, 19, 0.07);
    overflow: hidden;
    min-width: 0;
    width: 100%;
}

body.home-page .class-showcase-card::before {
    content: none;
}

body.home-page .class-showcase-card__lead {
    display: flex;
    flex-direction: column;
    gap: 0.95rem;
    min-width: 0;
}

body.home-page .class-showcase-card__media {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: 1.55rem;
    overflow: hidden;
    background: #f1ede6;
}

body.home-page .class-showcase-card__media::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 40%;
    background: linear-gradient(180deg, rgba(19, 19, 19, 0), rgba(19, 19, 19, 0.22));
    pointer-events: none;
}

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

body.home-page .class-showcase-card__badge {
    position: absolute;
    left: 1rem;
    bottom: 1rem;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.42rem 0.85rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #131313;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__leaderboard {
    padding: 0.95rem;
    border-radius: 1.4rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: linear-gradient(180deg, #fffdfa 0%, #f7f1e5 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.home-page .class-showcase-card__leaderboard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    margin-bottom: 0.85rem;
}

body.home-page .class-showcase-card__leaderboard-head h4 {
    margin: 0;
    color: #131313;
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__leaderboard-head span {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    padding: 0.28rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.22);
    color: #8e6e00;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.home-page .class-showcase-card__leaderboard-note {
    margin: 0 0 0.8rem;
    padding: 0.68rem 0.82rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, rgba(255, 248, 214, 0.92), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(255, 215, 0, 0.18);
    color: rgba(19, 19, 19, 0.82);
    font-size: 0.78rem;
    line-height: 1.5;
    font-weight: 800;
}

body.home-page .class-showcase-card__leaderboard-note[data-tone='leader'] {
    background: linear-gradient(135deg, rgba(255, 239, 166, 0.96), rgba(255, 250, 222, 0.98));
    color: #5e4700;
}

body.home-page .class-showcase-card__leaderboard-note[data-tone='top'] {
    background: linear-gradient(135deg, rgba(255, 245, 199, 0.94), rgba(255, 255, 255, 0.98));
    color: #6d5400;
}

body.home-page .class-showcase-card__leaderboard-note[data-tone='boost'] {
    background: linear-gradient(135deg, rgba(255, 244, 215, 0.94), rgba(255, 250, 239, 0.98));
    color: #745a15;
}

body.home-page .class-showcase-card__leaderboard-list {
    --leaderboard-visible-items: 10;
    --leaderboard-row-height: 3.28rem;
    --leaderboard-row-gap: 0.58rem;
    margin: 0;
    padding: 0 0.18rem 0 0;
    list-style: none;
    display: grid;
    gap: var(--leaderboard-row-gap);
    max-height: calc((var(--leaderboard-row-height) * var(--leaderboard-visible-items)) + (var(--leaderboard-row-gap) * (var(--leaderboard-visible-items) - 1)));
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(64, 55, 31, 0.56) rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__leaderboard-list::-webkit-scrollbar {
    width: 6px;
}

body.home-page .class-showcase-card__leaderboard-list::-webkit-scrollbar-track {
    background: rgba(19, 19, 19, 0.08);
    border-radius: 999px;
}

body.home-page .class-showcase-card__leaderboard-list::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 213, 22, 0.92), rgba(90, 74, 31, 0.52));
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    background-clip: padding-box;
}

body.home-page .class-showcase-card__leaderboard-item {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.62rem;
    padding: 0.55rem 0.62rem;
    border-radius: 1rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    background: rgba(255, 255, 255, 0.94);
}

body.home-page .class-showcase-card__leaderboard-item.is-top {
    border-color: rgba(255, 196, 0, 0.24);
    background: linear-gradient(180deg, rgba(255, 246, 205, 0.94), rgba(255, 252, 237, 0.96));
}

body.home-page .class-showcase-card__leaderboard-item: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: linear-gradient(145deg, #ebbf2c 0%, #d39a00 100%);
    color: #4f3900;
    border: 1px solid rgba(211, 154, 0, 0.28);
    font-size: 0.8rem;
    font-weight: 900;
    box-shadow: 0 10px 18px rgba(215, 168, 18, 0.16);
}

body.home-page .class-showcase-card__leaderboard-empty,
body.home-page .class-showcase-card__leaderboard-foot {
    margin: 0;
    color: rgba(28, 27, 27, 0.6);
    font-size: 0.79rem;
    line-height: 1.5;
}

body.home-page .class-showcase-card__leaderboard-foot {
    margin-top: 0.65rem;
}

@media (max-width: 768px) {
    body.home-page .class-showcase-card__leaderboard-list {
        --leaderboard-visible-items: 5;
    }
}

body.home-page .class-showcase-card__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    min-width: 0;
    padding: 0.25rem 0.15rem 0.15rem 0;
}

body.home-page .class-showcase-card__eyebrow-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

body.home-page .class-showcase-card__eyebrow,
body.home-page .class-showcase-card__tone {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.42rem 0.78rem;
    border-radius: 999px;
    background: #f4efe5;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__tone {
    background: rgba(255, 215, 0, 0.16);
    color: #8e6e00;
}

body.home-page .class-showcase-card__title {
    margin: 0;
    font-size: clamp(1.55rem, 2.2vw, 2.2rem);
    line-height: 0.98;
    letter-spacing: -0.05em;
    font-weight: 900;
    color: #131313;
}

body.home-page .class-showcase-card__actions {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(11.25rem, 0.82fr);
    gap: 0.8rem;
    align-items: stretch;
    transition: grid-template-columns 420ms cubic-bezier(0.22, 1, 0.36, 1), gap 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-page .class-showcase-card__actions.is-attendance-completed {
    grid-template-columns: minmax(0, 1.94fr) minmax(4.5rem, 0.22fr);
    gap: 0.55rem;
}

body.home-page .class-showcase-card__action-main,
body.home-page .class-showcase-card__attendance {
    min-width: 0;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), opacity 300ms ease;
}

body.home-page .class-showcase-card__button,
body.home-page .class-showcase-card__attendance-btn {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 3.35rem;
    padding: 0.9rem 1rem;
    border-radius: 1.15rem;
    border: 0;
    overflow: hidden;
    isolation: isolate;
    text-decoration: none;
    font-size: 0.96rem;
    font-weight: 900;
    letter-spacing: -0.02em;
    white-space: nowrap;
    transition:
        transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow var(--bee-fast),
        background-color var(--bee-fast),
        color var(--bee-fast),
        border-color var(--bee-fast),
        min-width 420ms cubic-bezier(0.22, 1, 0.36, 1),
        max-width 420ms cubic-bezier(0.22, 1, 0.36, 1),
        padding 420ms cubic-bezier(0.22, 1, 0.36, 1),
        border-radius 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

body.home-page .class-showcase-card__button {
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #131313;
    box-shadow: 0 14px 26px rgba(255, 200, 0, 0.22);
    transform-origin: left center;
}

body.home-page .class-showcase-card__button:hover,
body.home-page .class-showcase-card__button:focus-visible,
body.home-page .class-showcase-card__attendance-btn:hover,
body.home-page .class-showcase-card__attendance-btn:focus-visible {
    transform: translateY(-2px);
}

body.home-page .class-showcase-card__button--dark {
    background: linear-gradient(135deg, #efc338 0%, #d49a00 100%);
    color: #4d3700;
    box-shadow: 0 16px 28px rgba(212, 154, 0, 0.2);
}

body.home-page .class-showcase-card__button.class-zoom-link {
    gap: 0.68rem;
    background: linear-gradient(135deg, #ffcf24 0%, #f2b800 100%) !important;
    color: #131313 !important;
    box-shadow: 0 16px 28px rgba(255, 193, 7, 0.22) !important;
}

body.home-page .class-card .class-zoom-link:hover,
body.home-page .class-card .class-zoom-link:focus-visible,
body.home-page .class-showcase-card__button.class-zoom-link:hover,
body.home-page .class-showcase-card__button.class-zoom-link:focus-visible {
    background: linear-gradient(135deg, #ffd84f 0%, #f5c328 100%) !important;
    color: #131313 !important;
}

body.home-page .class-zoom-link__live {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 1.55rem;
    padding: 0.18rem 0.52rem;
    border-radius: 999px;
    background: linear-gradient(145deg, #d9a100 0%, #b68000 100%);
    color: #fff7dc;
    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255, 247, 220, 0.12);
}

body.home-page .class-zoom-link__live-dot {
    width: 0.46rem;
    height: 0.46rem;
    border-radius: 50%;
    background: #ff4d4f;
    box-shadow: 0 0 0 0.16rem rgba(255, 77, 79, 0.18);
    flex-shrink: 0;
}

body.home-page .class-zoom-link__label {
    position: relative;
    z-index: 1;
}

body.home-page .class-showcase-card__button--disabled {
    background: #ece7dd;
    color: rgba(28, 27, 27, 0.54);
    box-shadow: none;
    cursor: not-allowed;
}

body.home-page .class-showcase-card__attendance {
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    gap: 0;
}

body.home-page .class-showcase-card__attendance-btn {
    box-shadow: none;
    border-radius: 1rem !important;
    min-width: 100%;
    justify-content: center;
    transform-origin: right center;
}

body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__button:not(.class-showcase-card__button--disabled) {
    box-shadow: 0 16px 32px rgba(255, 200, 0, 0.28);
}

body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn {
    width: 4.5rem;
    min-width: 4.5rem;
    max-width: 4.5rem;
    padding-inline: 0.5rem;
    border-radius: 999px !important;
    font-size: 0;
    color: transparent;
    background: linear-gradient(145deg, #efc338 0%, #d29a00 100%) !important;
    border: 1px solid rgba(210, 154, 0, 0.28) !important;
    box-shadow: 0 14px 28px rgba(210, 154, 0, 0.22) !important;
}

body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn::before {
    content: "\2713";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.08rem;
    font-weight: 900;
    color: #4d3800;
    line-height: 1;
}

body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn.is-completed::before {
    color: #4d3800;
}

body.home-page .class-showcase-card__actions.is-attendance-just-completed .class-showcase-card__action-main .class-showcase-card__button {
    animation: beebeeClaimAttendanceSlot 520ms cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes beebeeLightSweep {
    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 beebeeClaimAttendanceSlot {
    0% {
        transform: translateX(0) scaleX(1);
    }
    38% {
        transform: translateX(0.35rem) scaleX(1.02);
    }
    100% {
        transform: translateX(0) scaleX(1);
    }
}

@keyframes beebeeTopLeaderGlow {
    0%,
    100% {
        box-shadow:
            0 14px 28px rgba(219, 170, 0, 0.14),
            inset 0 1px 0 rgba(255, 255, 255, 0.82);
    }
    50% {
        box-shadow:
            0 18px 34px rgba(219, 170, 0, 0.24),
            0 0 0 1px rgba(255, 215, 0, 0.12),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
    }
}

@keyframes beebeeTopLeaderSweep {
    0% {
        opacity: 0;
        transform: skewX(-24deg) translateX(-180%);
    }
    18% {
        opacity: 0;
        transform: skewX(-24deg) translateX(-180%);
    }
    36% {
        opacity: 0.42;
    }
    48% {
        opacity: 0;
        transform: skewX(-24deg) translateX(260%);
    }
    100% {
        opacity: 0;
        transform: skewX(-24deg) translateX(260%);
    }
}

body.home-page .class-section .section-kicker,
body.home-page .class-meta,
body.home-page .class-section .stat-pill span,
body.home-page .class-todo-home__count,
body.home-page .class-arena-panel__count,
body.home-page .class-showcase-card__eyebrow,
body.home-page .class-showcase-card__leaderboard-chip,
body.home-page .class-showcase-card__leaderboard-rank,
body.home-page .class-todo-home__group h5,
body.home-page .class-todo-home__group-count {
    font-weight: 700;
}

body.home-page .class-section .section-text h2,
body.home-page .class-body h3,
body.home-page .class-showcase-card__title,
body.home-page .class-showcase-card__leaderboard-score,
body.home-page .class-todo-home__title,
body.home-page .class-notes-title,
body.home-page .class-sticker-book__title,
body.home-page .class-arena-panel__title {
    font-weight: 800;
}

body.home-page .class-card .btn-primary,
body.home-page .class-card .class-learn-now-link,
body.home-page .class-card .class-zoom-link,
body.home-page .class-showcase-card__button,
body.home-page .class-showcase-card__attendance-btn {
    font-weight: 800;
}

body.home-page .class-note,
body.home-page .class-note--muted,
body.home-page .class-todo-home__item-title,
body.home-page .class-showcase-card__leaderboard-name,
body.home-page .class-notes-list strong,
body.home-page .class-sticker-book__student-name {
    font-weight: 700;
}

body.home-page .class-showcase-card__action-meta,
body.home-page .class-showcase-card__attendance-meta {
    display: none !important;
}

body.home-page .class-showcase-card--practice-hub {
    border-color: rgba(224, 170, 0, 0.12);
}

body.home-page .class-showcase-card__media--practice {
    background:
        radial-gradient(circle at 16% 18%, rgba(255, 215, 0, 0.24), rgba(255, 215, 0, 0) 34%),
        linear-gradient(160deg, #fff9e8 0%, #f6f0e2 100%);
}

body.home-page .class-showcase-card__practice-summary,
body.home-page .class-showcase-card__practice {
    padding: 1rem 1.05rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: linear-gradient(180deg, #fffdf8 0%, #fbf7ef 100%);
    box-shadow:
        0 14px 28px rgba(19, 19, 19, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

body.home-page .class-showcase-card__practice {
    margin-top: 0.1rem;
}

body.home-page .class-showcase-card__practice-head,
body.home-page .class-showcase-card__practice-summary-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.8rem;
    margin-bottom: 0.85rem;
}

body.home-page .class-showcase-card__practice-copy {
    display: grid;
    gap: 0.32rem;
    min-width: 0;
}

body.home-page .class-showcase-card__practice-eyebrow {
    justify-self: start;
    min-height: 1.7rem;
    padding: 0.24rem 0.62rem;
    border-radius: 999px;
    background: #fff3c9;
    color: #946f00;
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__practice-title,
body.home-page .class-showcase-card__practice-summary-head h4 {
    margin: 0;
    color: #131313;
    font-size: 1rem;
    line-height: 1.25;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.home-page .class-showcase-card__practice-count,
body.home-page .class-showcase-card__practice-summary-head span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.95rem;
    padding: 0.3rem 0.72rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.18);
    color: #8e6e00;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.home-page .class-showcase-card__practice-note,
body.home-page .class-showcase-card__practice-lead {
    margin: 0 0 0.9rem;
    color: rgba(28, 27, 27, 0.64);
    font-size: 0.86rem;
    line-height: 1.6;
}

body.home-page .class-showcase-card__practice-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

body.home-page .class-showcase-card__practice-summary-item {
    padding: 0.75rem 0.8rem;
    border-radius: 1rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    background: rgba(255, 255, 255, 0.94);
}

body.home-page .class-showcase-card__practice-summary-item strong {
    display: block;
    color: #131313;
    font-size: 1.48rem;
    line-height: 1;
    font-weight: 900;
    letter-spacing: -0.05em;
}

body.home-page .class-showcase-card__practice-summary-item span {
    display: block;
    margin-top: 0.35rem;
    color: rgba(28, 27, 27, 0.58);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__practice-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(16.6rem, 18.4rem);
    gap: 0.8rem;
    overflow-x: auto;
    padding: 0.02rem 0.05rem 0.2rem;
    scroll-snap-type: x proximity;
}

body.home-page .class-showcase-card__practice-strip {
    scrollbar-width: thin;
    scrollbar-color: rgba(64, 55, 31, 0.58) rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__practice-strip::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

body.home-page .class-showcase-card__practice-strip::-webkit-scrollbar-track {
    background: rgba(19, 19, 19, 0.08);
    border-radius: 999px;
}

body.home-page .class-showcase-card__practice-strip::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 213, 22, 0.92), rgba(90, 74, 31, 0.52));
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    background-clip: padding-box;
}

body.home-page .class-practice-card {
    --practice-accent: #8e6e00;
    scroll-snap-align: start;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 100%;
    border-radius: 1.2rem;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: rgba(255, 255, 255, 0.98);
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(19, 19, 19, 0.04);
}

body.home-page .class-practice-card.is-starters {
    --practice-accent: #b72168;
}

body.home-page .class-practice-card.is-movers {
    --practice-accent: #177e55;
}

body.home-page .class-practice-card.is-flyers {
    --practice-accent: #4f5fd8;
}

body.home-page .class-practice-card__thumb {
    aspect-ratio: 16 / 9;
    background: #f3efe6;
}

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

body.home-page .class-practice-card__body {
    display: grid;
    gap: 0.55rem;
    padding: 0.85rem 0.9rem 0.65rem;
}

body.home-page .class-practice-card__tags {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

body.home-page .class-practice-card__tag {
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: 0.2rem 0.56rem;
    border-radius: 999px;
    background: rgba(122, 94, 16, 0.12);
    color: rgba(28, 27, 27, 0.66);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.home-page .class-practice-card__tag.is-free {
    background: rgba(255, 215, 0, 0.16);
    color: #8e6e00;
}

body.home-page .class-practice-card__tag.is-assigned {
    background: rgba(19, 19, 19, 0.08);
    color: #131313;
}

body.home-page .class-practice-card__tag--muted {
    background: rgba(19, 19, 19, 0.04);
    color: rgba(28, 27, 27, 0.52);
}

body.home-page .class-practice-card__body h5 {
    margin: 0;
    color: #131313;
    font-size: 0.98rem;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: -0.02em;
}

body.home-page .class-practice-card__body p {
    margin: 0;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.8rem;
    line-height: 1.55;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.72em;
}

body.home-page .class-practice-card__meta {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
    margin-top: auto;
}

body.home-page .class-practice-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.24rem;
    padding: 0.3rem 0.58rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.12);
    color: rgba(28, 27, 27, 0.7);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.03em;
}

body.home-page .class-practice-card__meta strong {
    color: var(--practice-accent);
}

body.home-page .class-practice-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    padding: 0 0.9rem 0.9rem;
}

body.home-page .class-practice-card__duration {
    color: var(--practice-accent);
    font-size: 0.78rem;
    font-weight: 800;
    white-space: nowrap;
}

body.home-page .class-practice-card__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.55rem;
    padding: 0.58rem 0.9rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffdd42 0%, #ffc800 100%);
    color: #131313;
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: -0.01em;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(255, 200, 0, 0.16);
    white-space: nowrap;
}

body.home-page .class-practice-card__action.is-resume {
    background: #131313;
    color: #ffe381;
    box-shadow: none;
}

body.home-page .class-practice-card__action.is-locked {
    pointer-events: none;
    background: #f3ede0;
    color: rgba(28, 27, 27, 0.52);
    box-shadow: none;
}

body.home-page .class-practice-card__action:hover,
body.home-page .class-practice-card__action:focus-visible {
    transform: translateY(-1px);
}

body.home-page .class-showcase-card__practice {
    margin-top: 0.05rem;
    padding: 0.72rem 0.8rem 0.8rem;
    border-radius: 1.2rem;
    font-family: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
    order: 60;
}

body.home-page .class-showcase-card__practice-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.65rem;
    margin-bottom: 0.68rem;
}

body.home-page .class-showcase-card__practice-copy {
    display: block;
}

body.home-page .class-showcase-card__practice-eyebrow,
body.home-page .class-showcase-card__practice-note {
    display: none;
}

body.home-page .class-showcase-card__practice-title {
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    line-height: 1.1;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__practice-count {
    min-height: 1.72rem;
    padding: 0.24rem 0.62rem;
    font-size: 0.66rem;
}

body.home-page .class-showcase-card__practice-filters {
    margin-top: 0;
    margin-bottom: 0.58rem;
    padding-bottom: 0.12rem;
    gap: 0.42rem;
}

body.home-page .class-showcase-card__practice-filters .exam-category-pill {
    min-height: 36px;
    gap: 0.34rem;
    padding: 0.34rem 0.78rem;
    font-size: 0.77rem;
    font-weight: 780;
}

body.home-page .class-showcase-card__practice-filters .exam-category-pill span {
    min-width: 1.12rem;
    height: 1.12rem;
    font-size: 0.66rem;
    padding: 0 0.32rem;
}

body.home-page .class-showcase-card__practice-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    grid-auto-columns: auto;
    --practice-visible-items: 6;
    --practice-row-height: 4.9rem;
    gap: 0.55rem;
    max-height: calc((var(--practice-row-height) * var(--practice-visible-items)) + (0.55rem * (var(--practice-visible-items) - 1)));
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 0.22rem 0 0;
    scroll-snap-type: none;
}

body.home-page .class-showcase-card__practice-empty {
    margin-top: 0.72rem;
}

body.home-page .class-practice-card {
    grid-template-columns: 5.4rem minmax(0, 1fr) auto;
    grid-template-rows: none;
    align-items: center;
    min-height: var(--practice-row-height);
    gap: 0.72rem;
    padding: 0.76rem 0.84rem;
    border-radius: 1rem;
    box-shadow: none;
    font-family: inherit;
}

body.home-page .class-practice-card__thumb {
    display: block;
    width: 5.4rem;
    aspect-ratio: 16 / 9;
    height: auto;
    border-radius: 0.82rem;
    overflow: hidden;
    background: #f3efe6;
}

body.home-page .class-practice-card__body {
    display: grid;
    gap: 0.34rem;
    padding: 0;
    min-width: 0;
}

body.home-page .class-practice-card__body p {
    display: none;
}

body.home-page .class-practice-card__body h5 {
    font-size: 0.95rem;
    line-height: 1.2;
}

body.home-page .class-practice-card__meta {
    gap: 0.38rem;
}

body.home-page .class-practice-card__meta span {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(28, 27, 27, 0.68);
    font-size: 0.7rem;
}

body.home-page .class-practice-card__footer {
    display: inline-flex;
    align-items: center;
    gap: 0.72rem;
    padding: 0;
}

body.home-page .class-practice-card__duration {
    font-size: 0.74rem;
    color: rgba(28, 27, 27, 0.68);
}

body.home-page .class-practice-card__action {
    min-height: 2rem;
    min-width: 5.9rem;
    padding: 0.42rem 0.78rem;
    font-size: 0.74rem;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    font-family: inherit;
    box-shadow: none;
}

@media (max-width: 760px) {
    body.home-page .class-showcase-card__practice-strip {
        gap: 0.5rem;
    }

    body.home-page .class-practice-card {
        grid-template-columns: 4.8rem minmax(0, 1fr);
        align-items: start;
    }

    body.home-page .class-practice-card__thumb {
        width: 4.8rem;
        height: auto;
        border-radius: 0.72rem;
    }

    body.home-page .class-practice-card__footer {
        grid-column: 1 / -1;
        justify-content: flex-end;
        padding-left: 5.52rem;
    }
}

body.home-page .class-showcase-card__stats,
body.home-page .class-showcase-card__footer {
    display: none !important;
}

body.home-page .class-showcase-card__todo.class-todo-home {
    margin-top: 0.15rem;
    padding: 1rem 1.05rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    background: linear-gradient(180deg, #fffdfa 0%, #f8f4ec 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body.home-page .class-showcase-card__todo-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
    margin-bottom: 0.85rem;
}

body.home-page .class-showcase-card__todo .class-todo-home__title {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.2;
    letter-spacing: -0.02em;
    font-weight: 900;
    color: #131313;
}

body.home-page .class-showcase-card__todo .class-todo-home__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    background: rgba(255, 215, 0, 0.18);
    color: #8e6e00;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.home-page .class-showcase-card__todo .class-todo-home__status {
    margin: 0 0 0.9rem;
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: 3.4rem;
    padding: 0.92rem 1.15rem 0.92rem 3.95rem;
    border-radius: 1.22rem;
    border: 1px solid rgba(255, 215, 0, 0.26);
    background:
        radial-gradient(circle at 92% 24%, rgba(255, 215, 0, 0.22), rgba(255, 215, 0, 0) 28%),
        linear-gradient(135deg, rgba(255, 252, 242, 0.98), rgba(255, 245, 205, 0.98));
    box-shadow:
        0 16px 28px rgba(255, 208, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
    color: #2d2509;
    font-size: 0.88rem;
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: -0.01em;
}

body.home-page .class-showcase-card__todo .class-todo-home__status::before {
    content: "\2726";
    position: absolute;
    left: 1rem;
    top: 50%;
    width: 2.15rem;
    height: 2.15rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transform: translateY(-50%);
    background: linear-gradient(145deg, #efc338 0%, #cf9600 100%);
    box-shadow: 0 10px 18px rgba(212, 154, 0, 0.18);
    color: #5a4200;
    font-size: 0.95rem;
    line-height: 1;
}

body.home-page .class-showcase-card__todo .class-todo-home__status::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
    pointer-events: none;
}

body.home-page .class-showcase-card__todo .class-todo-home__status[data-tone='success'] {
    border-color: rgba(255, 215, 0, 0.28);
    background:
        radial-gradient(circle at 92% 24%, rgba(255, 215, 0, 0.28), rgba(255, 215, 0, 0) 30%),
        linear-gradient(135deg, rgba(255, 251, 235, 0.99), rgba(233, 248, 218, 0.99));
    box-shadow:
        0 18px 34px rgba(255, 208, 0, 0.14),
        0 10px 22px rgba(72, 140, 52, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.88);
    color: #20310d;
}

body.home-page .class-showcase-card__todo .class-todo-home__status[data-tone='success']::before {
    content: "\2713";
    color: #ffe16d;
}

body.home-page .class-showcase-card__todo .class-todo-home__status[data-tone='error'] {
    border-color: rgba(185, 64, 56, 0.32);
    background:
        radial-gradient(circle at 92% 24%, rgba(255, 183, 168, 0.26), rgba(255, 183, 168, 0) 30%),
        linear-gradient(135deg, rgba(255, 247, 244, 0.98), rgba(255, 228, 222, 0.98));
    color: #9e2f27;
    box-shadow:
        0 16px 28px rgba(208, 88, 76, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.84);
}

body.home-page .class-showcase-card__todo .class-todo-home__status[data-tone='error']::before {
    content: "!";
    color: #ffd8cf;
}

body.home-page .class-showcase-card__todo-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr);
    gap: 0.9rem;
}

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

body.home-page .class-showcase-card__todo .class-todo-home__group--completed {
    background: rgba(248, 244, 236, 0.96);
}

body.home-page .class-showcase-card__todo .class-todo-home__group-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

body.home-page .class-showcase-card__todo .class-todo-home__group-head h5 {
    margin: 0;
    color: rgba(28, 27, 27, 0.58);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__todo .class-todo-home__group-count {
    min-width: 1.9rem;
    min-height: 1.9rem;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(19, 19, 19, 0.08);
    color: #131313;
    font-size: 0.78rem;
    font-weight: 900;
}

body.home-page .class-showcase-card__todo .class-todo-home__empty {
    margin: 0;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.83rem;
    line-height: 1.55;
}

body.home-page .class-showcase-card__todo .class-todo-home__list {
    display: grid;
    gap: 0.7rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.home-page .class-todo-home__list,
body.home-page .class-showcase-card__todo .class-todo-home__list,
body.home-page .class-notes-scroll,
body.home-page .class-sticker-book__scroll {
    scrollbar-width: thin;
    scrollbar-color: rgba(64, 55, 31, 0.58) rgba(19, 19, 19, 0.08);
}

body.home-page .class-todo-home__list::-webkit-scrollbar,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar,
body.home-page .class-notes-scroll::-webkit-scrollbar,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

body.home-page .class-todo-home__list::-webkit-scrollbar-track,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-track,
body.home-page .class-notes-scroll::-webkit-scrollbar-track,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-track {
    background: rgba(19, 19, 19, 0.08);
    border-radius: 999px;
}

body.home-page .class-todo-home__list::-webkit-scrollbar-thumb,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-thumb,
body.home-page .class-notes-scroll::-webkit-scrollbar-thumb,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, rgba(255, 213, 22, 0.92), rgba(90, 74, 31, 0.52));
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.62);
    background-clip: padding-box;
}

body.home-page .class-todo-home__list::-webkit-scrollbar-thumb:hover,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-thumb:hover,
body.home-page .class-notes-scroll::-webkit-scrollbar-thumb:hover,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(255, 218, 56, 0.96), rgba(66, 54, 24, 0.64));
}

body.home-page .class-todo-home__list::-webkit-scrollbar-button,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-button,
body.home-page .class-notes-scroll::-webkit-scrollbar-button,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-button {
    width: 0;
    height: 0;
    display: none;
}

body.home-page .class-todo-home__list::-webkit-scrollbar-corner,
body.home-page .class-showcase-card__todo .class-todo-home__list::-webkit-scrollbar-corner,
body.home-page .class-notes-scroll::-webkit-scrollbar-corner,
body.home-page .class-sticker-book__scroll::-webkit-scrollbar-corner {
    background: transparent;
}

body.home-page .class-showcase-card__todo .class-todo-home__item {
    width: 100%;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    padding: 0.75rem 0.8rem;
    border-radius: 1rem;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: #fffdfa;
    box-shadow: none;
}

body.home-page .class-showcase-card__todo .class-todo-home__item:hover,
body.home-page .class-showcase-card__todo .class-todo-home__item:focus-visible {
    transform: translateY(-1px);
    box-shadow: none !important;
}

body.home-page .class-todo-home__item:hover,
body.home-page .class-todo-home__item:focus-visible,
body.home-page .class-showcase-card__leaderboard-item:hover,
body.home-page .class-showcase-card__leaderboard-item:focus-visible,
body.home-page .class-notes-list li:hover,
body.home-page .class-notes-list li:focus-within {
    box-shadow: none !important;
}

body.home-page .class-showcase-card__todo .class-todo-home__item.is-completed {
    background: #f4f1e8;
    border-color: rgba(19, 19, 19, 0.05);
}

body.home-page .class-showcase-card__todo .class-todo-home__check {
    width: 2.3rem;
    min-width: 2.3rem;
    max-width: 2.3rem;
    height: 2.3rem;
    flex-basis: 2.3rem;
    border-radius: 50%;
    background: rgba(255, 215, 0, 0.16);
    border: 1px solid rgba(255, 200, 0, 0.18);
}

body.home-page .class-showcase-card__todo .class-todo-home__item.is-completed .class-todo-home__check {
    background: rgba(19, 19, 19, 0.08);
    border-color: rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__todo .class-todo-home__item-title {
    color: #131313;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.35;
}

body.home-page .class-showcase-card__todo .class-todo-home__item-date {
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.78rem;
    line-height: 1.45;
}

body.home-page .class-showcase-card__notes.class-notes-panel {
    margin-top: 0.1rem;
    padding: 1rem 1.05rem !important;
    border-radius: 1.45rem !important;
    border: 1px solid rgba(19, 19, 19, 0.07) !important;
    background: linear-gradient(180deg, #fffdf8 0%, #fbf7ef 100%) !important;
    box-shadow:
        0 14px 28px rgba(19, 19, 19, 0.05),
        inset 0 1px 0 rgba(255, 255, 255, 0.88) !important;
    order: 50;
}

body.home-page .class-showcase-card__notes-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.55rem 0.8rem;
    margin-bottom: 0.72rem;
}

body.home-page .class-showcase-card__notes-headline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    min-width: 0;
}

body.home-page .class-showcase-card__notes .class-notes-title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
    color: #131313;
}

body.home-page .class-showcase-card__notes-count {
    display: inline-flex;
    align-items: center;
    min-height: 1.68rem;
    padding: 0.18rem 0.58rem;
    border-radius: 999px;
    background: #fff1bf;
    color: #8e6e00;
    white-space: nowrap;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__notes .class-notes-filters {
    display: flex;
    align-items: center;
    gap: 0.28rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

body.home-page .class-showcase-card__notes .class-notes-scroll {
    max-height: 17rem;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 0.12rem;
}

body.home-page .class-showcase-card__notes .class-notes-scroll--report-book {
    max-height: 34rem;
    padding-right: 0.2rem;
}

body.home-page .class-showcase-card__notes .class-notes-list {
    gap: 0.7rem;
    align-content: start;
}

body.home-page .class-showcase-card__notes .class-notes-list li {
    gap: 0.68rem;
    padding: 0.82rem 0.88rem;
    border-radius: 1.05rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: none;
}

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

body.home-page .class-showcase-card__notes .class-notes-content p {
    margin: 0;
    line-height: 1.52;
}

body.home-page .class-showcase-card__notes .class-notes-content a {
    color: #7b6200;
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

body.home-page .class-showcase-card__notes .class-notes-empty {
    margin: 0;
    color: rgba(28, 27, 27, 0.62);
    line-height: 1.55;
}

body.home-page .class-showcase-card__notes .class-notes-marker {
    display: none;
}

body.home-page .class-showcase-card__notes .class-note-tag {
    justify-self: start;
    min-height: 1.55rem;
    padding-inline: 0.62rem;
    background: #fff3c9 !important;
    font-size: 0.72rem;
    font-weight: 700;
}

body.home-page .class-showcase-card__notes .class-note-tag.is-member {
    background: #fff0b1 !important;
}

body.home-page .class-showcase-card__notes .class-notes-list time {
    margin-top: 0.02rem;
    font-size: 0.72rem;
    letter-spacing: 0.05em;
}

body.home-page .class-showcase-card__notes .class-notes-filter-btn {
    min-height: 1.85rem;
    padding: 0.3rem 0.68rem;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.88) !important;
    border: 1px solid rgba(19, 19, 19, 0.07) !important;
    color: rgba(28, 27, 27, 0.72) !important;
    font-size: 0.72rem;
    font-weight: 700;
}

body.home-page .class-showcase-card__notes .class-notes-filter-btn.is-active {
    background: linear-gradient(145deg, #ebbf2c 0%, #d39a00 100%) !important;
    border-color: rgba(211, 154, 0, 0.36) !important;
    color: #4d3700 !important;
    box-shadow: 0 10px 20px rgba(211, 154, 0, 0.16) !important;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-top: 0.15rem;
    padding: 0.38rem 0.62rem;
    border-radius: 999px;
    background: #fff7df;
    width: fit-content;
    max-width: 100%;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift__thumb {
    width: 1.95rem;
    height: 1.95rem;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid rgba(255, 215, 0, 0.22);
    overflow: hidden;
    flex-shrink: 0;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift__thumb img {
    width: auto;
    height: 72%;
    max-width: 72%;
    object-fit: contain;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift__fallback {
    font-size: 0.7rem;
    font-weight: 700;
    color: #131313;
}

body.home-page .class-showcase-card__notes .class-note-sticker-gift__label {
    min-width: 0;
    color: rgba(28, 27, 27, 0.72);
    font-size: 0.78rem;
    line-height: 1.35;
}

body.home-page .class-showcase-card__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);
}

body.home-page .class-showcase-card__notes .class-note-tag--report-book {
    background: #ffe6b3 !important;
    color: #7a5200 !important;
}

body.home-page .class-showcase-card__notes .class-report-book-list {
    display: grid;
    gap: 0.82rem;
}

body.home-page .class-showcase-card__notes .class-report-book-card {
    display: grid;
    gap: 0.92rem;
    padding: 0.95rem 1rem;
    border-radius: 1.15rem;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background:
        radial-gradient(circle at top right, rgba(255, 232, 168, 0.35), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 249, 235, 0.96) 100%);
    box-shadow: 0 12px 26px rgba(19, 19, 19, 0.05);
}

body.home-page .class-showcase-card__notes .class-report-book-card__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem 0.8rem;
    align-items: start;
}

body.home-page .class-showcase-card__notes .class-report-book-card__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.6rem;
    min-width: 0;
}

body.home-page .class-showcase-card__notes .class-report-book-card__meta time {
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__notes .class-report-book-card__badges {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.42rem;
}

body.home-page .class-showcase-card__notes .class-report-book-card__badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.58rem;
    padding: 0.2rem 0.58rem;
    border-radius: 999px;
    background: rgba(19, 19, 19, 0.05);
    color: rgba(28, 27, 27, 0.7);
    font-size: 0.7rem;
    font-weight: 700;
}

body.home-page .class-showcase-card__notes .class-report-book-card__badge--accent {
    background: #fff2c7;
    color: #8b6300;
}

body.home-page .class-showcase-card__notes .class-report-book-card__body {
    display: grid;
    gap: 0.78rem;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill {
    display: grid;
    gap: 0.55rem;
    padding: 0.82rem 0.88rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(19, 19, 19, 0.05);
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill.has-score {
    padding-right: 0.88rem;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill-head {
    display: block;
    min-width: 0;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    min-width: 0;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill-head h5 {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.3;
    color: #2b2311;
}

body.home-page .class-showcase-card__notes .class-report-book-card__score {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    order: -1;
    flex-shrink: 0;
    width: max-content;
    min-height: 2rem;
    padding: 0.18rem 0.82rem;
    border-radius: 0.9rem;
    border: 1px solid rgba(214, 176, 84, 0.42);
    background: linear-gradient(180deg, #fff3bf 0%, #ffe07a 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
    color: #6c4a00;
    font-size: 0.94rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.01em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill.has-score .class-report-book-card__score {
    position: static;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 1.72rem;
    padding: 0.16rem 0.6rem;
    border-radius: 999px;
    background: #fff1c6;
    color: #7a5200;
    font-size: 0.72rem;
    font-weight: 700;
    text-decoration: none;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-link:hover,
body.home-page .class-showcase-card__notes .class-report-book-card__video-link:focus-visible {
    background: #ffe5a1;
    color: #614100;
    outline: none;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview {
    display: grid;
    grid-template-columns: minmax(0, 10.5rem) minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    padding: 0.72rem;
    border-radius: 1rem;
    border: 1px solid rgba(214, 156, 0, 0.18);
    background: linear-gradient(180deg, rgba(255, 247, 218, 0.88), rgba(255, 255, 255, 0.96));
    color: inherit;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview:hover,
body.home-page .class-showcase-card__notes .class-report-book-card__video-preview:focus-visible {
    border-color: rgba(214, 156, 0, 0.32);
    box-shadow: 0 12px 26px rgba(214, 156, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    outline: none;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-media {
    position: relative;
    display: block;
    min-width: 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 0.9rem;
    background: linear-gradient(135deg, #ffe7a8 0%, #fff7de 100%);
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-media::after {
    content: "Video";
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: 0.12rem 0.48rem;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.72);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0.8rem;
    color: #7a5200;
    font-size: 0.88rem;
    font-weight: 800;
    text-align: center;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-title {
    font-size: 0.84rem;
    font-weight: 800;
    color: #2b2311;
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-provider {
    font-size: 0.75rem;
    color: rgba(43, 35, 17, 0.68);
}

body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-action {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: 0.18rem 0.66rem;
    border-radius: 999px;
    background: #fff1c6;
    color: #7a5200;
    font-size: 0.72rem;
    font-weight: 800;
    white-space: nowrap;
}

body.class-report-book-video-popup-open {
    overflow: hidden;
}

body.home-page .class-report-book-video-popup {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.2rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
}

body.home-page .class-report-book-video-popup.is-visible {
    opacity: 1;
    pointer-events: auto;
}

body.home-page .class-report-book-video-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(21, 15, 3, 0.56);
    backdrop-filter: blur(8px);
}

body.home-page .class-report-book-video-popup__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 58rem);
    max-height: calc(100vh - 2.4rem);
    overflow: auto;
    display: grid;
    gap: 1rem;
    padding: 1.15rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(214, 156, 0, 0.18);
    background: linear-gradient(180deg, rgba(255, 249, 232, 0.98), rgba(255, 255, 255, 0.98));
    box-shadow: 0 28px 70px rgba(54, 38, 0, 0.24);
}

body.home-page .class-report-book-video-popup__close {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    width: 2.4rem;
    height: 2.4rem;
    border: 0;
    border-radius: 999px;
    background: rgba(122, 82, 0, 0.12);
    color: #5d4100;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

body.home-page .class-report-book-video-popup__close:hover,
body.home-page .class-report-book-video-popup__close:focus-visible {
    background: rgba(122, 82, 0, 0.18);
    outline: none;
}

body.home-page .class-report-book-video-popup__copy {
    display: grid;
    gap: 0.25rem;
    padding-right: 3.25rem;
}

body.home-page .class-report-book-video-popup__eyebrow {
    margin: 0;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7a5200;
}

body.home-page .class-report-book-video-popup__title {
    margin: 0;
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    font-weight: 900;
    color: #2b2311;
}

body.home-page .class-report-book-video-popup__provider {
    margin: 0;
    color: rgba(43, 35, 17, 0.68);
    font-size: 0.85rem;
}

body.home-page .class-report-book-video-popup__frame-wrap {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 1.15rem;
    background: #120d03;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

body.home-page .class-report-book-video-popup__frame {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    background: #120d03;
}

body.home-page .class-report-book-video-popup__external {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 2.1rem;
    padding: 0.3rem 0.9rem;
    border-radius: 999px;
    background: #fff1c6;
    color: #7a5200;
    font-size: 0.74rem;
    font-weight: 800;
    text-decoration: none;
}

body.home-page .class-report-book-video-popup__external:hover,
body.home-page .class-report-book-video-popup__external:focus-visible {
    background: #ffe5a1;
    color: #614100;
    outline: none;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill-content {
    color: rgba(28, 27, 27, 0.78);
    line-height: 1.58;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill-content > :first-child {
    margin-top: 0;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill-content > :last-child {
    margin-bottom: 0;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill-content ul,
body.home-page .class-showcase-card__notes .class-report-book-card__skill-content ol {
    margin: 0.2rem 0 0;
    padding-left: 1.25rem;
}

body.home-page .class-showcase-card__notes .class-report-book-card__skill-content li + li {
    margin-top: 0.24rem;
}

body.home-page .class-showcase-card__notes .class-report-book-card__comment {
    display: grid;
    gap: 0.35rem;
    padding: 0.82rem 0.88rem;
    border-radius: 1rem;
    background: rgba(255, 243, 212, 0.72);
    border: 1px dashed rgba(211, 154, 0, 0.24);
}

body.home-page .class-showcase-card__notes .class-report-book-card__comment-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #7a5200;
}

body.home-page .class-showcase-card__notes .class-report-book-card__comment p {
    margin: 0;
    color: rgba(28, 27, 27, 0.78);
    line-height: 1.58;
}

@media (max-width: 760px) {
    body.home-page .class-showcase-card__notes .class-report-book-card__video-preview {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__notes .class-report-book-card__video-preview-action {
        justify-self: start;
    }

    body.home-page .class-showcase-card__notes .class-notes-scroll--report-book {
        max-height: 26rem;
    }

    body.home-page .class-report-book-video-popup {
        padding: 0.8rem;
    }

    body.home-page .class-report-book-video-popup__dialog {
        padding: 1rem;
        border-radius: 1.2rem;
    }

    body.home-page .class-report-book-video-popup__copy {
        padding-right: 2.8rem;
    }
}

body.home-page .class-showcase-card__arena-host {
    margin-top: 0.2rem;
    min-width: 0;
}

body.home-page .class-showcase-card__arena-host.class-arena-panel-host:empty {
    display: none;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    min-height: 0;
    padding: 1.08rem 1.12rem !important;
    border-radius: 1.55rem !important;
    border: 1px solid rgba(214, 156, 0, 0.24) !important;
    background:
        radial-gradient(circle at top right, rgba(255, 224, 114, 0.34), rgba(255, 224, 114, 0) 34%),
        radial-gradient(circle at left bottom, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0) 32%),
        linear-gradient(145deg, #fffdf6 0%, #fff5d5 60%, #f8e9c2 100%) !important;
    box-shadow:
        0 20px 42px rgba(176, 126, 0, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.92),
        inset 0 0 0 1px rgba(255, 255, 255, 0.42) !important;
    color: #231704 !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel::before,
body.home-page .class-showcase-card__arena-host .class-arena-panel::after {
    content: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.95rem;
    margin-bottom: 1rem;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__head-main {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__eyebrow {
    justify-self: start;
    min-height: 1.8rem;
    padding: 0.26rem 0.76rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #fff0b5 0%, #ffd96f 100%) !important;
    color: #7a5200 !important;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: none;
    box-shadow: 0 10px 22px rgba(206, 152, 0, 0.18);
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__eyebrow::after {
    content: none;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__title,
body.home-page .class-showcase-card__arena-host .class-arena-session__title,
body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-head,
body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li,
body.home-page .class-showcase-card__arena-host .class-arena-session__tie,
body.home-page .class-showcase-card__arena-host .class-arena-session__my-rank {
    color: #131313 !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__title {
    margin: 0;
    font-size: 1.08rem;
    line-height: 1.16;
    letter-spacing: -0.02em;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__subtitle {
    margin: 0;
    max-width: 34rem;
    color: rgba(58, 39, 0, 0.68) !important;
    font-size: 0.82rem;
    line-height: 1.48;
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.32rem 0.86rem;
    border-radius: 999px;
    border: 1px solid rgba(214, 156, 0, 0.18) !important;
    background: linear-gradient(135deg, rgba(255, 241, 180, 0.98), rgba(255, 218, 111, 0.98)) !important;
    color: #6d4a00 !important;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 10px 20px rgba(206, 152, 0, 0.12);
}

body.home-page .class-showcase-card__arena-host .class-arena-panel__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 0.95rem;
}

body.home-page .class-showcase-card__arena-host .class-arena-session {
    display: grid;
    gap: 0.82rem;
    min-width: 0;
    padding: 1rem 1.02rem;
    border-radius: 1.28rem !important;
    border: 1px solid rgba(221, 170, 13, 0.24) !important;
    background:
        radial-gradient(circle at right top, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 247, 223, 0.96) 100%) !important;
    box-shadow:
        0 14px 28px rgba(186, 135, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1,
body.home-page .class-showcase-card__leaderboard-item.is-top-1:hover,
body.home-page .class-showcase-card__leaderboard-item.is-top-1:focus-visible {
    position: sticky;
    top: 0;
    z-index: 6;
    overflow: hidden;
    border-color: rgba(227, 176, 0, 0.44) !important;
    background: linear-gradient(135deg, rgba(255, 244, 196, 0.98), rgba(255, 253, 233, 0.98)) !important;
    box-shadow:
        0 14px 28px rgba(219, 170, 0, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.82) !important;
    transform: translateY(-1px);
    animation: beebeeTopLeaderGlow 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: beebeeTopLeaderSweep 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: "✦";
    position: absolute;
    top: -0.3rem;
    right: -0.16rem;
    width: 0.95rem;
    height: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff8dc;
    color: #d59a00;
    font-size: 0.56rem;
    line-height: 1;
    box-shadow: 0 6px 14px rgba(214, 159, 0, 0.16);
}

body.home-page .class-showcase-card__leaderboard-item.is-top-1 .class-showcase-card__leaderboard-score {
    background: linear-gradient(145deg, #f2c63d 0%, #ddaa0d 100%) !important;
    color: #4e3900 !important;
    border-color: rgba(221, 170, 13, 0.3) !important;
    box-shadow: 0 10px 18px rgba(219, 170, 0, 0.18) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    flex-wrap: wrap;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__status {
    display: inline-flex;
    align-items: center;
    min-height: 1.7rem;
    padding: 0.2rem 0.62rem;
    border-radius: 999px;
    background: #131313;
    color: #ffe381;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__status {
    background: #ffe16d;
    color: #131313;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__status {
    background: #fff4c8;
    color: #896900;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__time {
    color: rgba(28, 27, 27, 0.58);
    font-size: 0.74rem;
    line-height: 1.4;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.32;
    font-weight: 800;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__actions {
    min-width: 0;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter {
    border: 0 !important;
    border-radius: 1rem !important;
    background: linear-gradient(135deg, #ffe16d, #ffd200) !important;
    color: #131313 !important;
    box-shadow: 0 12px 22px rgba(255, 210, 0, 0.16) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter:hover,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter:focus-visible {
    transform: translateY(-1px);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter.is-disabled {
    background: linear-gradient(180deg, #f3ecde, #eee5d5) !important;
    color: rgba(28, 27, 27, 0.66) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown {
    background: rgba(19, 19, 19, 0.08);
    color: #131313;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-open {
    background: rgba(255, 215, 0, 0.16);
    color: #6a5200;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-warning {
    background: rgba(255, 230, 163, 0.88);
    color: #7a4d00;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-closed {
    background: rgba(19, 19, 19, 0.08);
    color: rgba(28, 27, 27, 0.68);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-stats,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-time-total {
    color: rgba(28, 27, 27, 0.66);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-time-main-value {
    color: #131313;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress {
    background: rgba(19, 19, 19, 0.08);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__my-rank {
    margin: 0;
    color: rgba(28, 27, 27, 0.68) !important;
    font-size: 0.78rem;
    line-height: 1.45;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard {
    display: grid;
    gap: 0.55rem;
    padding: 0.84rem;
    border-radius: 1rem;
    border: 1px solid rgba(224, 170, 0, 0.18);
    background: linear-gradient(180deg, rgba(255, 251, 238, 0.98), rgba(255, 242, 200, 0.94));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.74);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.55rem;
    margin: 0;
    font-size: 0.78rem;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-head span {
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.7rem;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.55rem;
    padding: 0.42rem 0.52rem;
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.74);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li.is-me {
    border-color: rgba(255, 200, 0, 0.24);
    background: rgba(255, 248, 214, 0.96);
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li strong,
body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li em {
    color: #131313;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__leaderboard-list li em {
    opacity: 0.68;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__tie {
    margin: 0;
    color: rgba(28, 27, 27, 0.56) !important;
    font-size: 0.72rem;
    line-height: 1.45;
}

body.home-page .class-showcase-card__arena-host .class-arena-session,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-open,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled {
    border-color: rgba(224, 170, 0, 0.24) !important;
    background:
        radial-gradient(circle at right top, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0) 24%),
        linear-gradient(180deg, #fffef9 0%, #fff4d9 100%) !important;
    box-shadow:
        0 14px 28px rgba(186, 135, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.84) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session::before,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled::before {
    background: linear-gradient(180deg, rgba(224, 170, 0, 0.92), rgba(255, 214, 90, 0.72)) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-closed,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-cancelled {
    border-color: rgba(24, 21, 18, 0.1) !important;
    background: linear-gradient(180deg, #faf8f2 0%, #f2ede1 100%) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-closed::before,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-cancelled::before {
    background: linear-gradient(180deg, rgba(136, 118, 74, 0.78), rgba(203, 188, 152, 0.68)) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__status,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__status,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__status {
    background: linear-gradient(135deg, #fff4c5 0%, #ffe08a 100%) !important;
    color: #7c5500 !important;
    box-shadow:
        inset 0 0 0 1px rgba(224, 170, 0, 0.14),
        0 6px 14px rgba(224, 170, 0, 0.12) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-closed .class-arena-session__status,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-cancelled .class-arena-session__status {
    background: rgba(24, 21, 18, 0.06) !important;
    color: rgba(24, 21, 18, 0.72) !important;
    box-shadow: inset 0 0 0 1px rgba(24, 21, 18, 0.08) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__time {
    color: rgba(88, 63, 8, 0.72) !important;
    font-weight: 800;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter {
    border: 1px solid rgba(183, 127, 0, 0.24) !important;
    background: linear-gradient(135deg, #8d5400 0%, #c68500 38%, #f2c12f 100%) !important;
    color: #fffdf7 !important;
    box-shadow:
        0 16px 30px rgba(183, 126, 0, 0.22),
        inset 0 1px 0 rgba(255, 244, 214, 0.28) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-open .class-arena-session__enter:not(.is-disabled) {
    background: linear-gradient(135deg, #8b4b00 0%, #d68e00 42%, #ffd449 100%) !important;
    color: #fffdf7 !important;
    border-color: rgba(224, 170, 0, 0.34) !important;
    box-shadow:
        0 18px 34px rgba(183, 126, 0, 0.26),
        0 0 0 1px rgba(255, 231, 160, 0.18),
        inset 0 1px 0 rgba(255, 244, 214, 0.34) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter:hover,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter:focus-visible,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter:hover,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter:focus-visible {
    transform: translateY(-2px);
    box-shadow:
        0 20px 36px rgba(183, 126, 0, 0.28),
        inset 0 1px 0 rgba(255, 244, 214, 0.34) !important;
    filter: saturate(1.03) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter.is-disabled,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-cancelled .class-arena-session__enter.is-disabled {
    border-color: rgba(224, 170, 0, 0.14) !important;
    background: linear-gradient(180deg, #f8eed9 0%, #ecddbd 100%) !important;
    color: rgba(95, 71, 17, 0.92) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.74),
        inset 0 -1px 0 rgba(183, 127, 0, 0.08) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-label,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-label {
    color: inherit !important;
    text-shadow: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-countdown {
    background: rgba(145, 104, 8, 0.08) !important;
    color: rgba(101, 69, 0, 0.92) !important;
    box-shadow: inset 0 0 0 1px rgba(183, 127, 0, 0.12) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-open,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-warning {
    background: rgba(145, 104, 8, 0.1) !important;
    color: rgba(101, 69, 0, 0.96) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-countdown.is-closed {
    background: rgba(24, 21, 18, 0.06) !important;
    color: rgba(24, 21, 18, 0.66) !important;
    box-shadow: inset 0 0 0 1px rgba(24, 21, 18, 0.06) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-stats,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-time-total,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-stats,
body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-time-total {
    color: rgba(108, 75, 10, 0.86) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-time-main-value {
    color: #ffffff !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-time-main-value {
    color: rgba(88, 58, 0, 0.96) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-time-meta {
    color: rgba(108, 75, 10, 0.82) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress {
    background: rgba(24, 21, 18, 0.08) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session.is-scheduled .class-arena-session__enter.is-disabled .class-arena-session__enter-progress {
    background: rgba(145, 104, 8, 0.08) !important;
    box-shadow: inset 0 0 0 1px rgba(183, 127, 0, 0.1) !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-open,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-done,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-warning {
    background: linear-gradient(90deg, #ffd65a 0%, #e0aa00 100%) !important;
    box-shadow: none !important;
}

body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-closed,
body.home-page .class-showcase-card__arena-host .class-arena-session__enter-progress-fill.is-scheduled {
    background: linear-gradient(90deg, rgba(224, 170, 0, 0.32) 0%, rgba(255, 241, 188, 0.82) 100%) !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    body.home-page .class-section .section-text h2 {
        white-space: normal;
    }

    body.home-page .class-showcase-card__notes-head {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__notes-headline {
        flex-wrap: wrap;
    }

    body.home-page .class-showcase-card__notes .class-notes-tabs {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__notes .class-report-book-card__head {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__notes .class-report-book-card__badges {
        justify-content: flex-start;
    }

    body.home-page .class-showcase-card__notes .class-report-book-card__skill-head {
        align-items: flex-start;
    }

    body.home-page .class-showcase-card__todo-head,
    body.home-page .class-showcase-card__todo-layout {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__todo-head {
        display: grid;
    }

    body.home-page .class-showcase-card__todo .class-todo-home__count {
        justify-self: start;
    }

    body.home-page .class-showcase-card__arena-host .class-arena-panel__head {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__arena-host .class-arena-panel__count {
        justify-self: start;
    }

    body.home-page .class-showcase-card__arena-host .class-arena-panel__list {
        grid-template-columns: 1fr;
    }
}

body.home-page .class-showcase-card__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
}

body.home-page .class-showcase-card__stat {
    margin: 0;
    padding: 0.95rem 1rem;
    border-radius: 1.3rem;
    background: #fcfbf8;
    border: 1px solid rgba(19, 19, 19, 0.06);
}

body.home-page .class-showcase-card__stat dt {
    margin: 0;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__stat dd {
    margin: 0.35rem 0 0;
    color: #131313;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: 900;
}

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

body.home-page .class-showcase-card__meta {
    padding: 0.85rem 0.95rem;
    border-radius: 1.2rem;
    background: linear-gradient(180deg, #ffffff, #f7f3eb);
    border: 1px solid rgba(19, 19, 19, 0.06);
}

body.home-page .class-showcase-card__meta span {
    display: block;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

body.home-page .class-showcase-card__meta strong {
    display: block;
    margin-top: 0.32rem;
    color: #131313;
    font-size: 0.98rem;
    line-height: 1.35;
    font-weight: 800;
}

body.home-page .class-showcase-card.is-restricted .class-showcase-card__media::after {
    background: linear-gradient(180deg, rgba(19, 19, 19, 0), rgba(19, 19, 19, 0.34));
}

body.home-page .class-showcase-card.is-restricted .class-showcase-card__tone {
    background: rgba(19, 19, 19, 0.08);
    color: rgba(28, 27, 27, 0.62);
}

body.home-page .class-grid[data-class-switcher-grid] {
    gap: 1rem !important;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card {
    order: var(--class-order, var(--class-order-index, 2));
    transition:
        grid-template-columns 320ms cubic-bezier(0.22, 1, 0.36, 1),
        gap 320ms cubic-bezier(0.22, 1, 0.36, 1),
        padding 320ms cubic-bezier(0.22, 1, 0.36, 1),
        border-radius 320ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1),
        border-color 220ms ease;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed {
    grid-template-columns: minmax(12.5rem, 16.5rem) minmax(0, 1fr);
    gap: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 1.6rem;
    box-shadow: 0 14px 28px rgba(19, 19, 19, 0.05);
    cursor: pointer;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed:hover {
    border-color: rgba(224, 170, 0, 0.22);
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__lead {
    gap: 0;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__media {
    height: 100%;
    min-height: 0;
    max-height: 8.8rem;
    border-radius: 1.25rem;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__leaderboard,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__practice,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__arena-host,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__todo,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__notes,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__stats,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__footer {
    display: none;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__content {
    justify-content: center;
    gap: 0.72rem;
    padding: 0;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__eyebrow-row {
    display: none;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__title {
    font-size: clamp(1.12rem, 1.55vw, 1.42rem);
    line-height: 1.08;
    letter-spacing: -0.03em;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions {
    max-width: 36rem;
    grid-template-columns: minmax(0, 1.55fr) minmax(10rem, 0.75fr);
    gap: 0.72rem;
    align-items: center;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed {
    grid-template-columns: minmax(0, 1.38fr) minmax(12.25rem, 0.85fr);
    gap: 0.72rem;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__button,
body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__attendance-btn {
    min-height: 3rem;
    padding: 0.78rem 0.95rem;
    border-radius: 1rem;
    font-size: 0.92rem;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__attendance-meta {
    display: none;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn {
    width: 100%;
    min-width: 100%;
    max-width: none;
    padding-inline: 0.95rem;
    border-radius: 1rem !important;
    font-size: 0.84rem;
    color: #5b4300;
    background: linear-gradient(145deg, #fff2b1 0%, #f2d56b 100%) !important;
    border: 1px solid rgba(210, 154, 0, 0.22) !important;
    box-shadow: 0 10px 18px rgba(210, 154, 0, 0.16) !important;
}

body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn::before {
    content: none;
}

@media (max-width: 900px) {
    body.home-page .class-section__class-switcher {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 0.18rem;
        scrollbar-width: thin;
    }

    body.home-page .class-section__class-tab {
        flex: 0 0 15rem;
        grid-template-columns: 3.55rem minmax(0, 1fr);
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed {
        grid-template-columns: 7rem minmax(0, 1fr);
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__media {
        max-height: 5rem;
    }
}

@media (max-width: 640px) {
    body.home-page .class-section__class-switcher {
        margin-bottom: 0.95rem;
        gap: 0.62rem;
    }

    body.home-page .class-section__class-tab {
        flex: 0 0 13.6rem;
        grid-template-columns: 3.1rem minmax(0, 1fr);
        gap: 0.62rem;
        padding: 0.56rem 0.68rem;
    }

    body.home-page .class-section__class-tab-thumb {
        width: 3.1rem;
        border-radius: 0.86rem;
    }

    body.home-page .class-section__class-tab-title {
        font-size: 0.9rem;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed {
        grid-template-columns: 6.15rem minmax(0, 1fr);
        gap: 0.78rem;
        padding: 0.78rem 0.82rem;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__media {
        max-height: 4.25rem;
        border-radius: 1rem;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions,
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__actions.is-attendance-completed {
        max-width: none;
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__button,
    body.home-page .class-grid[data-class-switcher-grid] .class-showcase-card.is-collapsed .class-showcase-card__attendance-btn {
        min-height: 2.7rem;
        font-size: 0.88rem;
    }
}

@media (max-width: 1180px) {
    body.home-page .class-grid,
    body.home-page .class-grid.class-grid--desktop-1,
    body.home-page .class-grid.class-grid--desktop-2,
    body.home-page .class-grid.class-grid--desktop-3 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body.home-page .class-showcase-card {
        grid-template-columns: 1fr;
        gap: 0.9rem;
        padding: 0.85rem;
        border-radius: 1.5rem;
    }

    body.home-page .class-showcase-card__lead {
        gap: 0.8rem;
    }

    body.home-page .class-showcase-card:not(.is-collapsed) .class-showcase-card__lead {
        display: contents;
    }

    body.home-page .class-showcase-card:not(.is-collapsed) .class-showcase-card__media {
        order: 1;
        aspect-ratio: 16 / 9;
    }

    body.home-page .class-showcase-card:not(.is-collapsed) .class-showcase-card__content {
        order: 2;
        padding: 0.15rem 0 0;
    }

    body.home-page .class-showcase-card:not(.is-collapsed) .class-showcase-card__leaderboard {
        order: 3;
    }

    body.home-page .class-showcase-card__actions,
    body.home-page .class-showcase-card__stats,
    body.home-page .class-showcase-card__footer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    body.home-page .class-showcase-card__actions,
    body.home-page .class-showcase-card__actions.is-attendance-completed,
    body.home-page .class-showcase-card__stats,
    body.home-page .class-showcase-card__footer {
        grid-template-columns: 1fr;
    }

    body.home-page .class-showcase-card__actions.is-attendance-completed {
        gap: 0.8rem;
    }

    body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn {
        width: 100%;
        min-width: 100%;
        max-width: none;
        padding-inline: 1rem;
        font-size: 0.96rem;
        color: inherit;
        border-radius: 1rem !important;
    }

    body.home-page .class-showcase-card__actions.is-attendance-completed .class-showcase-card__attendance-btn::before {
        content: none;
    }
}

@media (min-width: 901px) {
    body .main-nav:has(a:only-child) {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0;
        min-width: 11rem;
    }

    body .main-nav:has(a:only-child) a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.9rem;
        padding: 0.7rem 1.35rem !important;
        border-radius: 999px !important;
        color: var(--bee-ink) !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body .main-nav:has(a:only-child) a::after {
        content: none !important;
    }

    body .main-nav:has(a:only-child) a:hover,
    body .main-nav:has(a:only-child) a:focus-visible {
        background: rgba(255, 215, 0, 0.18) !important;
        color: var(--bee-ink) !important;
    }
}

body.home-page .class-grid.class-grid--guest-showcase {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.35rem !important;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted {
    grid-template-columns: 1fr;
    gap: 0.95rem;
    min-height: 100%;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__lead {
    gap: 0;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media {
    aspect-ratio: 16 / 9;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__content {
    padding: 0 0.05rem 0.05rem;
    gap: 0.85rem;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
    font-size: clamp(1.06rem, 1.32vw, 1.38rem);
    line-height: 1.12;
    letter-spacing: -0.025em;
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: break-word;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    min-height: 2.24em;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions {
    grid-template-columns: 1fr;
    gap: 0;
}

@media (max-width: 1180px) {
    body.home-page .class-grid.class-grid--guest-showcase {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    body.home-page .class-grid.class-grid--guest-showcase {
        grid-template-columns: 1fr !important;
    }
}

/* Course page redesign: white-first layout with gold active states */
body.course-page {
    --course-bg: #fcfbf7;
    --course-surface: #ffffff;
    --course-surface-alt: #fffdf5;
    --course-border: rgba(23, 23, 23, 0.08);
    --course-border-strong: rgba(233, 196, 0, 0.42);
    --course-ink: #161616;
    --course-muted: rgba(22, 22, 22, 0.62);
    --course-accent: #ffd43b;
    --course-accent-strong: #efbc00;
    --course-accent-soft: #fff4bf;
    --course-accent-wash: #fff9e5;
    --course-shadow: 0 20px 48px rgba(18, 18, 18, 0.06);
    background: linear-gradient(180deg, #fffdfa 0%, #ffffff 32%, #fdfbf6 100%) !important;
    color: var(--course-ink) !important;
}

body.course-page::before,
body.course-page::after {
    content: none !important;
    display: none !important;
}

body.course-page .container {
    max-width: min(1320px, calc(100% - 2.5rem));
}

body.course-page .site-header.container,
body.course-page .site-header.exam-page-header.container,
body.course-page .site-header.exam-page-header {
    transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
}

body.course-page.course-review-overlay-open .site-header.container,
body.course-page.course-review-overlay-open .site-header.exam-page-header.container,
body.course-page.course-review-overlay-open .site-header.exam-page-header {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-1rem);
}

body.course-page .header-actions {
    position: relative;
    z-index: 1221;
}

body.course-page .user-menu {
    z-index: 1222;
}

body.course-page .user-menu.is-open {
    z-index: 1224;
}

body.course-page .course-btn.primary,
body.course-page .course-todo-trigger,
body.course-page .course-outline-fab {
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
    border: 1px solid rgba(239, 188, 0, 0.22) !important;
    box-shadow: 0 14px 30px rgba(239, 188, 0, 0.2) !important;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] {
    position: fixed !important;
    top: clamp(0.8rem, 1.8vw, 1.2rem) !important;
    right: clamp(0.8rem, 2vw, 1.4rem) !important;
    bottom: auto !important;
    z-index: 1228 !important;
    display: inline-flex !important;
    align-items: center !important;
    background: linear-gradient(135deg, #ffefb0 0%, #ffd95a 55%, #efc200 100%) !important;
    color: #2c2200 !important;
    border: 1px solid rgba(233, 196, 0, 0.6) !important;
    box-shadow: 0 14px 30px rgba(233, 196, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.48) !important;
    min-height: 3.15rem !important;
    padding: 0.72rem 1.1rem !important;
    border-radius: 1.18rem !important;
    gap: 0.72rem;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"]:hover,
body.course-page .course-outline-fab[data-desktop-todo-mode="1"]:focus-visible {
    background: linear-gradient(135deg, #fff3c6 0%, #ffe176 56%, #f4ca1b 100%) !important;
    color: #251d00 !important;
    box-shadow: 0 18px 34px rgba(233, 196, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.56) !important;
    transform: translateY(-2px) scale(1.02);
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] .course-outline-fab__icon {
    display: inline-flex;
    color: #6a5200;
    width: 1.34rem;
    height: 1.34rem;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] .course-outline-fab__label {
    color: rgba(44, 34, 0, 0.92);
    font-weight: 800;
    font-size: 1.06rem;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] .course-outline-fab__count {
    background: rgba(255, 255, 255, 0.62) !important;
    color: #785b00 !important;
    border: 1px solid rgba(233, 196, 0, 0.46) !important;
    font-weight: 900;
    box-shadow: none !important;
    min-height: 2rem;
    padding: 0.18rem 0.56rem !important;
    min-width: 2.2rem !important;
    font-size: 1rem;
}

body.course-page .course-outline-fab[data-desktop-todo-mode="1"] .course-outline-fab__count strong {
    color: #654a00 !important;
}

.course-outline-fab__icon {
    display: none;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0;
}

.course-outline-fab__icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

body.course-page .course-btn.primary:hover,
body.course-page .course-btn.primary:focus-visible,
body.course-page .course-todo-trigger:hover,
body.course-page .course-todo-trigger:focus-visible,
body.course-page .course-outline-fab:hover,
body.course-page .course-outline-fab:focus-visible {
    background: #ffdf57 !important;
    color: var(--course-ink) !important;
    box-shadow: 0 18px 32px rgba(239, 188, 0, 0.24) !important;
}

body.course-page .course-btn,
body.course-page .course-back {
    min-height: 3.35rem;
    padding: 0.78rem 1.2rem !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--course-ink) !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    box-shadow: none !important;
    font-size: 0.96rem;
    font-weight: 900;
    letter-spacing: -0.01em;
}

body.course-page .course-btn:hover,
body.course-page .course-btn:focus-visible,
body.course-page .course-back:hover,
body.course-page .course-back:focus-visible {
    background: var(--course-surface-alt) !important;
    color: var(--course-ink) !important;
    border-color: rgba(233, 196, 0, 0.46) !important;
    box-shadow: 0 10px 22px rgba(18, 18, 18, 0.05) !important;
    transform: translateY(-1px);
}

body.course-page .course-btn[disabled],
body.course-page .course-btn.primary[disabled] {
    background: #f4f2eb !important;
    color: rgba(22, 22, 22, 0.42) !important;
    border-color: rgba(22, 22, 22, 0.06) !important;
    box-shadow: none !important;
    cursor: not-allowed;
}

body.course-page .course-shell {
    position: relative;
    z-index: 1;
    padding: clamp(8.7rem, 10vw, 9.4rem) 0 3.6rem;
}

body.course-page .course-shell-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 1.25rem;
    align-items: center;
    padding: 0 0 1.1rem !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.course-page .course-shell-head__main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem 1.1rem;
    min-width: 0;
}

body.course-page .course-back {
    width: fit-content;
    min-height: 2.35rem;
    margin-bottom: 0;
    padding-inline: 0.82rem !important;
    background: transparent !important;
    border-color: rgba(233, 196, 0, 0.34) !important;
    color: rgba(22, 22, 22, 0.74) !important;
    font-size: 0.86rem;
}

body.course-page .course-title,
body.course-page .course-shell-head .course-title {
    margin: 0;
    flex: 1 1 24rem;
    max-width: 14ch;
    color: var(--course-ink) !important;
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    line-height: 1;
    font-weight: 1000;
    letter-spacing: -0.055em;
    text-transform: none;
}

body.course-page .course-todo-trigger {
    align-self: start;
    min-width: 11.25rem;
    gap: 0.8rem;
    border-radius: 1.2rem !important;
    padding: 0.72rem 0.82rem !important;
}

body.course-page .course-todo-trigger__icon {
    background: rgba(255, 255, 255, 0.58) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-todo-trigger__label,
body.course-page .course-todo-trigger__meta,
body.course-page .course-todo-trigger__count {
    color: var(--course-ink) !important;
}

body.course-page .course-todo-trigger__meta {
    opacity: 0.76;
}

body.course-page .course-todo-trigger__count {
    background: rgba(22, 22, 22, 0.1) !important;
}

body.course-page .course-todo-trigger__count.is-empty {
    opacity: 0.56;
}

body.course-page .course-layout {
    grid-template-columns: minmax(0, 1.45fr) minmax(18.75rem, 22rem);
    gap: clamp(1.2rem, 2vw, 1.75rem);
    margin-top: 1.2rem;
    margin-bottom: 0;
    padding-bottom: 0;
    align-items: start;
}

body.course-page .course-player-card,
body.course-page .course-outline-sheet,
body.course-page .course-todo-dialog,
body.course-page .course-confirm-card,
body.course-page .course-review-overlay__surface,
body.course-page .course-message-card {
    background: #ffffff !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 2rem !important;
    box-shadow: var(--course-shadow) !important;
}

body.course-page .course-player-card {
    display: grid;
    gap: 1rem;
    padding: 1rem !important;
    border-radius: 1.6rem !important;
    box-shadow: 0 18px 34px rgba(18, 18, 18, 0.055) !important;
}

body.course-page .course-player-header {
    display: grid;
    gap: 0.78rem;
    margin-bottom: 0;
}

body.course-page .course-player-badge {
    display: inline-flex;
    width: fit-content;
    padding: 0.36rem 0.72rem;
    border-radius: 999px;
    background: var(--course-accent-wash) !important;
    border: 1px solid rgba(239, 188, 0, 0.26) !important;
    color: #785a00 !important;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.course-page .course-player-title {
    margin: 0;
    max-width: none;
    color: var(--course-ink) !important;
    font-size: clamp(1.95rem, 3.2vw, 2.9rem);
    line-height: 1.02;
    font-weight: 1000;
    letter-spacing: -0.055em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.course-page .course-video-wrapper {
    overflow: hidden;
    border-radius: 1.35rem !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    background: #f5f3ed !important;
    box-shadow: none !important;
}

body.course-page .course-video-wrapper iframe,
body.course-page .course-video-wrapper video {
    background: #f7f5ee;
    min-height: 0;
}

body.course-page .course-video-placeholder,
body.course-page .course-video-fallback,
body.course-page .course-video-locked {
    background: linear-gradient(180deg, #ffffff 0%, #faf8f1 100%) !important;
    color: var(--course-muted) !important;
}

body.course-page .course-video-fallback.is-game-cta {
    background: linear-gradient(180deg, #fffdf6 0%, #fff7da 100%) !important;
}

body.course-page .course-video-placeholder img {
    border-bottom: 1px solid rgba(22, 22, 22, 0.06);
}

body.course-page .course-player-source-note {
    background: var(--course-accent-wash) !important;
    border: 1px solid rgba(239, 188, 0, 0.24) !important;
    border-radius: 1.25rem !important;
    box-shadow: none !important;
}

body.course-page .course-player-source-note__badge {
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
    box-shadow: none !important;
}

body.course-page .course-player-source-note p {
    color: var(--course-muted) !important;
}

body.course-page .course-player-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.85rem;
    align-items: center;
    margin-top: 0.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-player-watched {
    justify-self: start;
}

body.course-page .course-player-resources {
    margin-top: 0.1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(22, 22, 22, 0.08);
    display: grid;
    gap: 1rem;
}

body.course-page .course-player-resource-tabs,
body.course-page .course-todo-tabs {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: fit-content;
    padding: 0.35rem !important;
    border-radius: 999px !important;
    background: #f7f5ee !important;
    border: 1px solid rgba(22, 22, 22, 0.06) !important;
    box-shadow: none !important;
}

body.course-page .course-player-resource-tab,
body.course-page .course-todo-tab {
    min-height: 2.95rem;
    padding: 0.68rem 1.15rem !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: rgba(22, 22, 22, 0.56) !important;
    box-shadow: none !important;
    font-weight: 800;
}

body.course-page .course-player-resource-tab:hover,
body.course-page .course-player-resource-tab:focus-visible,
body.course-page .course-todo-tab:hover,
body.course-page .course-todo-tab:focus-visible {
    background: rgba(255, 212, 59, 0.16) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-player-resource-tab.is-active,
body.course-page .course-todo-tab.is-active {
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
    box-shadow: none !important;
}

body.course-page .course-todo-tab__count {
    background: rgba(22, 22, 22, 0.08) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-player-resource-panel {
    padding: 1rem !important;
    border-radius: 1.2rem !important;
    background: #fcfbf7 !important;
    border: 1px solid rgba(22, 22, 22, 0.06) !important;
    box-shadow: none !important;
}

body.course-page .course-player-attachments-title,
body.course-page .course-player-review-title {
    margin: 0 0 0.9rem;
    color: rgba(22, 22, 22, 0.64) !important;
    font-size: 0.86rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.course-page .course-player-attachments-list li a,
body.course-page .course-player-review-item {
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    background: #ffffff !important;
    box-shadow: none !important;
    border-radius: 1.2rem !important;
}

body.course-page .course-player-attachments-list li a {
    color: var(--course-ink) !important;
}

body.course-page .course-player-attachments-list li a:hover,
body.course-page .course-player-attachments-list li a:focus-visible,
body.course-page .course-player-review-item:hover,
body.course-page .course-player-review-item:focus-visible {
    background: var(--course-surface-alt) !important;
    border-color: rgba(239, 188, 0, 0.36) !important;
    box-shadow: 0 12px 24px rgba(18, 18, 18, 0.05) !important;
}

body.course-page .course-player-review-item.is-active {
    background: linear-gradient(180deg, #fff7d1 0%, #fffdf3 100%) !important;
    border-color: rgba(239, 188, 0, 0.72) !important;
    box-shadow: 0 14px 26px rgba(239, 188, 0, 0.16) !important;
}

body.course-page .course-player-review-item-thumb {
    background: #f7f4ec !important;
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-player-review-item-title {
    color: var(--course-ink) !important;
    font-weight: 800;
}

body.course-page .course-outline-panel {
    top: 5.7rem;
    max-height: calc(100vh - 6.5rem);
    height: auto;
    width: 100% !important;
    min-width: 0;
    padding: 0 !important;
    gap: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.course-page .course-outline-sheet {
    width: 100% !important;
    padding: 1rem !important;
    border-radius: 1.5rem !important;
    background: #ffffff !important;
    box-shadow: 0 16px 32px rgba(18, 18, 18, 0.05) !important;
}

body.course-page .course-outline-header {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.7rem 0.9rem;
    align-items: center;
}

body.course-page .course-outline-icon {
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 1rem;
    background: #fff3ba !important;
    color: #7a5e00 !important;
    box-shadow: none !important;
}

body.course-page .course-outline-header h2 {
    margin: 0;
    color: var(--course-ink) !important;
    font-size: clamp(1.18rem, 1.6vw, 1.45rem);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

body.course-page .course-outline-header-actions {
    grid-column: 1 / -1;
    margin-top: 0;
    gap: 0.45rem;
    justify-content: flex-start;
}

body.course-page .course-outline-scroll-bottom,
body.course-page .course-outline-close {
    background: #ffffff !important;
    color: rgba(22, 22, 22, 0.62) !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-scroll-bottom:hover,
body.course-page .course-outline-scroll-bottom:focus-visible,
body.course-page .course-outline-close:hover,
body.course-page .course-outline-close:focus-visible {
    background: var(--course-surface-alt) !important;
    color: var(--course-ink) !important;
    border-color: rgba(239, 188, 0, 0.42) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-summary {
    gap: 0.45rem;
    flex-wrap: wrap;
}

body.course-page .course-outline-summary-chip {
    background: var(--course-accent-wash) !important;
    color: #725700 !important;
    border: 1px solid rgba(239, 188, 0, 0.24) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-summary-chip strong {
    color: var(--course-ink) !important;
}

body.course-page .course-outline-summary-chip.is-watched {
    background: #f7f4ec !important;
    color: var(--course-muted) !important;
    border-color: rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-outline-summary-chip.is-watched strong {
    color: var(--course-ink) !important;
}

body.course-page .course-outline-empty {
    background: #fbfaf5 !important;
    border: 1px dashed rgba(22, 22, 22, 0.14) !important;
    color: var(--course-muted) !important;
}

body.course-page .course-outline-list {
    gap: 0.65rem;
    padding-right: 0.35rem;
}

body.course-page .course-outline-list::-webkit-scrollbar {
    width: 8px;
}

body.course-page .course-outline-list::-webkit-scrollbar-thumb {
    background: rgba(22, 22, 22, 0.54);
    border-radius: 999px;
}

body.course-page .outline-section {
    --outline-section-level: 0;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 0 !important;
    margin-left: calc(var(--outline-section-level) * 1rem);
    padding: 0.8rem 0 0 !important;
}

body.course-page .outline-section-title {
    color: var(--course-ink) !important;
    font-size: 0.75rem;
    font-weight: 900;
    padding-left: 0;
    margin-bottom: 0.6rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    opacity: 0.58;
}

body.course-page .outline-section-title::before {
    content: none !important;
}

body.course-page .outline-lessons {
    gap: 0.45rem;
}

body.course-page .outline-lesson {
    position: relative;
    min-height: 5.15rem;
    padding: 0.82rem 0.9rem 0.82rem 1rem !important;
    border-radius: 1rem !important;
    border: 1px solid rgba(22, 22, 22, 0.06) !important;
    background: #faf9f5 !important;
    color: var(--course-ink) !important;
    box-shadow: none !important;
}

body.course-page .outline-lesson::before {
    content: "";
    position: absolute;
    left: 0.38rem;
    top: 0.55rem;
    bottom: 0.55rem;
    width: 3px;
    border-radius: 999px;
    background: transparent;
    transition: background-color 0.2s ease;
}

body.course-page .outline-lesson:hover,
body.course-page .outline-lesson:focus-within {
    background: #ffffff !important;
    border-color: rgba(239, 188, 0, 0.42) !important;
    box-shadow: 0 10px 22px rgba(18, 18, 18, 0.04) !important;
    transform: translateY(-1px);
}

body.course-page .outline-lesson.is-active {
    background: #ffffff !important;
    border-color: rgba(239, 188, 0, 0.72) !important;
    color: var(--course-ink) !important;
    box-shadow: 0 12px 24px rgba(239, 188, 0, 0.11) !important;
}

body.course-page .outline-lesson.is-watched:not(.is-active) {
    background: #f7f6f1 !important;
    border-color: rgba(22, 22, 22, 0.08) !important;
}

body.course-page .outline-lesson.is-active::before {
    background: var(--course-accent);
}

body.course-page .outline-lesson-number {
    background: #f1efe8 !important;
    color: rgba(22, 22, 22, 0.62) !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-number {
    background: var(--course-accent-wash) !important;
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson-title-text {
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson-preview-badge,
body.course-page .outline-lesson.is-active .outline-lesson-preview-badge {
    background: #fff2b0 !important;
    border: 0 !important;
    color: #6f5500 !important;
    box-shadow: none !important;
}

body.course-page .outline-lesson-go {
    width: 2.15rem;
    height: 2.15rem;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    background: #ffffff !important;
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-go {
    background: var(--course-accent) !important;
    border-color: rgba(239, 188, 0, 0.64) !important;
    color: var(--course-ink) !important;
}

body.course-page .outline-lesson-attachment-icon,
body.course-page .outline-lesson-review-icon,
body.course-page .outline-lesson.is-active .outline-lesson-attachment-icon,
body.course-page .outline-lesson.is-active .outline-lesson-review-icon {
    background: #fff4bf !important;
    color: #6f5500 !important;
}

body.course-page .outline-lesson-watched-badge {
    background: #f7f4ec !important;
    color: rgba(22, 22, 22, 0.62) !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-confirm-modal {
    z-index: 1265 !important;
}

body.course-page .course-todo-overlay,
body.course-page .course-review-overlay,
body.course-page .course-confirm-modal__backdrop {
    background: rgba(15, 15, 15, 0.34) !important;
    backdrop-filter: blur(10px);
}

body.course-page .course-todo-dialog {
    border-radius: 2rem !important;
    background: #ffffff !important;
    box-shadow: 0 30px 70px rgba(18, 18, 18, 0.16) !important;
}

body.course-page .course-confirm-card::before {
    background: linear-gradient(90deg, #f1c400 0%, #ffd84d 100%) !important;
}

body.course-page .course-todo-dialog__head h2,
body.course-page .course-confirm-head h3,
body.course-page .course-review-overlay__title {
    color: var(--course-ink) !important;
}

body.course-page .course-confirm-head h3 {
    font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
    font-size: clamp(1.42rem, 2vw, 1.75rem) !important;
    line-height: 1.14 !important;
    font-weight: 900 !important;
    letter-spacing: -0.03em !important;
}

body.course-page .course-todo-dialog__subtitle,
body.course-page .course-confirm-desc,
body.course-page .course-review-overlay__meta {
    color: var(--course-muted) !important;
}

body.course-page .course-confirm-desc {
    font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
    font-size: 1.02rem !important;
    font-weight: 700 !important;
    line-height: 1.58 !important;
    letter-spacing: -0.01em !important;
}

body.course-page .course-todo-dialog__close,
body.course-page .course-confirm-close {
    background: #f7f4ec !important;
    color: var(--course-ink) !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    box-shadow: none !important;
}

body.course-page .course-todo-dialog__close:hover,
body.course-page .course-todo-dialog__close:focus-visible,
body.course-page .course-confirm-close:hover,
body.course-page .course-confirm-close:focus-visible {
    background: var(--course-accent-wash) !important;
    border-color: rgba(239, 188, 0, 0.42) !important;
}

body.course-page .course-confirm-actions .course-btn,
body.course-page .course-confirm-actions .course-btn.primary {
    font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
    font-size: 1.02rem !important;
    font-weight: 900 !important;
    letter-spacing: -0.02em !important;
}

body.course-page .course-todo-dialog__status {
    background: var(--course-accent-wash) !important;
    border: 1px solid rgba(239, 188, 0, 0.24) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-todo-dialog__status[data-tone="success"] {
    background: #fff7d6 !important;
    color: #6c5200 !important;
}

body.course-page .course-todo-dialog__status[data-tone="error"] {
    background: #fff0e7 !important;
    color: #8c3f1c !important;
}

body.course-page .course-todo-empty,
body.course-page .course-todo-empty--panel {
    background: #fbfaf5 !important;
    border: 1px dashed rgba(22, 22, 22, 0.12) !important;
    color: var(--course-muted) !important;
}

body.course-page .course-todo-item {
    background: #ffffff !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 1.35rem !important;
    box-shadow: none !important;
}

body.course-page .course-todo-item:hover,
body.course-page .course-todo-item:focus-visible {
    background: var(--course-surface-alt) !important;
    border-color: rgba(239, 188, 0, 0.42) !important;
    box-shadow: 0 12px 26px rgba(18, 18, 18, 0.06) !important;
}

body.course-page .course-todo-item.is-completed {
    background: #fbfaf5 !important;
}

body.course-page .course-todo-item__state {
    background: #fff7d1 !important;
    color: #6c5200 !important;
}

body.course-page .course-todo-item__state.is-completed {
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
}

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

body.course-page .course-todo-item__meta-chip {
    background: #f7f4ec !important;
    color: var(--course-muted) !important;
}

body.course-page .course-todo-item__reward,
body.course-page .course-todo-item__reward span {
    background: #fff8db !important;
    color: #6f5500 !important;
}

body.course-page .course-review-overlay__surface {
    padding: 1.3rem !important;
    border-radius: 2rem !important;
}

body.course-page .course-review-overlay__header {
    border-bottom: 1px solid rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-review-overlay__stage {
    background: #f7f4ec !important;
    border: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 1.5rem !important;
    overflow: hidden;
}

body.course-page .course-review-overlay__stage iframe {
    background: #ffffff;
}

/* Gameplay shell full-bleed behavior is mobile-only; desktop keeps game list rail visible. */
@media (max-width: 768px) {
    body.course-page .course-review-overlay.is-gameplay-shell {
        padding: 0 !important;
        background: #ffffff !important;
        backdrop-filter: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__surface {
        height: 100dvh !important;
        min-height: 100dvh !important;
        padding: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        background: #ffffff !important;
        grid-template-rows: minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__stage {
        display: block !important;
        height: 100% !important;
        min-height: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #ffffff !important;
        overflow: hidden !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__stage iframe {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__workspace {
        display: block !important;
        height: 100% !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__rail {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__canvas {
        display: block !important;
        height: 100% !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__canvas-head,
    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__preview {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__frame {
        height: 100% !important;
        border-radius: 0 !important;
        border: 0 !important;
    }
}

body.course-page .course-message-card h2 {
    color: var(--course-ink) !important;
}

body.course-page .course-message-card p {
    color: var(--course-muted) !important;
}

@media (max-width: 1100px) {
    body.course-page .course-layout {
        grid-template-columns: 1fr;
    }

    body.course-page .course-outline-panel {
        position: static;
        top: auto;
        max-height: none;
    }
}

@media (max-width: 900px) {
    body.course-page .container {
        max-width: calc(100% - 1.5rem);
    }

    body.course-page .course-shell {
        padding-top: 1.55rem;
    }

    body.course-page .course-shell-head {
        grid-template-columns: 1fr;
        padding: 0 0 1rem !important;
    }

    body.course-page .course-title,
    body.course-page .course-shell-head .course-title {
        max-width: none;
        font-size: clamp(2rem, 11vw, 3.2rem);
    }

    body.course-page .course-todo-trigger {
        width: 100%;
        justify-content: space-between;
    }

    body.course-page .course-player-title {
        max-width: none;
        font-size: clamp(2.1rem, 10vw, 3.3rem);
    }

    body.course-page .course-player-controls {
        grid-template-columns: 1fr 1fr;
    }

    body.course-page .course-player-watched {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    body.course-page .course-player-card,
    body.course-page .course-outline-sheet,
    body.course-page .course-todo-dialog,
    body.course-page .course-confirm-card,
    body.course-page .course-review-overlay__surface,
    body.course-page .course-message-card {
        border-radius: 1.55rem !important;
    }

    body.course-page .course-player-controls {
        grid-template-columns: 1fr;
    }

    body.course-page .course-btn {
        width: 100%;
        justify-content: center;
    }

    body.course-page .course-back {
        width: fit-content;
        max-width: 100%;
        justify-content: center;
    }

    body.course-page .course-player-resource-tabs,
    body.course-page .course-todo-tabs {
        width: 100%;
    }

    body.course-page .course-player-resource-tab,
    body.course-page .course-todo-tab {
        flex: 1 1 0;
        justify-content: center;
    }

    body.course-page .course-outline-header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.course-page .course-outline-header-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    body.course-page .outline-lesson {
        padding: 0.84rem 0.9rem !important;
    }

    body.course-page .outline-lesson-tail {
        justify-content: flex-start;
    }

    body.course-page .course-outline-fab {
        right: 1rem;
        bottom: 1rem;
    }
}

/* Course page refinement inspired by the editorial learning layout */
body.course-page {
    --course-shell-gap: clamp(1.25rem, 2vw, 1.75rem);
}

body.course-page .container {
    max-width: min(1460px, calc(100% - 1.6rem));
}

body.course-page .course-outline-panel::before,
body.course-page .course-outline-panel::after {
    content: none !important;
    display: none !important;
}

body.course-page .course-shell {
    padding-top: clamp(8.7rem, 10vw, 9.4rem);
}

body.course-page .course-shell-head {
    gap: 0.75rem 1rem;
    align-items: start;
    padding-bottom: 0.7rem !important;
}

@media (min-width: 769px) {
    body.course-page .course-shell-head > .course-todo-trigger {
        display: none !important;
    }
}

body.course-page .course-shell-head__main {
    display: grid;
    gap: 0.45rem;
    align-items: start;
    min-width: 0;
}

body.course-page .course-title,
body.course-page .course-shell-head .course-title {
    max-width: none;
    font-size: clamp(1.1rem, 1.7vw, 1.55rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.035em !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.course-page .course-todo-trigger {
    min-width: auto;
    padding: 0.68rem 0.78rem !important;
}

body.course-page .course-layout {
    margin-top: 0.8rem;
    grid-template-columns: minmax(0, 1.56fr) minmax(22rem, 25rem);
    gap: var(--course-shell-gap);
}

body.course-page .course-player-card {
    gap: 0;
    padding: 1.1rem !important;
    border-radius: 1.45rem !important;
}

body.course-page .course-video-wrapper {
    order: 1;
    border-radius: 1.15rem !important;
    background: #111111 !important;
    border-color: rgba(22, 22, 22, 0.14) !important;
}

body.course-page .course-player-header {
    order: 2;
    margin-top: 1rem;
    gap: 0.62rem;
}

body.course-page .course-player-title {
    width: 100%;
    max-width: 100%;
    font-size: clamp(1.72rem, 3vw, 2.55rem);
    line-height: 1.04;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    text-wrap: pretty;
}

body.course-page .course-player-deck {
    order: 3;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0.85rem 0 0;
}

body.course-page .course-player-deck-chip {
    display: inline-flex;
    align-items: center;
    min-height: 2.05rem;
    padding: 0.38rem 0.78rem;
    border-radius: 999px;
    background: #fff4bf !important;
    color: #6f5500 !important;
    border: 1px solid rgba(239, 188, 0, 0.28) !important;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

body.course-page .course-player-deck-chip.is-muted {
    background: #f6f3ef !important;
    color: rgba(22, 22, 22, 0.64) !important;
    border-color: rgba(22, 22, 22, 0.08) !important;
}

body.course-page .course-player-source-note {
    order: 4;
    margin-top: 0.9rem;
    border-radius: 1rem !important;
}

body.course-page .course-player-controls {
    order: 5;
    margin-top: 1rem;
    padding-top: 1rem;
}

body.course-page .course-player-resources {
    order: 6;
    margin-top: 1rem;
    padding-top: 1rem;
}

body.course-page .course-player-resource-tabs {
    width: 100%;
    gap: 1.35rem;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(22, 22, 22, 0.08) !important;
    border-radius: 0 !important;
    background: transparent !important;
}

body.course-page .course-player-resource-tab {
    position: relative;
    min-height: auto;
    padding: 0 0 0.9rem !important;
    border-radius: 0 !important;
    color: rgba(22, 22, 22, 0.56) !important;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.course-page .course-player-resource-tab::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 3px;
    border-radius: 999px;
    background: transparent;
    transition: background-color 0.2s ease;
}

body.course-page .course-player-resource-tab:hover,
body.course-page .course-player-resource-tab:focus-visible {
    background: transparent !important;
}

body.course-page .course-player-resource-tab.is-active {
    background: transparent !important;
    color: var(--course-ink) !important;
}

body.course-page .course-player-resource-tab.is-active::after {
    background: var(--course-accent);
}

body.course-page .course-player-resource-panel {
    margin-top: 0.3rem;
    border-radius: 1.15rem !important;
    background: #f8f6f2 !important;
}

body.course-page .course-player-attachments-list li a,
body.course-page .course-player-review-item {
    background: #ffffff !important;
}

body.course-page .course-outline-sheet {
    padding: 1rem !important;
    border-radius: 1.35rem !important;
    background: #f6f3f2 !important;
    border: 1px solid rgba(22, 22, 22, 0.06) !important;
    box-shadow: none !important;
}

body.course-page .course-outline-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-bottom: 0.85rem;
}

body.course-page .course-outline-kicker {
    color: rgba(22, 22, 22, 0.56);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.course-page .course-outline-progress-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.32rem 0.7rem;
    border-radius: 999px;
    background: #fff4bf;
    color: #6f5500;
    font-size: 0.76rem;
    font-weight: 900;
}

body.course-page .course-outline-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-outline-header-copy {
    min-width: 0;
}

body.course-page .course-outline-header-actions {
    grid-column: 3;
    justify-self: end;
    align-self: start;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

body.course-page .course-outline-scroll-bottom {
    width: 2.45rem;
    min-width: 2.45rem;
    height: 2.45rem;
    padding: 0 !important;
    border-radius: 0.95rem !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

body.course-page .course-outline-scroll-bottom::before {
    content: "";
    display: block;
    width: 1rem;
    height: 1rem;
    background: currentColor;
    opacity: 0.88;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M5.22 7.97a.75.75 0 0 1 1.06 0L10 11.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.03a.75.75 0 0 1 0-1.06Zm0 4a.75.75 0 0 1 1.06 0L10 15.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0l-4.25-4.25a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M5.22 7.97a.75.75 0 0 1 1.06 0L10 11.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.03a.75.75 0 0 1 0-1.06Zm0 4a.75.75 0 0 1 1.06 0L10 15.69l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0l-4.25-4.25a.75.75 0 0 1 0-1.06Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.course-page .course-outline-summary {
    padding-top: 0.85rem;
    padding-bottom: 0.8rem;
    gap: 0.5rem;
    flex-wrap: wrap;
}

body.course-page .course-outline-progressbar {
    margin-bottom: 0.9rem;
}

body.course-page .course-outline-progressbar-track {
    display: block;
    width: 100%;
    height: 0.42rem;
    overflow: hidden;
    border-radius: 999px;
    background: #dfd9d8;
}

body.course-page .course-outline-progressbar-fill {
    display: block;
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: var(--course-accent);
    box-shadow: 0 0 16px rgba(239, 188, 0, 0.42);
    transition: width 0.25s ease;
}

body.course-page .course-outline-list {
    gap: 0.75rem;
}

body.course-page .outline-section {
    margin-left: calc(var(--outline-section-level) * 1rem);
    padding-top: 0.9rem !important;
}

body.course-page .outline-section-title {
    margin-bottom: 0.52rem;
}

body.course-page .outline-lesson {
    min-height: 4.65rem;
    padding: 0.78rem 0.9rem !important;
    border: 0 !important;
    border-left: 4px solid transparent !important;
    border-radius: 1rem !important;
    background: rgba(255, 255, 255, 0.72) !important;
}

body.course-page .outline-lesson::before {
    content: none !important;
}

body.course-page .outline-lesson:hover,
body.course-page .outline-lesson:focus-within {
    background: #ffffff !important;
    border-left-color: rgba(239, 188, 0, 0.38) !important;
}

body.course-page .outline-lesson.is-active {
    background: #fff7d1 !important;
    border-color: rgba(239, 188, 0, 0.72) !important;
    border-left-color: var(--course-accent) !important;
    box-shadow: 0 12px 26px rgba(239, 188, 0, 0.14) !important;
}

body.course-page .outline-lesson-go {
    background: transparent !important;
    border: 0 !important;
    color: rgba(22, 22, 22, 0.56) !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-number,
body.course-page .outline-lesson.is-active .outline-lesson-preview-badge,
body.course-page .outline-lesson.is-active .outline-lesson-watched-badge,
body.course-page .outline-lesson.is-active .outline-lesson-attachment-icon,
body.course-page .outline-lesson.is-active .outline-lesson-review-icon {
    background: #ffe88a !important;
    border-color: rgba(239, 188, 0, 0.52) !important;
    color: #5e4700 !important;
    box-shadow: none !important;
}

body.course-page .outline-lesson.is-active .outline-lesson-go {
    width: 2rem;
    height: 2rem;
    background: var(--course-accent) !important;
    color: var(--course-ink) !important;
}

body.course-page .course-player-review-lab {
    display: grid;
    grid-template-columns: minmax(0, 20rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

body.course-page .course-player-review-lab__rail,
body.course-page .course-player-review-stage {
    min-width: 0;
    padding: 1rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(22, 22, 22, 0.08);
    background: #ffffff;
}

body.course-page .course-player-review-lab__rail {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

body.course-page .course-player-review-header {
    display: flex;
    flex-direction: column;
    gap: 0.42rem;
}

body.course-page .course-player-review-title {
    margin: 0 !important;
    color: var(--course-ink) !important;
    font-size: 0.8rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
}

body.course-page .course-player-review-subtitle {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.94rem;
    line-height: 1.55;
}

body.course-page .course-player-review-list {
    margin: 0;
    gap: 0.72rem;
}

body.course-page .course-player-review-item {
    display: grid;
    grid-template-columns: 4.35rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.82rem !important;
    text-align: left;
}

body.course-page .course-player-review-item-thumb {
    position: relative;
    width: 4.35rem;
    height: 4.35rem;
    min-width: 4.35rem;
    overflow: hidden;
    border-radius: 1.15rem !important;
    background: #f6f1e3 !important;
}

body.course-page .course-player-review-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.course-page .course-player-review-item-thumb-fallback,
body.course-page .course-player-review-stage__thumb-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #fff6d2 0%, #ffe88a 100%);
    color: #6f5500;
    font-weight: 900;
    letter-spacing: 0.08em;
}

body.course-page .course-player-review-item-thumb-fallback {
    position: absolute;
    inset: 0;
    font-size: 1.05rem;
}

body.course-page .course-player-review-item-thumb-fallback.is-hidden,
body.course-page .course-player-review-stage__thumb-fallback.is-hidden {
    display: none;
}

body.course-page .course-player-review-item-copy {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    min-width: 0;
}

body.course-page .course-player-review-item-kicker {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 1.55rem;
    padding: 0.2rem 0.58rem;
    border-radius: 999px;
    background: #fff4bf;
    color: #7a5e00;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.course-page .course-player-review-item-title {
    display: -webkit-box;
    overflow: hidden;
    color: var(--course-ink) !important;
    font-size: 1rem;
    line-height: 1.28;
    font-weight: 900;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.course-page .course-player-review-item-meta {
    color: rgba(22, 22, 22, 0.52);
    font-size: 0.82rem;
    font-weight: 700;
}

body.course-page .course-player-review-item-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.45rem;
    min-width: 2.45rem;
    height: 2.45rem;
    border-radius: 999px;
    background: #f7f4ec;
    color: rgba(22, 22, 22, 0.68);
    font-size: 1.45rem;
    font-weight: 900;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body.course-page .course-player-review-item:hover,
body.course-page .course-player-review-item:focus-visible {
    transform: translateY(-1px);
}

body.course-page .course-player-review-item:hover .course-player-review-item-arrow,
body.course-page .course-player-review-item:focus-visible .course-player-review-item-arrow,
body.course-page .course-player-review-item.is-active .course-player-review-item-arrow {
    background: var(--course-accent);
    color: var(--course-ink);
}

body.course-page .course-player-review-stage {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

body.course-page .course-player-review-stage__topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

body.course-page .course-player-review-stage__eyebrow,
body.course-page .course-player-review-stage__counter,
body.course-page .course-player-review-stage__chip,
body.course-page .course-player-review-stage__canvas-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.32rem 0.72rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 900;
}

body.course-page .course-player-review-stage__eyebrow,
body.course-page .course-player-review-stage__chip,
body.course-page .course-player-review-stage__canvas-state {
    background: #fff4bf;
    color: #725700;
    border: 1px solid rgba(239, 188, 0, 0.22);
}

body.course-page .course-player-review-stage__counter {
    background: #f7f4ec;
    color: rgba(22, 22, 22, 0.66);
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-player-review-stage__hero {
    display: grid;
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

body.course-page .course-player-review-stage__thumb {
    position: relative;
    min-height: 15rem;
    overflow: hidden;
    border-radius: 1.35rem;
    background: #f5efe0;
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-player-review-stage__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.course-page .course-player-review-stage__thumb-fallback {
    position: absolute;
    inset: 0;
    font-size: clamp(2.1rem, 4vw, 3rem);
}

body.course-page .course-player-review-stage__copy {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-width: 0;
}

body.course-page .course-player-review-stage__label {
    color: rgba(22, 22, 22, 0.52);
    font-size: 0.75rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.course-page .course-player-review-stage__title {
    margin: 0;
    color: var(--course-ink);
    font-size: clamp(1.5rem, 2.2vw, 2.35rem);
    line-height: 1.04;
    letter-spacing: -0.04em;
}

body.course-page .course-player-review-stage__summary {
    margin: 0;
    color: var(--course-muted);
    font-size: 1rem;
    line-height: 1.65;
}

body.course-page .course-player-review-stage__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

body.course-page .course-player-review-stage__canvas {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: 20rem;
    padding: 1rem;
    border-radius: 1.45rem;
    background:
        linear-gradient(180deg, rgba(255, 250, 233, 0.88), rgba(255, 255, 255, 0.94)),
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.2), transparent 40%);
    border: 1px solid rgba(239, 188, 0, 0.26);
}

body.course-page .course-player-review-stage__canvas-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    flex-wrap: wrap;
}

body.course-page .course-player-review-stage__canvas-kicker {
    color: rgba(22, 22, 22, 0.55);
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.course-page .course-player-review-stage__canvas-body {
    display: block;
    min-height: clamp(24rem, 60vh, 50rem);
}

body.course-page .course-player-review-stage__frame {
    position: relative;
    width: 100%;
    min-height: inherit;
    height: 100%;
    border-radius: 1.2rem;
    overflow: hidden;
    border: 1px solid rgba(22, 22, 22, 0.1);
    background: #ffffff;
}

body.course-page .course-player-review-stage__iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(24rem, 60vh, 50rem);
    border: 0;
    background: #ffffff;
}

body.course-page .course-player-review-stage__canvas.is-empty .course-player-review-stage__frame {
    display: none;
}

body.course-page .course-player-review-stage__panel {
    display: none;
}

body.course-page .course-player-review-stage__panel-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: var(--course-accent);
    color: var(--course-ink);
    border: 1px solid rgba(239, 188, 0, 0.38);
    font-size: 0.76rem;
    font-weight: 900;
}

body.course-page .course-player-review-stage__panel strong {
    color: var(--course-ink);
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1.2;
}

body.course-page .course-player-review-stage__panel p {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.95rem;
    line-height: 1.55;
}

body.course-page .course-player-review-lab {
    grid-template-columns: 1fr;
}

body.course-page .course-player-review-stage {
    display: none !important;
}

body.course-page .course-review-overlay__surface.is-review-mode {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__stage {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
}

body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__canvas {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: transparent;
    border: 0;
}

body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__canvas-head,
body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__preview {
    display: none;
}

body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__frame {
    flex: 1 1 auto;
    min-height: 0;
    border-radius: 1.6rem;
}

body.course-page .course-review-overlay__workspace {
    display: grid;
    grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
    gap: 1rem;
    height: 100%;
    min-height: 0;
}

body.course-page .course-review-overlay__rail,
body.course-page .course-review-overlay__canvas {
    min-width: 0;
    min-height: 0;
    padding: 1rem;
    border-radius: 1.45rem;
    border: 1px solid rgba(22, 22, 22, 0.08);
    background: #ffffff;
}

body.course-page .course-review-overlay__rail {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    overflow: auto;
}

body.course-page .course-review-overlay__rail-head {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
body.course-page .course-review-overlay__rail-back {
    align-self: flex-start;
    margin-bottom: 0.2rem;
}

body.course-page .course-review-overlay__rail-title {
    margin: 0;
    color: var(--course-ink);
    font-size: 0.82rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.course-page .course-review-overlay__rail-subtitle {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.93rem;
    line-height: 1.55;
}

body.course-page .course-review-overlay__list {
    display: grid;
    gap: 0.72rem;
    padding: 0;
    margin: 0;
    list-style: none;
}

body.course-page .course-review-overlay__canvas {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 1rem;
    background:
        linear-gradient(180deg, rgba(255, 250, 233, 0.88), rgba(255, 255, 255, 0.96)),
        radial-gradient(circle at top right, rgba(255, 215, 0, 0.22), transparent 42%);
    border-color: rgba(239, 188, 0, 0.26);
}

body.course-page .course-review-overlay__canvas-head {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
}

body.course-page .course-review-overlay__canvas-copy {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

body.course-page .course-review-overlay__canvas-kicker,
body.course-page .course-review-overlay__canvas-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.32rem 0.72rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 900;
}

body.course-page .course-review-overlay__canvas-kicker {
    width: fit-content;
    background: #fff4bf;
    color: #725700;
    border: 1px solid rgba(239, 188, 0, 0.22);
}

body.course-page .course-review-overlay__canvas-counter {
    background: rgba(255, 255, 255, 0.9);
    color: rgba(22, 22, 22, 0.66);
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-review-overlay__canvas-title {
    margin: 0;
    color: var(--course-ink);
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

body.course-page .course-review-overlay__canvas-source {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.95rem;
    font-weight: 700;
}

body.course-page .course-review-overlay__preview {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
}

body.course-page .course-review-overlay__preview-thumb {
    position: relative;
    min-height: 9rem;
    overflow: hidden;
    border-radius: 1.2rem;
    background: #f5efe0;
    border: 1px solid rgba(22, 22, 22, 0.08);
}

body.course-page .course-review-overlay__preview-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

body.course-page .course-review-overlay__preview-fallback {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #fff6d2 0%, #ffe88a 100%);
    color: #6f5500;
    font-size: 2rem;
    font-weight: 900;
}

body.course-page .course-review-overlay__preview-body {
    min-width: 0;
}

body.course-page .course-review-overlay__preview-note {
    margin: 0;
    color: var(--course-muted);
    font-size: 0.98rem;
    line-height: 1.65;
}

body.course-page .course-review-overlay__frame {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    border-radius: 1.35rem;
    border: 1px solid rgba(22, 22, 22, 0.08);
    background: #ffffff;
}

body.course-page .course-review-overlay__frame iframe {
    width: 100%;
    height: 100%;
    min-height: 0;
    border: 0;
    display: block;
    background: #ffffff;
}

body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__workspace {
    grid-template-columns: 1fr;
}

body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__rail,
body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__preview,
body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__canvas-head {
    display: none;
}

body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__canvas {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: transparent;
    border: 0;
}
body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__header .course-review-overlay-back {
    display: none;
}

/* ── Hamburger & drawer-close: hidden by default (desktop) ── */
.course-review-overlay__hamburger,
.course-review-overlay__drawer-close {
    display: none !important;
}

/* ── Mobile review overlay: fullscreen game + hamburger drawer ── */
@media (max-width: 768px) {
    .course-review-overlay {
        padding: 0 !important;
    }

    .course-review-overlay .course-review-overlay__surface {
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .course-review-overlay__header {
        padding: 0.5rem 0.7rem !important;
        gap: 0.45rem !important;
    }

    .course-review-overlay__btn-label {
        display: none;
    }

    .course-review-overlay__btn-label-short {
        display: inline !important;
    }

    .course-review-overlay__title {
        font-size: 0.88rem !important;
    }

    .course-review-overlay__meta {
        font-size: 0.76rem !important;
    }

    /* Show header back button on mobile in review mode */
    body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__header .course-review-overlay-back {
        display: inline-flex !important;
    }

    /* Workspace: single column, full height */
    body.course-page .course-review-overlay__workspace {
        grid-template-columns: 1fr !important;
        grid-template-rows: 1fr !important;
        overflow: hidden;
        position: relative;
    }

    /* Default mobile state: show rail, hide canvas */
    body.course-page .course-review-overlay__workspace .course-review-overlay__canvas {
        display: none !important;
    }

    /* When game is active on mobile: hide rail, show canvas */
    body.course-page .course-review-overlay__workspace.is-mobile-game-open .course-review-overlay__rail {
        display: none !important;
    }

    body.course-page .course-review-overlay__surface.is-review-mode .course-review-overlay__workspace.is-mobile-game-open .course-review-overlay__canvas {
        display: flex !important;
        flex-direction: column;
    }

    /* ── Hamburger button: top-right corner over fullscreen game ── */
    body.course-page .course-review-overlay__header .course-review-overlay__hamburger {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__surface.is-review-mode .course-review-overlay__header .course-review-overlay__hamburger {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 12;
        width: 2rem;
        height: 2rem;
        border: none;
        border-radius: 0.58rem;
        background: rgba(0, 0, 0, 0.45);
        backdrop-filter: blur(6px);
        cursor: pointer;
        flex-direction: column;
        gap: 4px;
        padding: 0;
        justify-self: end;
    }

    body.course-page .course-review-overlay__hamburger span {
        display: block;
        width: 1.15rem;
        height: 2px;
        background: #fff;
        border-radius: 2px;
        transition: transform .2s;
    }

    /* ── Drawer close button inside rail ── */
    body.course-page .course-review-overlay__workspace.is-mobile-drawer-open .course-review-overlay__drawer-close {
        display: flex !important;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0.55rem;
        right: 0.55rem;
        z-index: 2;
        width: 2rem;
        height: 2rem;
        border: none;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.08);
        font-size: 1.1rem;
        color: #333;
        cursor: pointer;
        padding: 0;
        line-height: 1;
    }

    /* ── Rail as slide-in drawer from right ── */
    body.course-page .course-review-overlay__workspace.is-mobile-game-open .course-review-overlay__rail {
        display: flex !important;
        flex-direction: column;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 85vw;
        max-width: 22rem;
        z-index: 30;
        background: #fff;
        box-shadow: -4px 0 24px rgba(0, 0, 0, 0.18);
        transform: translateX(100%);
        transition: transform .28s cubic-bezier(.4, 0, .2, 1);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    body.course-page .course-review-overlay__workspace.is-mobile-game-open.is-mobile-drawer-open .course-review-overlay__rail {
        transform: translateX(0) !important;
    }

    /* Backdrop behind drawer */
    body.course-page .course-review-overlay__workspace.is-mobile-game-open::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 25;
        background: rgba(0, 0, 0, 0.35);
        opacity: 0;
        pointer-events: none;
        transition: opacity .28s;
    }

    body.course-page .course-review-overlay__workspace.is-mobile-game-open.is-mobile-drawer-open::before {
        opacity: 1;
        pointer-events: auto;
    }

    /* Rail fills available space and scrolls on mobile */
    body.course-page .course-review-overlay__rail {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    body.course-page .course-review-overlay__rail-subtitle {
        font-size: 0.85rem !important;
    }

    /* Rail head needs relative for close button */
    body.course-page .course-review-overlay__rail-head {
        position: relative;
        padding-right: 2.5rem;
    }

    /* ── Mobile gameplay shell: show minimal header ── */
    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__surface {
        grid-template-rows: auto minmax(0, 1fr) !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center;
        gap: 0.35rem !important;
        position: relative;
        z-index: 10;
        background: rgba(255, 255, 255, 0.92);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
        padding: 0.3rem 0.42rem !important;
        min-height: 0;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header .course-review-overlay-back {
        display: inline-flex !important;
        width: auto !important;
        max-width: 6.8rem;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0.3rem 0.52rem !important;
        font-size: 0.74rem !important;
        line-height: 1.1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        flex: 0 1 auto;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__heading {
        min-width: 0;
        gap: 0.06rem;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__title {
        font-size: 0.76rem !important;
        line-height: 1.2;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__meta {
        font-size: 0.66rem !important;
        line-height: 1.2;
    }

    /* Hide prev/next in gameplay shell on mobile */
    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header .course-review-overlay__controls {
        display: none !important;
    }

    body.course-page .course-review-overlay.is-gameplay-shell .course-review-overlay__header .course-review-overlay__hamburger {
        margin-left: 0;
    }
}

body.course-page .course-review-overlay__surface.is-lesson-mode .course-review-overlay__frame {
    flex: 1 1 auto;
    min-height: 0;
}

@media (max-width: 900px) {
    body.course-page .container {
        max-width: calc(100% - 1rem);
    }

    body.course-page .course-shell {
        padding-top: 9.75rem;
    }

    body.course-page .course-shell-head {
        padding-bottom: 0.8rem !important;
    }

    body.course-page .course-player-title {
        max-width: none;
        font-size: clamp(1.65rem, 7vw, 2.3rem);
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    body.course-page .course-player-resource-tabs {
        gap: 0.95rem;
    }

    body.course-page .course-player-review-lab {
        grid-template-columns: 1fr;
    }

    body.course-page .course-player-review-stage__hero {
        grid-template-columns: 1fr;
    }

    body.course-page .course-review-overlay__workspace {
        grid-template-columns: 1fr;
    }

    body.course-page .course-review-overlay__preview {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body.course-page .course-shell {
        padding-top: 10.6rem;
    }
}

@media (max-width: 760px) {
    body.course-page .course-title,
    body.course-page .course-shell-head .course-title {
        max-width: none;
        font-size: clamp(0.98rem, 4.8vw, 1.22rem) !important;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    body.course-page .course-player-card {
        padding: 0.9rem !important;
    }

    body.course-page .course-player-deck {
        gap: 0.42rem;
    }

    body.course-page .course-player-deck-chip {
        min-height: 1.9rem;
        padding-inline: 0.66rem;
        font-size: 0.72rem;
    }

    body.course-page .course-outline-sheet {
        border-radius: 1.2rem !important;
    }

    body.course-page .course-outline-header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body.course-page .course-outline-header-actions {
        grid-column: 1 / -1;
        justify-self: stretch;
        justify-content: flex-start;
    }

    body.course-page .course-player-review-lab__rail,
    body.course-page .course-player-review-stage {
        padding: 0.85rem;
        border-radius: 1.2rem;
    }

    body.course-page .course-player-review-item {
        grid-template-columns: 3.6rem minmax(0, 1fr) auto;
        padding: 0.72rem !important;
    }

    body.course-page .course-player-review-item-thumb {
        width: 3.6rem;
        height: 3.6rem;
        min-width: 3.6rem;
    }

    body.course-page .course-player-review-stage__canvas-body {
        min-height: clamp(18rem, 56vh, 36rem);
    }

    body.course-page .course-player-review-stage__iframe {
        min-height: clamp(18rem, 56vh, 36rem);
    }
}

/* Homepage section alignment */
body.home-page .home-about {
    position: relative;
    padding-top: clamp(1.2rem, 2.2vw, 1.8rem);
    padding-bottom: clamp(1.6rem, 3vw, 2.4rem);
    background: transparent;
}

body.home-page .home-about > .container {
    padding: 0;
}

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

body.home-page .home-about .section-kicker::before {
    content: "";
    width: 0.95rem;
    height: 0.95rem;
    flex: 0 0 auto;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
}

body.home-page .home-about__shell {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    gap: clamp(1.2rem, 2.8vw, 2rem);
    align-items: stretch;
    padding: clamp(1.3rem, 2.4vw, 1.9rem) clamp(1.3rem, 2.4vw, 1.9rem) 0;
    border-radius: 2rem;
    overflow: hidden;
    background:
        radial-gradient(circle at 92% 10%, rgba(255, 215, 0, 0.16), rgba(255, 215, 0, 0) 26%),
        radial-gradient(circle at 8% 14%, rgba(107, 209, 255, 0.14), rgba(107, 209, 255, 0) 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(251, 246, 235, 0.94));
    border: 1px solid rgba(19, 19, 19, 0.08);
    box-shadow: 0 18px 34px rgba(19, 19, 19, 0.06);
}

body.home-page .home-about__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    padding-bottom: clamp(1.3rem, 2.4vw, 1.9rem);
}

body.home-page .home-about__content h2 {
    margin: 0.9rem 0 0.9rem;
    color: #131313;
    font-size: clamp(2rem, 3.2vw, 3.35rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    font-weight: 900;
}

body.home-page .home-about__content p {
    margin: 0;
    max-width: 44rem;
    color: rgba(28, 27, 27, 0.75);
    font-size: 1rem;
    line-height: 1.76;
}

body.home-page .home-about__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.35rem;
    margin-top: 1.35rem;
    padding: 0.8rem 1.35rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffe178 0%, #ffcb05 100%);
    color: #111111;
    font-size: 0.98rem;
    font-weight: 900;
    text-decoration: none;
    box-shadow: none;
}

body.home-page .home-about__cta:hover,
body.home-page .home-about__cta:focus-visible {
    background: linear-gradient(135deg, #ffdf72 0%, #ffc400 100%);
    color: #111111;
    transform: translateY(-1px);
    outline: none;
}

body.home-page .home-about__media {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    min-width: 0;
    overflow: hidden;
}

body.home-page .home-about__media::before {
    content: "";
    position: absolute;
    inset: 8% 4% 6% 16%;
    background:
        radial-gradient(circle at 62% 16%, rgba(255, 236, 150, 0.34), rgba(255, 236, 150, 0) 38%),
        radial-gradient(circle at 30% 24%, rgba(168, 232, 255, 0.22), rgba(168, 232, 255, 0) 26%),
        radial-gradient(circle at 50% 70%, rgba(255, 255, 255, 0.74), rgba(255, 255, 255, 0) 44%);
    filter: blur(10px);
    pointer-events: none;
}

body.home-page .home-about__media-visual {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    width: 100%;
    min-height: clamp(24rem, 31vw, 32rem);
    overflow: hidden;
}

body.home-page .home-about__media-photo {
    position: relative;
    z-index: 1;
    display: block;
    width: auto;
    max-width: 100%;
    max-height: clamp(24rem, 31vw, 32rem);
    height: auto;
    object-fit: contain;
    object-position: center bottom;
    transform: none;
    filter: none;
}

body.home-page .blog-section {
    position: relative;
    padding-top: clamp(2.8rem, 4vw, 3.4rem) !important;
    padding-bottom: clamp(3rem, 4.8vw, 4rem) !important;
    background: transparent !important;
}

body.home-page .blog-section > .container {
    position: relative;
    padding: 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

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

body.home-page .blog-section .section-intro::before {
    display: none;
}

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

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

body.home-page .blog-section .section-kicker::before {
    content: "";
    width: 0.95rem;
    height: 0.95rem;
    flex: 0 0 auto;
    border-radius: 0;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
    box-shadow: none;
}

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

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

body.home-page .blog-section .section-stats {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

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

body.home-page .blog-section .stat-pill strong {
    display: block;
    color: #131313;
    font-size: clamp(2rem, 3.4vw, 3rem);
    line-height: 0.9;
    letter-spacing: -0.06em;
    font-weight: 900;
}

body.home-page .blog-section .stat-pill span {
    display: block;
    margin-top: 0.5rem;
    color: rgba(28, 27, 27, 0.56);
    font-size: 0.88rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

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

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

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

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

body.home-page .blog-card.pinned {
    border-color: rgba(229, 180, 0, 0.24) !important;
}

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

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

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

body.home-page .blog-thumb.is-placeholder {
    color: rgba(20, 20, 20, 0.46);
}

body.home-page .blog-thumb-label {
    font-size: 0.8rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

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

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

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

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

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

body.home-page .blog-info h3 {
    margin: 0;
    font-family: var(--bee-font-sans) !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: #ffd700;
    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-section .section-text h2 {
        font-size: clamp(1.75rem, 8vw, 2.45rem);
    }

    body.home-page .blog-card {
        border-radius: 1.7rem !important;
    }

    body.home-page .blog-info {
        padding: 1.3rem 1.2rem 1.15rem;
    }

    body.home-page .blog-info h3 {
        font-size: 1.18rem;
    }

    body.home-page .blog-excerpt {
        font-size: 0.95rem;
    }

    body.home-page .blog-link {
        font-size: 1rem;
    }

    body.home-page .blog-link::after {
        width: 2.7rem;
        height: 2.7rem;
    }
}

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

body.home-page .home-main--guest .home-exams--guest-showcase {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

body.home-page .home-main .home-about,
body.home-page .home-main--guest .home-about {
    order: 0;
}

body.home-page .class-section > .container,
body.home-page .home-courses > .container,
body.home-page .home-exams > .container,
body.home-page .home-games > .container {
    position: relative;
    padding: 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

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

body.home-page .class-section .section-intro::before,
body.home-page .home-courses .section-intro::before,
body.home-page .home-exams .section-intro::before {
    display: none;
}

body.home-page .class-section .section-text,
body.home-page .home-courses .section-text,
body.home-page .home-exams .section-text {
    max-width: 100%;
}

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

body.home-page .class-section .section-kicker::before,
body.home-page .home-courses .section-kicker::before,
body.home-page .home-exams .section-kicker::before,
body.home-page .home-exams-guest-copy .section-kicker::before {
    content: "";
    width: 0.95rem;
    height: 0.95rem;
    flex: 0 0 auto;
    border-radius: 0;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
    box-shadow: none;
}

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

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

body.home-page .class-section .section-stats,
body.home-page .home-courses .section-stats,
body.home-page .home-exams .section-stats {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0.75rem;
    flex-wrap: wrap;
}

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

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

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

body.home-page .home-courses .course-layout,
body.home-page .home-exams .home-exams-categories,
body.home-page .home-exams .home-exams-toolbar {
    position: relative;
    z-index: 1;
}

body.home-page .home-courses .course-category-tabs,
body.home-page .home-exams .home-exams-categories {
    padding: 0.35rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    border-radius: 999px;
    background: rgba(247, 244, 237, 0.92);
    box-shadow: none;
}

body.home-page .home-courses .category-tab,
body.home-page .home-exams .exam-category-pill {
    min-height: 3rem;
    padding: 0.6rem 0.95rem;
    border: 1px solid rgba(19, 19, 19, 0.08);
    border-radius: 999px;
    background: rgba(247, 244, 237, 0.92);
    color: rgba(28, 27, 27, 0.7);
    font-size: 0.84rem;
    font-weight: 800;
    transition: border-color var(--bee-fast), background-color var(--bee-fast), color var(--bee-fast), box-shadow var(--bee-fast);
}

body.home-page .home-courses .category-tab .category-count,
body.home-page .home-exams .exam-category-pill span {
    background: rgba(255, 215, 0, 0.15);
    color: #7b6100;
    font-size: 0.76rem;
    font-weight: 900;
}

body.home-page .home-courses .category-tab:hover,
body.home-page .home-courses .category-tab:focus-visible,
body.home-page .home-exams .exam-category-pill:hover,
body.home-page .home-exams .exam-category-pill:focus-visible {
    color: #131313;
    border-color: rgba(243, 199, 37, 0.28);
    background: rgba(255, 255, 255, 0.98);
    transform: none;
}

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

body.home-page .home-courses .category-tab.is-active .category-count,
body.home-page .home-exams .exam-category-pill.is-active span {
    background: rgba(255, 255, 255, 0.7);
    color: #6d5400;
}

body.home-page .class-section .class-showcase-card,
body.home-page .home-courses .course-card,
body.home-page .home-exams .exam-home-card {
    border: 1px solid rgba(19, 19, 19, 0.08) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 248, 239, 0.92)) !important;
    box-shadow: 0 16px 26px rgba(19, 19, 19, 0.05) !important;
}

body.home-page .class-section .class-showcase-card:hover,
body.home-page .class-section .class-showcase-card:focus-within,
body.home-page .home-courses .course-card:hover,
body.home-page .home-courses .course-card:focus-within,
body.home-page .home-exams .exam-home-card:hover,
body.home-page .home-exams .exam-home-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 22px 34px rgba(19, 19, 19, 0.08) !important;
}

body.home-page .home-courses .course-card,
body.home-page .home-exams .exam-home-card {
    border-radius: 1.35rem !important;
    overflow: hidden;
}

body.home-page .home-courses .course-thumb,
body.home-page .home-exams .exam-home-card__thumb img {
    border-radius: 1.35rem 1.35rem 0 0 !important;
}

body.home-page .home-courses .course-stack,
body.home-page .home-exams .home-exams-grid {
    gap: 1rem;
}

body.home-page .home-games .home-exams-guest-copy,
body.home-page .home-courses .section-stats .stat-pill:nth-of-type(-n + 2),
body.home-page .home-courses .home-exams-guest-cta {
    display: none !important;
}

@media (max-width: 900px) {
    body.home-page .home-hero--slider-only + .home-search {
        margin-top: 0.85rem;
        margin-bottom: 0;
    }

    body.home-page .home-search {
        padding: 2.25rem 0 2.7rem;
    }

    body.home-page .home-search .section-search {
        width: calc(100% - 1rem);
    }

    body.home-page .home-search .global-search {
        min-height: 4.35rem;
        padding: 0.62rem 0.72rem 0.62rem 0.88rem !important;
    }

    body.home-page .home-search .global-search input {
        font-size: 1rem;
    }

    body.home-page .home-about__shell {
        grid-template-columns: 1fr;
        gap: 1rem;
        padding-bottom: 1rem;
    }

    body.home-page .home-about__content {
        padding-bottom: 0;
    }

    body.home-page .home-about__media {
        justify-content: center;
    }

    body.home-page .home-about__media::before {
        inset: 10% 10% 4%;
    }

    body.home-page .home-about__media-visual {
        min-height: clamp(20rem, 60vw, 27rem);
        justify-content: center;
    }

    body.home-page .home-about__media-photo {
        width: auto;
        max-width: 100%;
        max-height: clamp(20rem, 60vw, 27rem);
        transform: none;
    }

    body.home-page .class-section > .container,
    body.home-page .home-courses > .container,
    body.home-page .home-exams > .container,
    body.home-page .home-games > .container {
        padding: 0;
        border-radius: 0;
    }

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

    body.home-page .class-section .section-stats,
    body.home-page .home-courses .section-stats,
    body.home-page .home-exams .section-stats {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    body.home-page .home-hero--slider-only + .home-search {
        margin-top: 0.7rem;
        margin-bottom: 0;
    }

    body.home-page .home-search {
        padding: 1.95rem 0 2.46rem;
    }

    body.home-page .home-search .section-search {
        width: calc(100% - 0.85rem);
    }

    body.home-page .home-search .global-search {
        min-height: 4rem;
        padding: 0.5rem 0.58rem 0.5rem 0.72rem !important;
    }

    body.home-page .home-search .global-search-icon,
    body.home-page .home-search .global-search-clear {
        width: 2.45rem;
        height: 2.45rem;
    }

    body.home-page .home-search .global-search input {
        font-size: 0.95rem;
    }

    body.home-page .home-about__shell {
        padding: 1rem;
        border-radius: 1.5rem;
    }

    body.home-page .home-about__content h2 {
        font-size: clamp(1.75rem, 8vw, 2.35rem);
    }

    body.home-page .home-about__content p {
        font-size: 0.94rem;
    }

    body.home-page .home-about__media {
        margin-top: 0.25rem;
    }

    body.home-page .home-about__media::before {
        inset: 12% 8% 2%;
    }

    body.home-page .home-about__media-visual {
        min-height: clamp(17rem, 76vw, 22rem);
    }

    body.home-page .home-about__media-photo {
        width: auto;
        max-width: 100%;
        max-height: clamp(17rem, 76vw, 22rem);
        transform: none;
    }

    body.home-page .class-section > .container,
    body.home-page .home-courses > .container,
    body.home-page .home-exams > .container,
    body.home-page .home-games > .container {
        padding: 0;
        border-radius: 0;
    }

    body.home-page .class-section .stat-pill,
    body.home-page .home-courses .stat-pill,
    body.home-page .home-exams .stat-pill {
        min-width: 9rem;
    }
}

body.home-page .home-main > .class-section,
body.home-page .home-main > .home-courses,
body.home-page .home-main > .home-exams,
body.home-page .home-main > .home-games,
body.home-page .home-main--guest > .class-section,
body.home-page .home-main--guest > .home-courses,
body.home-page .home-main--guest > .home-exams,
body.home-page .home-main--guest > .home-games {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

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

body.home-page .home-main--guest > .home-exams--guest-showcase {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

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

body.home-page .home-main--guest > .home-games > .container > .section-heading {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.home-page .home-main > .class-section > .container > .section-heading,
body.home-page .home-main > .home-courses > .container > .section-heading,
body.home-page .home-main > .home-exams > .container > .section-heading,
body.home-page .home-main > .home-games > .container > .section-heading,
body.home-page .home-main--guest > .class-section > .container > .section-heading,
body.home-page .home-main--guest > .home-courses > .container > .section-heading,
body.home-page .home-main--guest > .home-exams > .container > .section-heading,
body.home-page .home-main--guest > .home-games > .container > .section-heading {
    margin-top: 0;
}

@media (max-width: 900px) {
    body.home-page .home-main > .class-section,
    body.home-page .home-main > .home-courses,
    body.home-page .home-main > .home-exams,
    body.home-page .home-main > .home-games,
    body.home-page .home-main--guest > .class-section,
    body.home-page .home-main--guest > .home-courses,
    body.home-page .home-main--guest > .home-exams,
    body.home-page .home-main--guest > .home-games {
        padding-bottom: 0 !important;
    }

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

    body.home-page .home-main--guest > .home-exams--guest-showcase {
        padding-bottom: 0 !important;
    }

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

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 100%;
    padding: 0;
    border-radius: 2.05rem;
    border: 1px solid rgba(176, 148, 67, 0.14);
    background: #ffffff;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08);
    overflow: hidden;
    cursor: default;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted::before {
    content: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted:hover,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted:focus-within {
    transform: translateY(-5px);
    box-shadow: 0 28px 48px rgba(27, 24, 14, 0.12);
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__lead {
    position: relative;
    display: block;
    margin: 0;
    z-index: 1;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0;
    border-radius: 0;
    border: 0;
    background: #e9edf1;
    box-shadow: none;
    transform: none;
    overflow: hidden;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media::after {
    background: linear-gradient(180deg, rgba(19, 19, 19, 0), rgba(19, 19, 19, 0.16));
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.34rem 0.88rem;
    border-radius: 999px;
    background: #ffd700;
    color: #141414;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(255, 215, 0, 0.22);
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.85rem;
    margin-top: 0;
    padding: 1.65rem 1.75rem 1.55rem;
    border-radius: 0;
    border: 0;
    background: #ffffff;
    box-shadow: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__eyebrow-row {
    display: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__eyebrow {
    display: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
    max-width: none;
    min-height: 0;
    margin: 0;
    color: #141414;
    font-size: clamp(1.3rem, 1.7vw, 1.8rem);
    line-height: 1.18;
    letter-spacing: -0.045em;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__summary {
    margin: 0;
    color: rgba(28, 27, 27, 0.7);
    font-size: 1rem;
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__actions.is-attendance-completed {
    display: block;
    max-width: none;
    padding-top: 0.35rem;
    border-top: 0;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__action-main::before {
    content: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card {
    justify-content: space-between;
    width: 100%;
    min-height: 0;
    padding: 0.45rem 0.45rem 0.45rem 1rem;
    border-radius: 999px;
    background: transparent;
    color: #141414;
    box-shadow: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-label {
    font-size: 1.28rem;
    font-weight: 900;
    letter-spacing: -0.04em;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: #f4f1ef;
    color: #131313;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    box-shadow: none;
    transition: none;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card:hover,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card:focus-visible {
    transform: translateY(-1px);
    background: #ffd700;
    color: #141414;
}

body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card:hover .class-showcase-card__button-icon,
body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button.class-showcase-card__button--guest-card:focus-visible .class-showcase-card__button-icon {
    transform: none;
    background: #ffd700;
    box-shadow: none;
}

@media (max-width: 1180px) {
    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
        font-size: clamp(1.22rem, 1.92vw, 1.58rem);
    }
}

@media (max-width: 760px) {
    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted {
        border-radius: 1.7rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__lead {
        margin: 0;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__media {
        aspect-ratio: 16 / 9;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__badge {
        top: 0.85rem;
        left: 0.85rem;
        min-height: 1.85rem;
        padding: 0.32rem 0.76rem;
        font-size: 0.7rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__content {
        padding: 1.25rem 1.15rem 1.2rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__title {
        max-width: none;
        font-size: 1.22rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__summary {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-label {
        font-size: 1.08rem;
    }

    body.home-page .class-grid.class-grid--guest-showcase .class-showcase-card.is-restricted .class-showcase-card__button-icon {
        width: 2.7rem;
        height: 2.7rem;
        font-size: 1.7rem;
    }
}

body.home-page .home-main--guest .home-courses .course-card,
body.home-page .home-main--guest .home-exams .exam-home-card {
    position: relative;
    padding: 1rem;
    border-radius: 2rem !important;
    overflow: hidden;
}

body.home-page .home-main--guest .home-courses .course-card::before,
body.home-page .home-main--guest .home-exams .exam-home-card::before {
    content: "";
    position: absolute;
    inset: 0.8rem;
    border-radius: 1.6rem;
    border: 1px solid rgba(176, 148, 67, 0.14);
    pointer-events: none;
}

body.home-page .home-main--guest .home-courses .course-card::after,
body.home-page .home-main--guest .home-exams .exam-home-card::after {
    content: "";
    position: absolute;
    top: 1rem;
    right: 0.3rem;
    width: 4.35rem;
    height: 4.35rem;
    background: url("../img/logo-mark.svg") center / contain no-repeat;
    filter: drop-shadow(0 10px 18px rgba(19, 19, 19, 0.14));
    pointer-events: none;
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb {
    position: relative;
    z-index: 1;
    width: calc(100% - 1.55rem);
    aspect-ratio: 16 / 9;
    margin: 0 auto 0 0;
    border-radius: 1.8rem;
    border: 0.4rem solid rgba(255, 255, 255, 0.96);
    box-shadow: 0 16px 24px rgba(24, 24, 24, 0.1);
    overflow: hidden;
    transform: rotate(-0.8deg);
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper {
    margin-bottom: -1rem;
    border-bottom: 0;
}

body.home-page .home-main--guest .home-exams .exam-home-card__thumb {
    margin-bottom: -0.95rem;
    border-bottom: 0;
}

body.home-page .home-main--guest .home-courses .course-thumb,
body.home-page .home-main--guest .home-exams .exam-home-card__thumb img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 0 !important;
}

body.home-page .home-main--guest .home-courses .course-body,
body.home-page .home-main--guest .home-exams .exam-home-card__body {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    flex: 1;
    padding: 1.55rem 0.9rem 0.95rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    border-radius: 1.6rem;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 16px 22px rgba(19, 19, 19, 0.05);
}

body.home-page .home-main--guest .home-courses .course-meta {
    order: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

body.home-page .home-main--guest .home-courses .course-meta span {
    color: rgba(28, 27, 27, 0.68);
    font-size: 0.8rem;
    font-weight: 800;
}

body.home-page .home-main--guest .home-courses .course-meta span:last-child {
    order: -1;
    min-height: 2rem;
    padding: 0.36rem 0.8rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: #f6f1e4;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.74rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: normal;
}

body.home-page .home-main--guest .home-courses .course-title {
    order: 1;
    max-width: 12ch;
    min-height: 0;
    margin: 0;
    color: #141414;
    font-size: clamp(1.16rem, 1.45vw, 1.46rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    display: block;
}

body.home-page .home-main--guest .home-courses .course-level {
    order: 2;
    margin: 0;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-main--guest .home-courses .course-action {
    order: 3;
    margin-top: auto;
    width: 100%;
    min-height: 3.25rem;
    padding: 0.9rem 1rem;
    border-radius: 999px !important;
}

body.home-page .home-main--guest .home-courses .course-action .course-action-icon {
    display: none;
}

body.home-page .home-main--guest .home-exams .exam-home-card__tags {
    gap: 0.4rem;
}

body.home-page .home-main--guest .home-exams .exam-home-tag {
    min-height: 2rem;
    padding: 0.34rem 0.76rem;
    border-radius: 999px;
    border: 1px solid rgba(19, 19, 19, 0.07);
    background: #f6f1e4;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-main--guest .home-exams .exam-home-tag.is-free {
    background: rgba(255, 240, 168, 0.56);
    color: #8b6a0d;
}

body.home-page .home-main--guest .home-exams .exam-home-tag.is-vip {
    background: rgba(222, 232, 255, 0.78);
    color: #3355a3;
}

body.home-page .home-main--guest .home-exams .exam-home-card h3 {
    max-width: 12ch;
    margin: 0;
    color: #141414;
    font-family: inherit;
    font-size: clamp(1.14rem, 1.45vw, 1.44rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

body.home-page .home-main--guest .home-exams .exam-home-card p {
    min-height: 0;
    margin: 0;
    color: rgba(28, 27, 27, 0.68);
    font-size: 0.84rem;
    line-height: 1.5;
    -webkit-line-clamp: 2;
}

body.home-page .home-main--guest .home-exams .exam-home-card__info {
    margin-top: 0;
    padding-top: 0.8rem;
    border-top: 1px dashed rgba(176, 148, 67, 0.35);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.48rem 0.65rem;
}

body.home-page .home-main--guest .home-exams .exam-home-card__info span {
    display: flex;
    flex-direction: column;
    gap: 0.12rem;
    font-size: 0.78rem;
    font-weight: 800;
    color: rgba(28, 27, 27, 0.72);
}

body.home-page .home-main--guest .home-exams .exam-home-card__info strong {
    color: #8b6a0d;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-main--guest .home-exams .exam-home-card__footer {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0.65rem;
    padding: 0 0.9rem 0.95rem;
    border: 1px solid rgba(19, 19, 19, 0.06);
    border-top: 0;
    border-radius: 0 0 1.6rem 1.6rem;
    background: rgba(255, 255, 255, 0.92);
}

body.home-page .home-main--guest .home-exams .exam-home-duration {
    align-self: flex-start;
    min-height: 2rem;
    padding: 0.34rem 0.76rem;
    border-radius: 999px;
    background: #f6f1e4;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.home-page .home-main--guest .home-exams .exam-home-action {
    width: 100%;
    min-height: 3.25rem;
    padding: 0.9rem 1rem;
    border-radius: 999px;
    font-size: 0.94rem;
    font-weight: 900;
}

@media (max-width: 1180px) {
    body.home-page .home-main--guest .home-courses .course-title,
    body.home-page .home-main--guest .home-exams .exam-home-card h3 {
        max-width: 14ch;
    }
}

@media (max-width: 760px) {
    body.home-page .home-main--guest .home-courses .course-card,
    body.home-page .home-main--guest .home-exams .exam-home-card {
        padding: 0.9rem;
        border-radius: 1.85rem !important;
    }

    body.home-page .home-main--guest .home-courses .course-card::before,
    body.home-page .home-main--guest .home-exams .exam-home-card::before {
        inset: 0.65rem;
        border-radius: 1.4rem;
    }

    body.home-page .home-main--guest .home-courses .course-card::after,
    body.home-page .home-main--guest .home-exams .exam-home-card::after {
        width: 3.85rem;
        height: 3.85rem;
        top: 0.8rem;
        right: 0.2rem;
    }

    body.home-page .home-main--guest .home-courses .course-thumb-wrapper,
    body.home-page .home-main--guest .home-exams .exam-home-card__thumb {
        width: calc(100% - 1.2rem);
        transform: rotate(-0.45deg);
    }

    body.home-page .home-main--guest .home-courses .course-body,
    body.home-page .home-main--guest .home-exams .exam-home-card__body {
        padding-left: 0.85rem;
        padding-right: 0.85rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card__footer {
        padding: 0 0.85rem 0.85rem;
    }

    body.home-page .home-main--guest .home-courses .course-title,
    body.home-page .home-main--guest .home-exams .exam-home-card h3 {
        max-width: none;
    }
}

/* Guest home courses: rebuilt clean stack */
body.home-page .home-main--guest .home-courses .course-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    border-radius: 2.05rem !important;
    border: 1px solid rgba(212, 193, 132, 0.14) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08) !important;
    isolation: isolate;
}

body.home-page .home-main--guest .home-courses .course-card:hover,
body.home-page .home-main--guest .home-courses .course-card:focus-within {
    transform: translateY(-5px);
    box-shadow: 0 28px 48px rgba(27, 24, 14, 0.12) !important;
}

body.home-page .home-main--guest .home-courses .course-card::before {
    content: none;
}

body.home-page .home-main--guest .home-courses .course-card::after {
    content: none;
}

body.home-page .home-main--guest .home-courses .course-thumb-wrapper {
    position: relative;
    z-index: 1;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0;
    border: 0 !important;
    box-shadow: none;
    transform: none !important;
    overflow: hidden;
    background: transparent;
}

body.home-page .home-main--guest .home-courses .course-thumb {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    object-position: center;
    display: block;
}

body.home-page .home-main--guest .home-courses .course-body {
    position: relative;
    z-index: 1;
    gap: 0.85rem;
    padding: 1.65rem 1.75rem 1.55rem;
    border-radius: 0;
    border: 0;
    background: #ffffff;
    box-shadow: none;
}

body.home-page .home-main--guest .home-courses .course-title {
    max-width: none;
    min-height: 0;
    margin: 0;
    font-size: clamp(1.3rem, 1.7vw, 1.8rem);
    line-height: 1.18;
    letter-spacing: -0.045em;
    color: #141414;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.home-page .home-main--guest .home-courses .course-summary {
    margin: 0;
    color: rgba(28, 27, 27, 0.7);
    font-size: 1rem;
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home-page .home-main--guest .home-courses .course-level,
body.home-page .home-main--guest .home-courses .course-meta {
    display: none;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card {
    justify-content: space-between;
    width: 100%;
    min-height: 0;
    margin-top: 0.35rem;
    padding: 0.45rem 0.45rem 0.45rem 1rem;
    border: 0;
    border-radius: 999px !important;
    background: transparent !important;
    color: #141414 !important;
    box-shadow: none !important;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main--guest .home-courses .course-action-label {
    font-size: 1.28rem;
    font-weight: 900;
    letter-spacing: -0.04em;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card .course-action-icon {
    width: 3rem;
    height: 3rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #f4f1ef;
    background-image: none;
    color: #131313;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    box-shadow: none;
    transition: background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:hover,
body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:focus-visible {
    transform: translateY(-1px);
    background: #ffd700 !important;
    color: #141414 !important;
}

body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:hover .course-action-icon,
body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card:focus-visible .course-action-icon {
    transform: none;
    background: #ffd700;
    box-shadow: none;
}

@media (max-width: 760px) {
    body.home-page .home-main--guest .home-courses .course-card {
        padding: 0;
        border-radius: 1.7rem !important;
    }

    body.home-page .home-main--guest .home-courses .course-thumb-wrapper {
        width: 100% !important;
        transform: none !important;
    }

    body.home-page .home-main--guest .home-courses .course-body {
        padding: 1.25rem 1.15rem 1.2rem;
    }

    body.home-page .home-main--guest .home-courses .course-title {
        font-size: 1.22rem;
    }

    body.home-page .home-main--guest .home-courses .course-summary {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    body.home-page .home-main--guest .home-courses .course-action-label {
        font-size: 1.08rem;
    }

    body.home-page .home-main--guest .home-courses .course-action.course-action--guest-card .course-action-icon {
        width: 2.7rem;
        height: 2.7rem;
        font-size: 1.7rem;
    }
}

/* Logged-in home courses: match guest legacy card presentation */
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    border-radius: 1.45rem !important;
    border: 1px solid rgba(212, 193, 132, 0.12) !important;
    background: #ffffff !important;
    box-shadow: 0 16px 30px rgba(27, 24, 14, 0.08) !important;
    isolation: isolate;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-card:focus-within {
    transform: translateY(-3px);
    box-shadow: 0 22px 36px rgba(27, 24, 14, 0.1) !important;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-card::before {
    content: none;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-card::after {
    content: none;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb-wrapper {
    position: relative;
    z-index: 1;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 1.45rem 1.45rem 0 0;
    border: 0 !important;
    box-shadow: none;
    transform: none !important;
    overflow: hidden;
    background: transparent;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-thumb {
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover !important;
    object-position: center;
    display: block;
    border-radius: 1.45rem 1.45rem 0 0 !important;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    min-height: 9.75rem;
    padding: 1.05rem 1.05rem 1.3rem !important;
    border: 0;
    border-radius: 0;
    background: #ffffff !important;
    box-shadow: none;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-title {
    order: 1;
    max-width: none;
    min-height: 0;
    margin: 0;
    color: #141414;
    font-size: clamp(1rem, 1.15vw, 1.26rem);
    line-height: 1.25;
    letter-spacing: -0.03em;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-summary {
    margin: 0;
    color: rgba(28, 27, 27, 0.7);
    font-size: 0.82rem;
    line-height: 1.5;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-level,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-meta {
    display: none !important;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card {
    justify-content: space-between;
    width: 100%;
    min-height: 0;
    margin-top: auto;
    padding: 0.15rem 0 0;
    border: 0;
    border-radius: 0 !important;
    background: transparent !important;
    color: #141414 !important;
    box-shadow: none !important;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:hover,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:focus-visible {
    transform: translateY(-1px);
    background: transparent !important;
    color: #141414 !important;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action-label {
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: -0.02em;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card .course-action-icon {
    width: 1.85rem;
    height: 1.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #f4f1ef;
    background-image: none;
    color: #131313;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: none;
    transition: background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:hover .course-action-icon,
body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card:focus-visible .course-action-icon {
    transform: none;
    background: rgba(244, 241, 239, 0.92);
    box-shadow: none;
}

@media (max-width: 760px) {
    body.home-page .home-main:not(.home-main--guest) .home-courses .course-card {
        border-radius: 1.3rem !important;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-body {
        min-height: 8.9rem;
        padding: 0.95rem 0.95rem 1.15rem !important;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-title {
        font-size: 0.96rem;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-summary {
        font-size: 0.76rem;
        line-height: 1.45;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-action-label {
        font-size: 0.84rem;
    }

    body.home-page .home-main:not(.home-main--guest) .home-courses .course-action.course-action--member-card .course-action-icon {
        width: 1.7rem;
        height: 1.7rem;
        font-size: 1rem;
    }
}

/* Guest home exams: align with rebuilt class/course cards */
body.home-page .home-main--guest .home-exams .exam-home-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0 !important;
    border-radius: 2.05rem !important;
    border: 1px solid rgba(212, 193, 132, 0.14) !important;
    background: #ffffff !important;
    box-shadow: 0 22px 42px rgba(27, 24, 14, 0.08) !important;
    overflow: hidden;
}

body.home-page .home-main--guest .home-exams .exam-home-card:hover,
body.home-page .home-main--guest .home-exams .exam-home-card:focus-within {
    transform: translateY(-5px);
    box-shadow: 0 28px 48px rgba(27, 24, 14, 0.12) !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card::before,
body.home-page .home-main--guest .home-exams .exam-home-card::after {
    content: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card__thumb {
    position: relative;
    z-index: 1;
    width: 100% !important;
    aspect-ratio: 16 / 9;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: hidden;
    background: transparent;
}

body.home-page .home-main--guest .home-exams .exam-home-card__thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center;
    display: block;
}

body.home-page .home-main--guest .home-exams .exam-home-card__body {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1.65rem 1.75rem 0.25rem;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    box-shadow: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card__tags,
body.home-page .home-main--guest .home-exams .exam-home-card__info {
    display: none !important;
}

body.home-page .home-main--guest .home-exams .exam-home-card h3 {
    max-width: none !important;
    min-height: 0;
    margin: 0;
    color: #141414;
    font-size: clamp(1.3rem, 1.7vw, 1.8rem);
    line-height: 1.18;
    letter-spacing: -0.045em;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.home-page .home-main--guest .home-exams .exam-home-card p[data-exam-meta] {
    min-height: 0;
    margin: 0;
    color: rgba(28, 27, 27, 0.7);
    font-size: 1rem;
    line-height: 1.6;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.home-page .home-main--guest .home-exams .exam-home-card__footer {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row !important;
    align-items: center;
    align-self: stretch;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 0.9rem;
    padding: 0 1.75rem 1.55rem;
    border: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
}

body.home-page .home-main--guest .home-exams .exam-home-duration {
    align-self: auto;
    order: -1;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(28, 27, 27, 0.62);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
}

body.home-page .home-main--guest .home-exams .exam-home-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    order: 1;
    gap: 0.9rem;
    width: auto;
    min-height: 0;
    padding: 0.45rem 0.45rem 0.45rem 1rem;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #141414 !important;
    box-shadow: none !important;
    font-size: 1.28rem;
    font-weight: 900;
    letter-spacing: -0.04em;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main--guest .home-exams .exam-home-action::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: #f4f1ef;
    color: #131313;
    font-size: 2rem;
    font-weight: 300;
    line-height: 1;
    box-shadow: none;
    transition: background 0.2s ease, color 0.2s ease;
}

body.home-page .home-main--guest .home-exams .exam-home-action:hover,
body.home-page .home-main--guest .home-exams .exam-home-action:focus-visible {
    transform: translateY(-1px);
    background: #ffd700 !important;
    color: #141414 !important;
}

body.home-page .home-main--guest .home-exams .exam-home-action:hover::after,
body.home-page .home-main--guest .home-exams .exam-home-action:focus-visible::after {
    transform: none;
    background: #ffd700;
    box-shadow: none;
}

body.home-page .home-main--guest .home-exams .exam-home-action.is-locked {
    opacity: 0.7;
}

@media (max-width: 760px) {
    body.home-page .home-main--guest .home-exams .exam-home-card {
        border-radius: 1.7rem !important;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card__body {
        padding: 1.25rem 1.15rem 0.2rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card h3 {
        font-size: 1.22rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card p[data-exam-meta] {
        font-size: 0.92rem;
        line-height: 1.55;
    }

    body.home-page .home-main--guest .home-exams .exam-home-card__footer {
        padding: 0 1.15rem 1.2rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-duration {
        font-size: 0.86rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-action {
        font-size: 1.08rem;
    }

    body.home-page .home-main--guest .home-exams .exam-home-action::after {
        width: 2.7rem;
        height: 2.7rem;
        font-size: 1.7rem;
    }
}

/* Footer: BeeBee contact */
body .site-footer.site-footer--beebee {
    margin-top: clamp(1.25rem, 3vw, 2rem) !important;
    padding: 0 !important;
    background: linear-gradient(180deg, #ffd84d 0%, #ffcb05 100%) !important;
    color: #111111 !important;
    border-top: 1px solid rgba(17, 17, 17, 0.08);
}

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

body .site-footer.site-footer--beebee .container {
    position: relative;
}

body .site-footer.site-footer--beebee .site-footer__shell {
    padding: clamp(2rem, 4vw, 2.8rem) 0 1rem;
}

body .site-footer.site-footer--beebee .site-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
}

body .site-footer.site-footer--beebee .site-footer__panel {
    min-width: 0;
    padding: 1.4rem 1.45rem;
    border-radius: 1.8rem;
    background: rgba(255, 245, 196, 0.44);
    border: 1px solid rgba(17, 17, 17, 0.08);
    box-shadow: none;
}

body .site-footer.site-footer--beebee .site-footer__panel--brand {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body .site-footer.site-footer--beebee .site-footer__brand-top {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 1.05rem;
}

body .site-footer.site-footer--beebee .site-footer__logo {
    width: auto;
    height: 3.4rem;
    display: block;
}

body .site-footer.site-footer--beebee .site-footer__eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: 0.38rem 0.8rem;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.08);
    color: #111111;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body .site-footer.site-footer--beebee .site-footer__title {
    margin: 0;
    color: #111111;
    font-size: clamp(1.45rem, 2.1vw, 2rem);
    line-height: 1.08;
    letter-spacing: -0.04em;
    font-weight: 900;
}

body .site-footer.site-footer--beebee .site-footer__lead {
    margin: 0.95rem 0 0;
    max-width: 34rem;
    color: rgba(17, 17, 17, 0.72);
    font-size: 1rem;
    line-height: 1.65;
}

body .site-footer.site-footer--beebee .site-footer__panel-title {
    margin: 0 0 1rem;
    color: #111111;
    font-size: 1rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .site-footer.site-footer--beebee .site-footer__list {
    list-style: none;
    display: grid;
    gap: 0.95rem;
    margin: 0;
    padding: 0;
}

body .site-footer.site-footer--beebee .site-footer__item {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
}

body .site-footer.site-footer--beebee .site-footer__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 2.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.42);
    color: #111111;
}

body .site-footer.site-footer--beebee .site-footer__icon svg {
    width: 1.18rem;
    height: 1.18rem;
    display: block;
}

body .site-footer.site-footer--beebee .site-footer__item-copy {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

body .site-footer.site-footer--beebee .site-footer__item-copy strong {
    color: #111111;
    font-size: 0.88rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body .site-footer.site-footer--beebee .site-footer__item-copy span {
    color: rgba(17, 17, 17, 0.8);
    font-size: 0.98rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

body .site-footer.site-footer--beebee .site-footer__link {
    color: #111111;
    text-decoration: none;
    border-bottom: 1px solid rgba(17, 17, 17, 0.22);
}

body .site-footer.site-footer--beebee .site-footer__link:hover,
body .site-footer.site-footer--beebee .site-footer__link:focus-visible {
    color: #111111;
    border-bottom-color: rgba(17, 17, 17, 0.68);
    outline: none;
}

body .site-footer.site-footer--beebee .site-footer__sep {
    display: inline-block;
    margin: 0 0.35rem;
    color: rgba(17, 17, 17, 0.45);
}

body .site-footer.site-footer--beebee .site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem 1rem;
    margin-top: 1rem;
    padding: 1rem 0 0;
    border-top: 1px solid rgba(17, 17, 17, 0.14);
}

body .site-footer.site-footer--beebee .site-footer__copyright {
    margin: 0;
    color: rgba(17, 17, 17, 0.72);
    font-size: 0.95rem;
    line-height: 1.5;
}

body .site-footer.site-footer--beebee .site-footer__brand-actions {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-top: 1.35rem;
}

body .site-footer.site-footer--beebee .site-footer__consultation-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.2rem;
    padding: 0.8rem 1.35rem;
    border: 0;
    border-radius: 999px;
    background: #111111;
    color: #ffd84d;
    font: inherit;
    font-weight: 900;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    box-shadow: 0 18px 36px rgba(17, 17, 17, 0.16);
}

body .site-footer.site-footer--beebee .site-footer__consultation-trigger:hover,
body .site-footer.site-footer--beebee .site-footer__consultation-trigger:focus-visible {
    transform: translateY(-1px);
    background: rgba(17, 17, 17, 0.92);
    outline: none;
}

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

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

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

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

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

body .site-footer.site-footer--beebee .site-footer__consultation-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 17, 17, 0.48);
    backdrop-filter: blur(8px);
    cursor: pointer;
}

body .site-footer.site-footer--beebee .site-footer__consultation-panel {
    position: relative;
    z-index: 1;
    width: min(1120px, calc(100vw - 2rem));
    max-height: min(86vh, 820px);
    overflow: auto;
    overscroll-behavior: contain;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 1.3rem;
    padding: 1.4rem;
    border-radius: 1.9rem;
    background:
        radial-gradient(circle at top right, rgba(255, 230, 126, 0.34), transparent 30%),
        linear-gradient(180deg, rgba(255, 252, 239, 0.95), rgba(250, 238, 191, 0.9));
    border: 1px solid rgba(17, 17, 17, 0.12);
    box-shadow: 0 32px 70px rgba(17, 17, 17, 0.24);
}

body .site-footer.site-footer--beebee .site-footer__consultation-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.9rem;
    height: 2.9rem;
    border: 0;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.08);
    color: #111111;
    font: inherit;
    font-size: 1.5rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

body .site-footer.site-footer--beebee .site-footer__consultation-close:hover,
body .site-footer.site-footer--beebee .site-footer__consultation-close:focus-visible {
    background: rgba(17, 17, 17, 0.14);
    transform: translateY(-1px);
    outline: none;
}

body .site-footer.site-footer--beebee .site-footer__consultation-success-dialog {
    position: relative;
    z-index: 1;
    width: min(520px, calc(100vw - 2rem));
    display: grid;
    gap: 0.95rem;
    justify-items: center;
    padding: 2rem 1.6rem 1.75rem;
    border-radius: 1.9rem;
    text-align: center;
    background:
        radial-gradient(circle at top center, rgba(255, 230, 126, 0.36), transparent 34%),
        linear-gradient(180deg, rgba(255, 252, 239, 0.98), rgba(250, 238, 191, 0.96));
    border: 1px solid rgba(17, 17, 17, 0.12);
    box-shadow: 0 32px 70px rgba(17, 17, 17, 0.26);
}

body .site-footer.site-footer--beebee .site-footer__consultation-success-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.2rem;
    height: 4.2rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #111111, rgba(17, 17, 17, 0.9));
    color: #ffd84d;
    font-size: 2rem;
    font-weight: 900;
    box-shadow: 0 18px 34px rgba(17, 17, 17, 0.16);
}

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

body .site-footer.site-footer--beebee .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--beebee .site-footer__consultation-success-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.15rem;
    min-width: 11rem;
    padding: 0.85rem 1.5rem;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(17, 17, 17, 0.94), #111111);
    color: #ffd84d;
    font: inherit;
    font-size: 0.98rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    cursor: pointer;
    box-shadow: 0 18px 34px rgba(17, 17, 17, 0.14);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

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

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

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

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

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

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

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

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

body .site-footer.site-footer--beebee .site-footer__field input,
body .site-footer.site-footer--beebee .site-footer__field textarea {
    width: 100%;
    border: 1px solid rgba(17, 17, 17, 0.14);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.72);
    color: #111111;
    font: inherit;
    padding: 0.92rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

body .site-footer.site-footer--beebee .site-footer__field textarea {
    resize: vertical;
    min-height: 7.8rem;
}

body .site-footer.site-footer--beebee .site-footer__field input:focus,
body .site-footer.site-footer--beebee .site-footer__field textarea:focus {
    outline: none;
    border-color: rgba(17, 17, 17, 0.32);
    box-shadow: 0 0 0 4px rgba(255, 216, 77, 0.22);
    background: rgba(255, 255, 255, 0.9);
}

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

body .site-footer.site-footer--beebee .site-footer__consultation-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.5rem;
    width: 100%;
    border: 0;
    border-radius: 1.05rem;
    background: linear-gradient(180deg, rgba(17, 17, 17, 0.94), #111111);
    color: #ffd84d;
    font: inherit;
    font-weight: 900;
    font-size: 1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
    box-shadow: 0 18px 34px rgba(17, 17, 17, 0.14);
}

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

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

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

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

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

body .site-footer.site-footer--beebee .site-footer__site-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.6rem;
    padding: 0.55rem 1rem;
    border-radius: 999px;
    background: rgba(17, 17, 17, 0.08);
    color: #111111;
    text-decoration: none;
    font-weight: 800;
}

body .site-footer.site-footer--beebee .site-footer__site-link:hover,
body .site-footer.site-footer--beebee .site-footer__site-link:focus-visible {
    background: rgba(17, 17, 17, 0.14);
    color: #111111;
    outline: none;
}

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

    body .site-footer.site-footer--beebee .site-footer__panel--brand {
        grid-column: 1 / -1;
    }

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

@media (max-width: 720px) {
    body .site-footer.site-footer--beebee .site-footer__shell {
        padding: 1.65rem 0 0.95rem;
    }

    body .site-footer.site-footer--beebee .site-footer__grid {
        grid-template-columns: 1fr;
    }

    body .site-footer.site-footer--beebee .site-footer__panel {
        padding: 1.15rem 1.1rem;
        border-radius: 1.45rem;
    }

    body .site-footer.site-footer--beebee .site-footer__brand-top {
        flex-wrap: wrap;
    }

    body .site-footer.site-footer--beebee .site-footer__logo {
        height: 2.85rem;
    }

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

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

    body .site-footer.site-footer--beebee .site-footer__consultation-trigger {
        width: 100%;
    }

    body .site-footer.site-footer--beebee .site-footer__consultation-close {
        top: 0.75rem;
        right: 0.75rem;
        width: 2.6rem;
        height: 2.6rem;
    }

    body .site-footer.site-footer--beebee .site-footer__consultation-logo {
        height: 3rem;
    }

    body .site-footer.site-footer--beebee .site-footer__lead,
    body .site-footer.site-footer--beebee .site-footer__item-copy span {
        font-size: 0.94rem;
    }

    body .site-footer.site-footer--beebee .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Home gallery preview */
body.home-page .home-gallery > .container {
    padding: clamp(1.4rem, 2vw, 2rem);
    border-radius: 2.2rem;
    background:
        radial-gradient(circle at top right, rgba(255, 226, 124, 0.28), transparent 28%),
        radial-gradient(circle at 16% 20%, rgba(133, 214, 255, 0.14), transparent 24%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(255, 249, 231, 0.98));
    border: 1px solid rgba(188, 135, 0, 0.16);
    box-shadow: 0 24px 46px rgba(27, 24, 14, 0.08);
}

body.home-page .home-gallery__intro {
    align-items: flex-end;
    gap: 1.2rem;
    margin-bottom: 1.55rem;
}

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

body.home-page .home-gallery .section-stats {
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.75rem;
}

body.home-page .home-gallery__controls {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
}

body.home-page .home-gallery__control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: #181209;
    box-shadow: 0 14px 30px rgba(27, 24, 14, 0.12);
}

body.home-page .home-gallery__control:hover,
body.home-page .home-gallery__control:focus-visible {
    background: #ffd44c;
    color: #181209;
    outline: none;
}

body.home-page .home-gallery__control[disabled] {
    opacity: 0.38;
    pointer-events: none;
    box-shadow: none;
}

body.home-page .home-gallery__control svg {
    width: 1.2rem;
    height: 1.2rem;
}

body.home-page .home-gallery-cta {
    white-space: nowrap;
}

body.home-page .home-gallery__cta-wrap {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

body.home-page .home-gallery__showcase {
    display: grid;
    gap: 1rem;
}

body.home-page .home-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    aspect-ratio: 4 / 3;
}

body.home-page .home-gallery-grid .home-gallery-card {
    grid-column: var(--gc, auto) / span var(--gcs, 1);
    grid-row: var(--gr, auto) / span var(--grs, 1);
    min-height: 0;
    margin: 0;
    height: 100%;
}

body.home-page .home-gallery-grid .home-gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.home-page .home-gallery-card {
    position: relative;
    display: block;
    width: 100%;
    min-height: 100%;
    border-radius: 1.85rem;
    overflow: hidden;
    isolation: isolate;
    background: #14120d;
    box-shadow: 0 18px 36px rgba(27, 24, 14, 0.12);
    text-decoration: none;
    color: #fffdf6;
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

body.home-page .home-gallery-card:hover,
body.home-page .home-gallery-card:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 24px 42px rgba(27, 24, 14, 0.16);
    outline: none;
}

body.home-page .home-gallery-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 320ms ease;
}

body.home-page .home-gallery-card:hover img,
body.home-page .home-gallery-card:focus-visible img {
    transform: scale(1.04);
}

body.home-page .home-gallery__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

body.home-page .home-gallery__hint-line {
    margin: 0;
    color: rgba(28, 27, 27, 0.64);
    font-size: 0.95rem;
    line-height: 1.5;
}

body.home-page .home-gallery__dots {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
}

body.home-page .home-gallery__dot {
    width: 0.82rem;
    height: 0.82rem;
    border: 0;
    border-radius: 999px;
    background: rgba(24, 18, 9, 0.14);
}

body.home-page .home-gallery__dot.is-active {
    width: 2.05rem;
    background: linear-gradient(135deg, #ffd44c 0%, #f2bc00 100%);
}

/* Gallery page */
body.gallery-page {
    background:
        radial-gradient(circle at top left, rgba(255, 224, 138, 0.12), transparent 24%),
        linear-gradient(180deg, #f6f2ea 0%, #efe8dc 100%);
}

body.gallery-page .gallery-hero {
    display: none;
}

body.gallery-page .gallery-back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 1rem;
    color: #7a5710;
    font-weight: 700;
    text-decoration: none;
}

body.gallery-page .gallery-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    gap: clamp(1.1rem, 2vw, 1.8rem);
    align-items: stretch;
}

body.gallery-page .gallery-hero__copy,
body.gallery-page .gallery-hero__panel {
    padding: clamp(1.5rem, 2.4vw, 2rem);
    border-radius: 2rem;
    border: 1px solid rgba(188, 135, 0, 0.14);
    background:
        radial-gradient(circle at top right, rgba(255, 226, 124, 0.24), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 248, 226, 0.96));
    box-shadow: 0 22px 44px rgba(27, 24, 14, 0.08);
}

body.gallery-page .gallery-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.42rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 214, 90, 0.22);
    color: #7b5810;
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.gallery-page .gallery-hero h1 {
    margin: 0.8rem 0 0.7rem;
    font-size: clamp(2.35rem, 4vw, 4.1rem);
    line-height: 0.98;
    color: #181209;
}

body.gallery-page .gallery-hero p,
body.gallery-page .gallery-hero__panel p {
    margin: 0;
    color: rgba(24, 18, 9, 0.74);
    font-size: 1rem;
    line-height: 1.75;
}

body.gallery-page .gallery-hero__stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-top: 1.3rem;
}

body.gallery-page .gallery-stat {
    padding: 1rem 1.1rem;
    border-radius: 1.3rem;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(188, 135, 0, 0.14);
}

body.gallery-page .gallery-stat strong {
    display: block;
    font-size: 1.55rem;
    line-height: 1;
    color: #181209;
}

body.gallery-page .gallery-stat span {
    display: block;
    margin-top: 0.35rem;
    color: rgba(24, 18, 9, 0.66);
    font-size: 0.92rem;
}

body.gallery-page .gallery-hero__panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}

body.gallery-page .gallery-hero__panel h2 {
    margin: 0;
    color: #181209;
    font-size: 1.35rem;
}

body.gallery-page .gallery-hero__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-width: 10rem;
    padding: 0.9rem 1.35rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd65a 0%, #e0aa00 55%, #bc8700 100%);
    color: #181209;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 16px 28px rgba(188, 135, 0, 0.22);
}

body.gallery-page .gallery-content {
    padding-top: clamp(7.2rem, 9vw, 8.2rem);
    padding-bottom: clamp(2.2rem, 4vw, 3.6rem);
}

body.gallery-page .gallery-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.35rem;
}

body.gallery-page .gallery-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.72rem;
}

body.gallery-page .gallery-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.8rem 1rem;
    border-radius: 999px;
    border: 1px solid rgba(188, 135, 0, 0.16);
    background: rgba(255, 255, 255, 0.86);
    color: #5f4300;
    font-weight: 800;
    cursor: pointer;
    transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

body.gallery-page .gallery-filter span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.8rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: rgba(255, 214, 90, 0.18);
    font-size: 0.8rem;
}

body.gallery-page .gallery-filter:hover,
body.gallery-page .gallery-filter:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(188, 135, 0, 0.28);
}

body.gallery-page .gallery-filter.is-active {
    background: linear-gradient(135deg, #ffd65a 0%, #e0aa00 55%, #bc8700 100%);
    border-color: rgba(188, 135, 0, 0.42);
    color: #181209;
    box-shadow: 0 12px 26px rgba(188, 135, 0, 0.2);
}

body.gallery-page .gallery-filter.is-active span {
    background: rgba(24, 18, 9, 0.1);
}

body.gallery-page .gallery-status {
    margin: 0;
    padding-top: 0.85rem;
    color: rgba(24, 18, 9, 0.62);
    font-weight: 700;
    white-space: nowrap;
}

body.gallery-page .gallery-masonry {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
    align-items: stretch;
}

body.gallery-page .gallery-card {
    display: block;
    width: auto;
    margin: 0;
    min-width: 0;
}

body.gallery-page .gallery-card__link {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}

body.gallery-page .gallery-card__figure {
    margin: 0;
    height: 100%;
    overflow: hidden;
    border-radius: 1.7rem;
    border: 1px solid rgba(188, 135, 0, 0.14);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 22px 38px rgba(27, 24, 14, 0.1);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

body.gallery-page .gallery-card__link:hover .gallery-card__figure,
body.gallery-page .gallery-card__link:focus-visible .gallery-card__figure {
    transform: translateY(-4px);
    box-shadow: 0 28px 46px rgba(27, 24, 14, 0.14);
}

body.gallery-page .gallery-card__media {
    aspect-ratio: 4 / 3;
    background: rgba(255, 247, 224, 0.88);
    line-height: 0;
    overflow: hidden;
}

body.gallery-page .gallery-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.gallery-page .gallery-empty {
    display: none;
    padding: 1.35rem 1.5rem;
    border-radius: 1.4rem;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(188, 135, 0, 0.14);
    color: rgba(24, 18, 9, 0.66);
    font-weight: 700;
    text-align: center;
}

body.gallery-page .gallery-empty.is-visible {
    display: block;
}

body.gallery-page .gallery-load-more {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1rem;
}

body.gallery-page .gallery-load-more__button {
    min-width: 12rem;
}

body.gallery-page .gallery-load-more__hint {
    margin: 0;
    color: rgba(24, 18, 9, 0.54);
    font-size: 0.9rem;
}

body.gallery-page .gallery-sentinel {
    width: 100%;
    height: 1px;
}

body.gallery-page.gallery-lightbox-open {
    overflow: hidden;
}

body.gallery-page .gallery-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2rem);
    background: rgba(17, 13, 7, 0.76);
    backdrop-filter: blur(10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease;
}

body.gallery-page .gallery-lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
}

body.gallery-page .gallery-lightbox__backdrop {
    position: absolute;
    inset: 0;
}

body.gallery-page .gallery-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 0.8rem;
    width: min(94vw, 1120px);
    max-height: 90vh;
    margin: 0;
    padding: clamp(0.75rem, 2vw, 1.1rem);
    border-radius: clamp(1.2rem, 3vw, 2rem);
    border: 1px solid rgba(255, 255, 255, 0.72);
    background: rgba(255, 253, 244, 0.97);
    box-shadow: 0 34px 90px rgba(5, 4, 2, 0.42);
    transform: translateY(14px) scale(0.98);
    transition: transform 0.18s ease;
}

body.gallery-page .gallery-lightbox.is-open .gallery-lightbox__dialog {
    transform: translateY(0) scale(1);
}

body.gallery-page .gallery-lightbox__image-wrap {
    position: relative;
    display: grid;
    place-items: center;
    min-height: min(44vh, 420px);
    border-radius: clamp(1rem, 2.4vw, 1.55rem);
    background:
        linear-gradient(135deg, rgba(255, 244, 209, 0.8), rgba(255, 255, 255, 0.96)),
        rgba(255, 247, 224, 0.9);
    overflow: hidden;
}

body.gallery-page .gallery-lightbox__image-wrap img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: calc(90vh - 6.5rem);
    object-fit: contain;
}

body.gallery-page .gallery-lightbox__nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(188, 135, 0, 0.2);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: rgba(24, 18, 9, 0.9);
    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 16px 34px rgba(27, 24, 14, 0.18);
}

body.gallery-page .gallery-lightbox__nav--prev {
    left: clamp(0.75rem, 2vw, 1.1rem);
}

body.gallery-page .gallery-lightbox__nav--next {
    right: clamp(0.75rem, 2vw, 1.1rem);
}

body.gallery-page .gallery-lightbox__nav:hover,
body.gallery-page .gallery-lightbox__nav:focus-visible {
    border-color: rgba(188, 135, 0, 0.46);
    background: #fff8df;
    outline: none;
}

body.gallery-page .gallery-lightbox__nav:disabled {
    cursor: default;
    opacity: 0.42;
    box-shadow: none;
}

body.gallery-page .gallery-lightbox__status {
    margin: 0;
    color: rgba(24, 18, 9, 0.62);
    font-size: 0.92rem;
    font-weight: 800;
    text-align: center;
}

body.gallery-page .gallery-lightbox__caption {
    margin: 0;
    color: rgba(24, 18, 9, 0.72);
    font-weight: 800;
    text-align: center;
}

body.gallery-page .gallery-lightbox__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(188, 135, 0, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.95);
    color: rgba(24, 18, 9, 0.86);
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 16px 34px rgba(27, 24, 14, 0.16);
}

body.gallery-page .gallery-lightbox__close:hover,
body.gallery-page .gallery-lightbox__close:focus-visible {
    border-color: rgba(188, 135, 0, 0.46);
    background: #fff8df;
    outline: none;
}

@media (max-width: 1100px) {
    body.home-page .home-gallery__intro {
        align-items: stretch;
    }

    body.home-page .home-gallery__aside {
        align-items: flex-start;
    }

    body.home-page .home-gallery__cta-wrap {
        justify-content: center;
    }

    body.home-page .home-gallery-grid {
        gap: 0.75rem;
    }

    body.gallery-page .gallery-hero__grid {
        grid-template-columns: 1fr;
    }

    body.gallery-page .gallery-toolbar {
        flex-direction: column;
    }

    body.gallery-page .gallery-status {
        padding-top: 0;
        white-space: normal;
    }
}

@media (max-width: 780px) {
    body.home-page .home-gallery > .container {
        padding: 1.2rem;
        border-radius: 1.7rem;
    }

    body.home-page .home-gallery__cta-wrap {
        margin-top: 0.75rem;
    }

    body.home-page .home-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        grid-auto-rows: minmax(9.5rem, auto);
        aspect-ratio: auto;
    }

    body.home-page .home-gallery-grid .home-gallery-card {
        grid-column: auto / span 1;
        grid-row: auto / span 1;
        aspect-ratio: 1 / 1;
        height: auto;
    }

    body.gallery-page .gallery-masonry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.gallery-page .gallery-hero__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.gallery-page .gallery-lightbox__nav {
        width: 42px;
        height: 42px;
        font-size: 1.15rem;
    }

    body.gallery-page .gallery-lightbox__status {
        font-size: 0.84rem;
    }
}

@media (max-width: 560px) {
    body.home-page .home-gallery-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto;
    }

    body.home-page .home-gallery-grid .home-gallery-card {
        grid-column: auto / span 1;
        grid-row: auto / span 1;
        aspect-ratio: 4 / 3;
    }

    body.gallery-page .gallery-masonry {
        grid-template-columns: 1fr;
    }

    body.gallery-page .gallery-hero__stats {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    body.course-page .course-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1rem !important;
    }

    body.course-page .course-player-column,
    body.course-page .course-player-card,
    body.course-page .course-player-resources,
    body.course-page .course-player-resource-panel,
    body.course-page .course-player-review-lab,
    body.course-page .course-outline-panel,
    body.course-page .course-outline-sheet {
        width: 100%;
        min-width: 0;
    }

    body.course-page .course-outline-panel {
        position: static !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        max-height: none !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
        transform: none !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}

@media (max-width: 560px) {
    body.course-page .course-player-review-item {
        grid-template-columns: 3.2rem minmax(0, 1fr) auto !important;
        gap: 0.55rem;
        padding: 0.68rem !important;
    }

    body.course-page .course-player-review-item-thumb {
        width: 3.2rem;
        height: 3.2rem;
        min-width: 3.2rem;
        border-radius: 0.95rem !important;
    }

    body.course-page .course-player-review-item-title {
        font-size: 0.88rem;
    }

    body.course-page .course-player-review-item-meta {
        font-size: 0.74rem;
    }

    body.course-page .course-player-review-item-arrow {
        width: 2rem;
        min-width: 2rem;
        height: 2rem;
    }
}

@media (min-width: 901px) {
    body.course-page .site-header.container,
    body.course-page .site-header.exam-page-header.container,
    body.course-page .site-header.exam-page-header {
        display: none !important;
    }

    body.course-page .course-shell {
        padding-top: clamp(1.4rem, 2.6vw, 2rem) !important;
    }

    body.course-page .course-outline-panel {
        --course-outline-sticky-top: 1rem !important;
        top: var(--course-outline-sticky-top) !important;
        max-height: calc(100vh - var(--course-outline-sticky-top) - 1rem) !important;
        height: min(var(--course-outline-height, 9999px), calc(100vh - var(--course-outline-sticky-top) - 1rem)) !important;
    }

    body.course-page .course-shell-head__main {
        gap: 0.55rem !important;
    }

    body.course-page .course-center-logo {
        order: -2;
        display: inline-flex !important;
        align-items: center;
        width: fit-content;
        max-width: 100%;
    }

    body.course-page .course-center-logo img {
        display: block;
        width: clamp(160px, 13vw, 220px);
        height: auto;
    }

    body.course-page .course-back {
        order: -1;
    }

    body.course-page .course-layout {
        grid-template-columns: minmax(0, 1.54fr) minmax(24.5rem, 27.5rem) !important;
    }

    body.course-page .course-outline-sheet {
        min-height: clamp(52rem, 80vh, 74rem) !important;
        background: linear-gradient(180deg, #fff9dc 0%, #fff2bd 100%) !important;
        box-shadow: 0 22px 42px rgba(224, 170, 0, 0.14) !important;
    }
}

body.course-page .course-center-logo {
    display: none;
}

body.course-page .back-to-top {
    display: none !important;
}

@media (max-width: 900px) {
    body.course-page .site-header.container,
    body.course-page .site-header.exam-page-header.container,
    body.course-page .site-header.exam-page-header {
        display: none !important;
    }

    body.course-page .course-shell {
        padding-top: 0.9rem !important;
    }
}

@media (max-width: 768px) {
    body.course-page .course-outline-fab {
        display: none !important;
    }

    body.course-page .course-shell {
        padding-top: 0.75rem !important;
        padding-bottom: 1rem !important;
    }

    body.course-page .course-shell-head {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.85rem !important;
        padding-bottom: 0.9rem !important;
        border-bottom: 0 !important;
    }

    body.course-page .course-shell-head__main {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 2.7rem 0.8rem !important;
    }

    body.course-page .course-center-logo {
        display: inline-flex !important;
        align-items: center;
        grid-column: 1;
        grid-row: 1;
        align-self: start;
        justify-self: start;
        min-width: 0;
    }

    body.course-page .course-center-logo img {
        display: block;
        width: clamp(132px, 38vw, 156px);
        height: auto;
    }

    body.course-page .course-back {
        grid-column: 3;
        grid-row: 1;
        align-self: start;
        justify-self: end;
        width: 2.8rem !important;
        min-width: 2.8rem !important;
        max-width: 2.8rem !important;
        height: 2.8rem !important;
        min-height: 2.8rem !important;
        padding: 0 !important;
        border-radius: 0.95rem !important;
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-indent: 0 !important;
    }

    body.course-page .course-back::before {
        content: "\2190";
        display: inline-block;
        font-size: 1.18rem;
        line-height: 1;
        color: #ffffff;
    }

    body.course-page .course-title,
    body.course-page .course-shell-head .course-title {
        grid-column: 1 / -1;
        grid-row: 2;
        font-size: clamp(1.05rem, 5.4vw, 1.34rem) !important;
        line-height: 1.16 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        text-wrap: pretty;
    }

    body.course-page .course-todo-trigger {
        order: 3;
        width: 100%;
        justify-content: space-between;
    }

    body.course-page .course-todo-trigger.is-mobile-sticky {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: none !important;
        transform: none !important;
    }

    body.course-page .course-todo-trigger-placeholder,
    body.course-page .course-todo-trigger-placeholder.is-active {
        display: none !important;
        height: 0 !important;
    }

    body.course-page .course-layout {
        grid-template-columns: 1fr !important;
        gap: 0.95rem !important;
        margin-top: 0.75rem !important;
        padding-bottom: 0 !important;
    }

    body.course-page .course-player-column {
        gap: 0.95rem;
    }

    body.course-page .course-player-controls {
        gap: 0.65rem !important;
    }

    body.course-page .course-outline-panel,
    body.course-outline-mobile-open .course-outline-panel {
        position: static !important;
        inset: auto !important;
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: none !important;
        transition: none !important;
        z-index: auto !important;
    }

    body.course-page .course-outline-sheet,
    body.course-outline-mobile-open .course-outline-sheet {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0.9rem !important;
        border-radius: 1.2rem !important;
        background: #ffffff !important;
        transform: none !important;
        transition: none !important;
        overflow: visible !important;
    }

    body.course-page .course-outline-sheet::before {
        content: none !important;
    }

    body.course-page .course-outline-topline {
        margin-bottom: 0.55rem;
    }

    body.course-page .course-outline-header {
        position: static !important;
        top: auto !important;
        z-index: auto !important;
        background: transparent !important;
        padding-bottom: 0.7rem;
    }

    body.course-page .course-outline-header-actions {
        grid-column: 1 / -1 !important;
        justify-self: start !important;
    }

    body.course-page .course-outline-scroll-bottom,
    body.course-page .course-outline-close {
        display: none !important;
    }

    body.course-page .course-outline-list {
        flex: 0 0 auto;
        min-height: 0;
        max-height: none !important;
        overflow: visible !important;
        -webkit-overflow-scrolling: auto;
        overscroll-behavior: auto;
        padding-right: 0;
        padding-bottom: 0;
    }

    body.course-page .outline-section {
        margin-left: 0 !important;
    }

    body.course-page .outline-lesson {
        min-height: 4rem;
    }

    body.course-page .course-player-resources {
        margin-top: 0.75rem;
        padding-top: 0.75rem;
    }
}

@media (max-width: 768px) {
    body.course-page .course-shell {
        padding-bottom: calc(6.15rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.course-page.course-outline-mobile-open .course-shell {
        padding-bottom: 1rem !important;
    }

    body.course-page .course-outline-fab {
        position: fixed !important;
        left: 0.75rem !important;
        right: 0.75rem !important;
        bottom: calc(0.72rem + env(safe-area-inset-bottom, 0px)) !important;
        z-index: 1185 !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 0.8rem !important;
        width: auto !important;
        min-width: 0 !important;
        padding: 0.82rem 0.96rem !important;
        border: 1px solid rgba(224, 170, 0, 0.42) !important;
        border-radius: 1.35rem !important;
        background: linear-gradient(135deg, #ffe590 0%, #ffcb05 56%, #e0aa00 100%) !important;
        color: #241706 !important;
        box-shadow: 0 18px 34px rgba(224, 170, 0, 0.28) !important;
        transform: translate3d(0, 0, 0) !important;
        transition: transform 0.22s ease, opacity 0.22s ease, box-shadow 0.22s ease !important;
    }

    body.course-page .course-outline-fab .course-outline-fab__icon {
        display: inline-flex;
    }

    body.course-page .course-outline-fab:hover,
    body.course-page .course-outline-fab:focus-visible {
        background: linear-gradient(135deg, #ffecab 0%, #ffd23a 56%, #e6ab00 100%) !important;
        color: #241706 !important;
        box-shadow: 0 18px 34px rgba(224, 170, 0, 0.32) !important;
    }

    body.course-page .course-outline-fab__label {
        font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
        font-size: 1.02rem !important;
        font-weight: 900 !important;
        color: #241706 !important;
        letter-spacing: -0.01em !important;
        text-shadow: none !important;
    }

    body.course-page .course-outline-fab__count {
        min-width: 4.35rem;
        padding: 0.34rem 0.72rem !important;
        border: 1px solid rgba(122, 89, 0, 0.16) !important;
        border-radius: 999px !important;
        background: rgba(255, 250, 236, 0.96) !important;
        color: #8a6400 !important;
        font-family: "Nunito Sans", "Segoe UI", sans-serif !important;
        font-size: 0.96rem !important;
        font-weight: 900 !important;
        text-shadow: none !important;
        box-shadow: 0 8px 18px rgba(122, 89, 0, 0.14) !important;
    }

    body.course-page .course-outline-fab__count strong {
        color: inherit !important;
    }

    body.course-page .course-outline-panel {
        position: fixed !important;
        inset: 0 !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: rgba(17, 17, 17, 0.34) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none !important;
        transition: opacity 0.22s ease, visibility 0.22s ease !important;
        z-index: 2200 !important;
        overflow: hidden !important;
    }

    body.course-page.course-outline-mobile-open .course-outline-panel {
        position: fixed !important;
        inset: 0 !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.course-page .course-outline-sheet {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        flex: 1 1 auto !important;
        margin: 0 !important;
        padding: max(0.92rem, calc(env(safe-area-inset-top, 0px) + 0.4rem)) 0.92rem calc(0.96rem + env(safe-area-inset-bottom, 0px)) !important;
        border-radius: 0 !important;
        background: linear-gradient(180deg, #fffef8 0%, #ffffff 38%, #fbfaf5 100%) !important;
        box-shadow: none !important;
        transform: translate3d(0, 100%, 0) !important;
        transition: transform 0.24s ease !important;
        overflow: hidden !important;
        gap: 0.82rem !important;
    }

    body.course-page.course-outline-mobile-open .course-outline-sheet {
        width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        transform: translate3d(0, 0, 0) !important;
    }

    body.course-page .course-outline-topline {
        margin-bottom: 0.1rem !important;
    }

    body.course-page .course-outline-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 2 !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        background: linear-gradient(180deg, #fffef8 0%, rgba(255, 255, 255, 0.96) 100%) !important;
        padding-bottom: 0.72rem !important;
    }

    body.course-page .course-outline-header-actions {
        grid-column: auto !important;
        justify-self: end !important;
        align-items: center !important;
        gap: 0.44rem !important;
        margin-top: 0 !important;
    }

    body.course-page .course-outline-scroll-bottom,
    body.course-page .course-outline-close {
        display: inline-flex !important;
    }

    body.course-page .course-outline-list {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        padding-right: 0.08rem !important;
        padding-bottom: 0.2rem !important;
    }

    body.course-page .outline-section {
        margin-left: 0 !important;
    }

body.course-page.course-outline-mobile-open .course-outline-fab,
body.course-page.course-game-active .course-outline-fab,
body.course-page.course-review-overlay-open .course-outline-fab,
body.course-page.course-todo-open .course-outline-fab {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate3d(0, 16px, 0) !important;
}
}

@media (min-width: 1101px) {
    body.course-page .course-outline-panel {
        max-height: calc(100vh - var(--course-outline-sticky-top, 1rem) - 1rem) !important;
        height: calc(100vh - var(--course-outline-sticky-top, 1rem) - 1rem) !important;
    }
}

/* Course actions: unify back/close style as black button with white text */
body.course-page .course-back,
body.course-page .course-review-overlay-back,
body.course-page .course-outline-close,
body.course-page .course-todo-dialog__close,
body.course-page .course-confirm-close,
body.course-page .course-review-overlay__drawer-close {
    background: #111111 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.3) !important;
}

body.course-page .course-back:hover,
body.course-page .course-back:focus-visible,
body.course-page .course-review-overlay-back:hover,
body.course-page .course-review-overlay-back:focus-visible,
body.course-page .course-outline-close:hover,
body.course-page .course-outline-close:focus-visible,
body.course-page .course-todo-dialog__close:hover,
body.course-page .course-todo-dialog__close:focus-visible,
body.course-page .course-confirm-close:hover,
body.course-page .course-confirm-close:focus-visible,
body.course-page .course-review-overlay__drawer-close:hover,
body.course-page .course-review-overlay__drawer-close:focus-visible {
    background: #262626 !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.34) !important;
}

@media (min-width: 901px) {
    body.course-page .course-shell-head {
        position: relative !important;
    }

    body.course-page .course-shell-head__main {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 2.1rem 1rem !important;
        width: 100% !important;
    }

    body.course-page .course-center-logo {
        grid-column: 1;
        grid-row: 1;
        order: initial !important;
    }

    body.course-page .course-shell-head .course-title {
        grid-column: 1 / -1;
        grid-row: 2;
        order: initial !important;
    }

    body.course-page .course-back {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        order: initial !important;
        justify-self: auto !important;
        align-self: auto !important;
        z-index: 3 !important;
        width: auto !important;
        min-height: 2.9rem !important;
        margin: 0 !important;
        padding: 0.72rem 1rem !important;
        border-radius: 999px !important;
        font-size: 0.88rem !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    body.course-page .course-outline-fab[data-desktop-todo-mode="1"] {
        top: auto !important;
        right: clamp(0.8rem, 2vw, 1.4rem) !important;
        bottom: clamp(1rem, 2vw, 1.6rem) !important;
    }
}

/* Keep the Listening player usable on narrow mobile without expanding the canvas. */
@media (max-width: 760px) {
    body.exam-page .exam-shell {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        padding-bottom: calc(5.25rem + env(safe-area-inset-bottom, 0px)) !important;
    }

    body.exam-page .exam-layout {
        padding-bottom: 0 !important;
    }

    body.exam-page #part-listen.exam-section {
        margin-left: auto !important;
        margin-right: auto !important;
        width: calc(100% - 0.32rem) !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
        border-radius: 1rem !important;
    }

    body.exam-page #part-listen.exam-section > h2,
    body.exam-page #part-listen.exam-section > .listen-group-wrapper,
    body.exam-page #part-listen.exam-section > .question-card[data-part="listen"] {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.exam-page #part-listen.exam-section > .listen-group-wrapper {
        width: calc(100% - 0.48rem) !important;
        max-width: calc(100% - 0.48rem) !important;
    }

    body.exam-page #part-listen .listen-group-wrapper > .listen-group-shared-panel,
    body.exam-page #part-listen .listen-group-wrapper > .listen-group-sticky-header,
    body.exam-page #part-listen .question-card[data-part="listen"] {
        min-width: 0 !important;
        max-width: 100% !important;
        padding-left: 0.45rem !important;
        padding-right: 0.45rem !important;
    }

    body.exam-page #part-listen .listen-group-wrapper > .question-card.question-card--listen-drag-names {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.exam-page #part-listen.exam-section > .question-card[data-part="listen"] {
        width: calc(100% - 0.48rem) !important;
        max-width: calc(100% - 0.48rem) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.exam-page #part-listen .question-card[data-part="listen"] .listen-reference-details,
    body.exam-page #part-listen .question-card[data-part="listen"] .listen-reference-panel,
    body.exam-page #part-listen .question-card[data-part="listen"] .read-reference-panel__content {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body.exam-page #part-listen .question-card[data-part="listen"] .listen-drag-bank-preview,
    body.exam-page #part-listen .question-card[data-part="listen"] .listen-drag-bank {
        justify-content: center !important;
    }

    body.exam-page #part-listen .media-block.media-audio {
        min-width: 0 !important;
        max-width: 100% !important;
        padding-left: 0.35rem !important;
        padding-right: 0.35rem !important;
    }

    body.exam-page #part-listen .question-card[data-part="listen"] > .question-body > .media-block.media-image {
        box-sizing: border-box !important;
        padding-left: 0.3rem !important;
        padding-right: 0.3rem !important;
    }

    body.exam-page #part-listen .question-card[data-part="listen"] > .question-body > .media-block.media-image img {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.exam-page #part-listen .listen-drag-shared-media {
        justify-items: center !important;
    }

    body.exam-page #part-listen .listen-drag-scene {
        display: inline-block !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.exam-page #part-listen .listen-drag-scene img {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.exam-page #part-listen .media-audio audio {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}
