:root{color-scheme:light;--surface: rgba(255, 255, 255, .78);--ink: #183153;--muted: #526581;--line: rgba(24, 49, 83, .12);--accent: #ff8a3d;--accent-strong: #e5572f;--teal: #00a8a8;--blue: #2d7ff9;--sunrise: linear-gradient(135deg, #ffd36e, #ff8a3d);--ocean: linear-gradient(135deg, #49c6e5, #2d7ff9);--forest: linear-gradient(135deg, #7fd36b, #00a8a8);--coral: linear-gradient(145deg, #ff8f70, #f04f78);--violet: linear-gradient(145deg, #7b6cf6, #4d7cff);--lagoon: linear-gradient(145deg, #14b8a6, #0f9bd7);--amber: linear-gradient(145deg, #ffd36e, #ff9a3c);--rose: linear-gradient(145deg, #ff93b8, #ff6f61);--indigo: linear-gradient(145deg, #5b67d8, #283593);--shadow: 0 18px 40px rgba(24, 49, 83, .12);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--heading-font: "Georgia", "Palatino Linotype", serif;--body-font: "Trebuchet MS", "Gill Sans", sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--body-font);color:var(--ink);overflow-x:hidden;background:radial-gradient(circle at top left,rgba(255,211,110,.55),transparent 24%),radial-gradient(circle at bottom right,rgba(73,198,229,.35),transparent 22%),linear-gradient(180deg,#fffaf2,#f4fbff)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input,textarea,select{width:100%;margin-top:.5rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffeb}textarea{resize:vertical}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(0,1.6fr) auto auto;gap:1rem;align-items:center;padding:1rem 1.5rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffbf5e6;border-bottom:1px solid rgba(24,49,83,.08);box-shadow:0 10px 30px #1831530f}.brand{display:flex;align-items:center;min-width:0}.brand-copy{display:grid;gap:.15rem;min-width:0}.brand-eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-strong)}.brand-title{font-family:var(--heading-font);font-size:1.4rem;line-height:1.05;letter-spacing:.01em}.brand-subtitle,.student-pill__meta{margin:0;color:var(--muted);font-size:.96rem;line-height:1.35}.topnav{display:flex;justify-content:center;gap:1rem;padding:.35rem;border-radius:999px;border:1px solid rgba(24,49,83,.08);background:#ffffffb8}.topnav a,.ghost-button,.ghost-link{border:1px solid transparent;border-radius:999px;padding:.75rem 1.05rem;background:transparent;color:var(--ink);transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.topnav a:hover,.ghost-button:hover,.ghost-link:hover,.topnav a:focus-visible,.ghost-button:focus-visible,.ghost-link:focus-visible{background:#ffffffeb;border-color:#1831531f;transform:translateY(-1px)}.topnav a.active{background:linear-gradient(135deg,#ff8a3d29,#e5572f1a);border-color:#e5572f2e;color:var(--accent-strong)}.student-pill{display:flex;align-items:center;gap:.8rem;justify-content:space-between;padding:.7rem .9rem;border-radius:999px;background:#ffffffd6;border:1px solid rgba(24,49,83,.08);min-width:0}.student-pill__copy{display:grid;min-width:0}.student-pill__name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-pill__meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-pill__role{flex-shrink:0;padding:.35rem .6rem;border-radius:999px;background:#1831530f;color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.avatar-art{display:inline-flex;align-items:center;justify-content:center;border-radius:22px;box-shadow:inset 0 1px #ffffff47}.avatar-art--sunrise{background:var(--sunrise)}.avatar-art--ocean{background:var(--ocean)}.avatar-art--forest{background:var(--forest)}.avatar-art--sm{width:3rem;height:3rem;border-radius:999px}.avatar-art--md{width:4.2rem;height:4.2rem}.avatar-art--lg{width:5rem;height:5rem}.avatar-art__svg{width:78%;height:78%}.page-shell{width:min(1180px,calc(100vw - 2rem));margin:0 auto;padding:2rem 0 3rem}.page-shell--certificate{width:min(100vw,210mm);padding:1rem 0 0}.dashboard-grid,.stack{display:grid;gap:1.5rem}.certificate-page{gap:.75rem}.teacher-grid,.teacher-panels{display:grid;gap:1.5rem}.teacher-tabs{display:flex;gap:.75rem;flex-wrap:wrap}.teacher-filter-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.teacher-tabs--hero{margin-top:1rem}.teacher-panels--forms{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.hero-panel,.form-panel,.lesson-player,.certificate-card,.teacher-card,.auth-copy,.auth-card{background:var(--surface);border:1px solid rgba(255,255,255,.8);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.hero-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;padding:2rem;overflow:hidden;position:relative}.hero-panel--project{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);width:min(100%,calc(960px + 2.4rem));justify-self:center}.project-hero,.hero-identity{display:grid;gap:1rem}.project-hero{align-content:start}.brand-ribbon{display:flex;align-items:center;gap:.65rem;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.brand-ribbon::-webkit-scrollbar{display:none}.brand-ribbon--auth{margin-top:1rem}.brand-lockup{display:grid;gap:.2rem}.brand-chip{display:inline-flex;align-items:center;justify-content:center;min-width:4.5rem;padding:.6rem .85rem;border-radius:999px;color:#fff;font-weight:700;letter-spacing:.08em}.brand-chip--usm{background:linear-gradient(135deg,#4b1f73,#f28b1d)}.brand-logo{height:3.2rem;object-fit:contain;border-radius:var(--radius-sm);background:#ffffffc7;border:1px solid rgba(24,49,83,.08);padding:.2rem;flex:0 0 auto}.brand-logo--wide{height:3.5rem;min-width:7.2rem}.identity-card{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:center;padding:1.15rem 1.3rem;border-radius:var(--radius-lg);color:#fff;box-shadow:0 20px 40px #18315324;border:1px solid rgba(255,255,255,.18);position:relative;overflow:hidden}.identity-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 45%);pointer-events:none}.identity-card--sunrise{background:linear-gradient(135deg,#d9c7ff,#c3adff 52%,#b79cf8)}.identity-card--ocean{background:linear-gradient(135deg,#5cbde7,#4299f2 55%,#3778eb)}.identity-card--forest{background:linear-gradient(135deg,#74ca78,#34b7a0 55%,#149ca5)}.identity-card .avatar-art--lg{width:5.75rem;height:5.75rem;border-radius:1.5rem;background:#ffffff24;box-shadow:inset 0 1px #ffffff38}.identity-card__copy{display:grid;gap:.18rem;align-content:center;min-width:0}.identity-card__label{color:#fff4eacc;letter-spacing:.18em;font-size:.72rem}.identity-card h2,.identity-card__name{margin:0;font-family:var(--heading-font);font-size:clamp(1.8rem,2.5vw,2.65rem);line-height:.95;text-shadow:0 1px 0 rgba(117,52,15,.08)}.identity-card__name{display:block;width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.identity-card p{margin:0;color:#fff4eaf0;font-size:1.02rem;letter-spacing:.01em}.hero-panel:after{content:"";position:absolute;inset:auto -4rem -5rem auto;width:18rem;height:18rem;border-radius:50%;background:radial-gradient(circle,rgba(255,138,61,.22),transparent 68%);pointer-events:none}.hero-panel h1,.section-header h1,.auth-copy h1,.step-panel h2,.certificate-card h2{margin:.2rem 0 .6rem;font-family:var(--heading-font);line-height:1.05}.hero-panel h1,.auth-copy h1{font-size:clamp(2.2rem,4vw,4.1rem)}.eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-strong)}.hero-panel p,.section-header p,.course-description,.step-panel p,.auth-copy p{color:var(--muted);line-height:1.7}.hero-panel--project p{margin:0}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.hero-actions--dashboard .ghost-link,.hero-actions--dashboard .status-pill{min-height:2.8rem;padding:.7rem 1rem}.hero-actions--dashboard-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.hero-actions--dashboard-secondary .solid-button,.hero-actions--dashboard-secondary .status-pill{width:100%;text-align:center;justify-content:center}.hero-actions--teacher{margin-top:1rem}.hero-stats{display:grid;gap:1rem}.hero-stats--compact{grid-template-columns:repeat(3,minmax(90px,1fr))}.hero-stats--dashboard{grid-template-columns:repeat(2,minmax(140px,1fr))}.hero-stats article,.score-pill{padding:1.1rem 1.2rem;border-radius:var(--radius-md);background:#ffffffbf;border:1px solid var(--line)}.hero-stats--dashboard article{position:relative;padding:1rem 1.1rem;text-align:left;justify-items:start;align-content:start;gap:.45rem;min-height:8.4rem;background:linear-gradient(180deg,#fffffff5,#f6f9ffe0),#ffffffd1;border:1px solid rgba(45,127,249,.14);box-shadow:0 12px 26px #18315314;overflow:hidden}.hero-stats--dashboard article:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#2d7ff9,#60a5fa)}.hero-stats--dashboard article:nth-child(2):before{background:linear-gradient(90deg,#f28b1d,#ffb454)}.hero-stats strong{display:block;font-size:2rem;color:var(--blue)}.hero-stat-card__header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.hero-stat-card__eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#18315380}.hero-stat-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:#2d7ff91a;color:var(--blue);font-size:.95rem;font-weight:700;box-shadow:inset 0 0 0 1px #2d7ff91f}.hero-stats--dashboard article:nth-child(2) .hero-stat-card__icon{background:#f28b1d1f;color:#c96d12;box-shadow:inset 0 0 0 1px #f28b1d24}.hero-stat-card__label{font-size:.95rem;line-height:1.35;color:var(--ink)}.hero-stat-card strong{margin-top:.15rem;font-size:clamp(2.1rem,4vw,2.7rem);line-height:1;letter-spacing:-.04em}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,320px));justify-content:center;gap:1.2rem}.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,210px));justify-content:center;gap:.8rem}.badge-card{padding:.95rem;border-radius:var(--radius-md);border:1px dashed var(--line);background:#ffffff8c;color:var(--muted);text-align:center;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease}.badge-card:hover{transform:translateY(-4px) scale(1.02)}.badge-card__header{display:flex;align-items:center;justify-content:center;gap:.5rem}.badge-card h3{margin:.2rem 0 .35rem;font-size:.95rem;color:var(--ink)}.badge-card p{margin:0;font-size:.82rem;line-height:1.35}.badge-card--sunrise,.badge-card--ocean,.badge-card--forest,.badge-card--coral,.badge-card--violet,.badge-card--lagoon,.badge-card--amber,.badge-card--rose,.badge-card--indigo{color:#fff;border-style:solid;border-color:transparent}.badge-card--sunrise{background:var(--sunrise);box-shadow:0 12px 28px #ff8a3d59}.badge-card--ocean{background:var(--ocean);box-shadow:0 12px 28px #2d7ff959}.badge-card--forest{background:var(--forest);box-shadow:0 12px 28px #00a8a859}.badge-card--coral{background:var(--coral);box-shadow:0 12px 28px #f04f7859}.badge-card--violet{background:var(--violet);box-shadow:0 12px 28px #7b6cf659}.badge-card--lagoon{background:var(--lagoon);box-shadow:0 12px 28px #14b8a659}.badge-card--amber{background:var(--amber);box-shadow:0 12px 28px #ffd36e59}.badge-card--rose{background:var(--rose);box-shadow:0 12px 28px #ff6f6159}.badge-card--indigo{background:var(--indigo);box-shadow:0 12px 28px #28359359}.badge-card--sunrise:after,.badge-card--ocean:after,.badge-card--forest:after,.badge-card--coral:after,.badge-card--violet:after,.badge-card--lagoon:after,.badge-card--amber:after,.badge-card--rose:after,.badge-card--indigo:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skew(-25deg);animation:badge-shine 4s infinite 1s}@keyframes badge-shine{0%{left:-100%}20%{left:150%}to{left:150%}}.reward-panel{gap:.9rem;width:min(100%,calc(960px + 2.4rem));justify-self:center}.reward-panel .section-header{align-items:center;justify-content:space-between;gap:1rem;text-align:left;flex-wrap:wrap}.reward-panel .section-header>div:first-child{flex:1;min-width:min(100%,320px);max-width:760px}.reward-panel .score-pill{padding:.7rem .95rem;font-size:.9rem}.reward-panel .eyebrow{text-align:left}.reward-panel .section-header h1{margin-bottom:.2rem}.reward-panel .section-header p{margin:0}@media(max-width:760px){.reward-panel .section-header{justify-content:center;text-align:center}.reward-panel .section-header>div:first-child{max-width:640px}.reward-panel .eyebrow{text-align:center}}.course-card{display:grid;align-content:start;gap:.7rem;padding:1.2rem;border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow);transform:translateY(0);transition:transform .18s ease,box-shadow .18s ease}.course-card:hover{transform:translateY(-4px);box-shadow:0 24px 42px #1831532e}.course-card.sunrise{background:var(--sunrise)}.course-card.ocean{background:var(--ocean)}.course-card.forest{background:var(--forest)}.course-card.coral{background:linear-gradient(145deg,#ff8f70,#f04f78)}.course-card.violet{background:linear-gradient(145deg,#7b6cf6,#4d7cff)}.course-card.lagoon{background:linear-gradient(145deg,#14b8a6,#0f9bd7)}.course-card__header,.course-metrics,.course-window,.section-header,.lesson-player__meta,.lesson-player__footer,.certificate-stats,.auth-toggle{display:flex;justify-content:space-between;align-items:center;gap:1rem}.course-card__header{align-items:start}.course-card__title{min-width:0;flex:1}.course-card__title h3{margin:.2rem 0 0;font-size:1.22rem;line-height:1.12;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.course-window{padding:.75rem .9rem;border-radius:var(--radius-md);background:#ffffff29;border:1px solid rgba(255,255,255,.22);align-items:flex-start}.course-window--compact{margin-top:0;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.55rem .8rem}.course-window small,.course-window span{color:#ffffffdb}.course-window__details{display:grid;gap:.12rem;min-width:0}.course-window strong{font-size:.88rem;line-height:1.2;color:#fff;overflow-wrap:anywhere;font-weight:600}.course-window span{font-size:.82rem;line-height:1.2}.progress-strip{height:.5rem;margin:0;border-radius:999px;background:#ffffff3d;overflow:hidden}.progress-strip div{height:100%;border-radius:inherit;background:#ffffffeb}.primary-link,.solid-button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;border:none;border-radius:999px;padding:.9rem 1.25rem;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 12px 28px #e5572f47}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.05rem;border-radius:999px;color:var(--ink);background:#ffffffc7;border:1px solid rgba(255,255,255,.58)}.status-pill--compact{justify-content:flex-start;text-align:left}.status-pill--accent{color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));border-color:transparent}.course-card__score{padding:.65rem .8rem;min-width:4.2rem;justify-content:center;text-align:center;flex-shrink:0}.course-description{margin:0;display:block;height:2.9em;overflow:hidden;line-height:1.45}.course-metrics{gap:.55rem;flex-wrap:wrap;justify-content:flex-start}.course-metric-pill{display:inline-flex;align-items:center;padding:.38rem .7rem;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.22);font-size:.82rem;line-height:1.2;color:#ffffffeb;max-width:100%}.course-lessons{display:grid;gap:.55rem}.course-lessons__label{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffffc7}.course-lessons__list{display:grid;gap:.4rem}.course-lesson-row{display:flex;justify-content:space-between;gap:.65rem;align-items:center;padding:.6rem .75rem;border-radius:var(--radius-md);background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.course-lesson-row--link{color:inherit}.course-lesson-row__copy{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .45rem}.course-lesson-row__copy strong,.course-lesson-row__copy span{min-width:0;overflow-wrap:anywhere}.course-lesson-row__copy strong{line-height:1.2}.course-lesson-row__copy span{font-size:.82rem;color:#fffc}.course-lesson-row__action{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.82rem;font-weight:700;min-width:5.75rem;min-height:2rem;padding:.35rem .8rem;border-radius:999px;background:#fffffff5;color:var(--blue);box-shadow:0 10px 24px #13376829}.course-lesson-row__action--muted{background:#ffffff2e;color:#ffffffeb;box-shadow:none}.course-footer{display:grid;gap:.65rem;align-items:start}.course-footer__status{min-width:0;font-size:.9rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-action{width:100%;max-width:100%;min-height:2.7rem;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.2}.course-action--muted{justify-content:center}.danger-button{display:inline-flex;justify-content:center;align-items:center;gap:.5rem;border:none;border-radius:999px;padding:.9rem 1.25rem;cursor:pointer;color:#fff;background:linear-gradient(135deg,#d63b3b,#a61e1e);box-shadow:0 12px 28px #a61e1e3d}.solid-button:disabled,.ghost-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.65}.score-pill{color:var(--ink);font-weight:700}.auth-layout{min-height:100vh;width:min(1100px,calc(100vw - 2rem));margin:0 auto;padding:2rem 0;display:grid;grid-template-columns:1.1fr .9fr;gap:1.6rem;align-items:center}.auth-copy,.auth-card,.form-panel,.certificate-card,.teacher-card{padding:2rem}.feature-list{padding-left:1.25rem;color:var(--muted)}.feature-list li{margin-bottom:.7rem}.tab-button{flex:1;padding:.9rem 1rem;border-radius:999px;border:1px solid var(--line);background:#ffffffb3}.tab-button--active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--teal),var(--blue))}.auth-form,.form-panel{display:grid;gap:1rem}.auth-form label{display:grid;gap:.35rem}.auth-assist{display:grid;gap:.55rem;padding:.95rem 1rem;border-radius:var(--radius-md);background:#2d7ff914;border:1px solid rgba(45,127,249,.12)}.auth-assist__title{margin:0;font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.auth-assist__list{margin:0;padding-left:1rem;color:var(--muted);display:grid;gap:.35rem;line-height:1.45}.auth-form label input{margin-top:0}.auth-label-row{display:flex;align-items:center;gap:.5rem}.auth-tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;border:1px solid rgba(24,49,83,.14);background:#ffffffe6;color:var(--accent-strong);font-size:.8rem;font-weight:700;cursor:help;outline:none}.auth-tooltip__bubble{position:absolute;left:50%;bottom:calc(100% + .65rem);transform:translate(-50%) translateY(.2rem);width:min(18rem,calc(100vw - 3rem));padding:.7rem .8rem;border-radius:var(--radius-sm);background:#183153f5;color:#fff;box-shadow:0 18px 40px #18315338;font-size:.82rem;line-height:1.45;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;z-index:2}.auth-tooltip__bubble:after{content:"";position:absolute;left:50%;top:100%;width:.75rem;height:.75rem;background:#183153f5;transform:translate(-50%) rotate(45deg)}.auth-tooltip:hover .auth-tooltip__bubble,.auth-tooltip:focus-visible .auth-tooltip__bubble{opacity:1;transform:translate(-50%) translateY(0)}.avatar-picker{margin:0;padding:0;border:none}.avatar-picker legend{margin-bottom:.8rem;font-weight:700}.avatar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.avatar-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-option{display:grid;gap:.55rem;padding:.9rem;border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffffbd;cursor:pointer}.avatar-option input{display:none}.avatar-option--selected{border-color:transparent;box-shadow:var(--shadow)}.avatar-option--sunrise.avatar-option--selected{background:linear-gradient(135deg,#ffd36ef5,#ff8a3de6)}.avatar-option--ocean.avatar-option--selected{background:linear-gradient(135deg,#49c6e5f5,#2d7ff9e6)}.avatar-option--forest.avatar-option--selected{background:linear-gradient(135deg,#7fd36bf5,#00a8a8e6)}.avatar-option strong{color:var(--ink)}.lesson-player{padding:1.4rem}.lesson-player__progress{display:grid;gap:.45rem;margin-top:1rem}.lesson-player__progress-copy{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.9rem;color:var(--muted)}.lesson-player__progress-copy strong{color:var(--ink);font-size:.95rem}.lesson-player__progress-track{height:.65rem;border-radius:999px;overflow:hidden;background:#18315314}.lesson-player__progress-track div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--teal));transition:width .22s ease}.lesson-player__card{margin-top:1rem;padding:1.4rem;min-height:22rem;border-radius:calc(var(--radius-lg) - 8px);background:#ffffffb3;border:1px solid var(--line)}.step-panel{display:grid;gap:1rem}.video-placeholder{display:flex;align-items:center;gap:1rem;padding:1.2rem;border-radius:var(--radius-md);background:linear-gradient(135deg,#00a8a81f,#2d7ff91f)}.video-frame{overflow:hidden;border-radius:var(--radius-md);background:#09111d;aspect-ratio:16 / 9}.video-frame iframe,.video-frame video{width:100%;height:100%;border:0;display:block}.slide-image-frame{overflow:hidden;border-radius:var(--radius-md);background:#ffffffb3;border:1px solid var(--line)}.slide-image{width:100%;max-height:24rem;object-fit:cover;display:block}.play-dot{width:3.25rem;height:3.25rem;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--blue));position:relative}.play-dot:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-35%,-50%);border-left:.95rem solid white;border-top:.6rem solid transparent;border-bottom:.6rem solid transparent}.option-grid{display:grid;gap:.9rem}.option-card{padding:1.25rem 1.5rem;border-radius:var(--radius-md);border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.05rem;font-weight:500;cursor:pointer;text-align:left;transition:all .25s cubic-bezier(.175,.885,.32,1.275)}.option-card:hover:not(:disabled){border-color:var(--blue);background:#2d7ff90a;transform:translateY(-2px);box-shadow:0 4px 12px #18315314}.option-card:active:not(:disabled){transform:scale(.97)}.option-card--selected{border-color:var(--blue);border-width:2px;background:#2d7ff914;box-shadow:0 0 0 4px #2d7ff91f}.option-card:disabled{cursor:default;opacity:1}.option-card--correct{border-color:#12733a47;background:#dcfce7f2;color:#14532d}.option-card--incorrect{border-color:#8c1d1838;background:#ffe6e2f5;color:#8c1d18}.survey-form{gap:.9rem}.survey-question-card{display:grid;gap:.5rem;padding:1rem 1.05rem;border-radius:var(--radius-md);background:#ffffffb8;border:1px solid var(--line)}.survey-question-card__index{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}.survey-question-card__prompt{color:var(--ink);line-height:1.45}.survey-question-card select{margin-top:0}.survey-actions{display:grid;gap:.75rem}.survey-actions .solid-button,.survey-actions .ghost-link{width:100%}.certificate-card{text-align:center}.certificate-toolbar{align-items:flex-start}.certificate-toolbar__actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.certificate-sheet{padding:0;border-radius:var(--radius-lg);background:#fff;border:1px solid rgba(255,255,255,.82);box-shadow:var(--shadow);overflow:hidden;position:relative}.certificate-sheet--a4{width:min(100%,297mm);min-height:min(calc(297mm / 1.414),210mm);margin:0 auto}.certificate-sheet__frame{position:relative;display:flex;flex-direction:column;padding:1.6rem 2rem 1.2rem;margin:.85rem;border-radius:calc(var(--radius-lg) - 6px);background:linear-gradient(180deg,#fffefb,#fff9ef);border:6px solid rgba(75,31,115,.14);outline:1.5px solid rgba(242,139,29,.22);outline-offset:-12px;overflow:hidden}.certificate-sheet__frame:before{content:"";position:absolute;inset:1rem;border-radius:calc(var(--radius-lg) - 12px);opacity:.16;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 1200'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Ccircle cx='450' cy='600' r='250' stroke='%234b1f73' stroke-width='12' opacity='0.22'/%3E%3Ccircle cx='450' cy='600' r='206' stroke='%23f28b1d' stroke-width='6' opacity='0.28' stroke-dasharray='8 14'/%3E%3Cpath d='M450 382l41 83 92 13-66 64 15 91-82-43-82 43 15-91-66-64 92-13z' fill='%23f28b1d' opacity='0.18'/%3E%3Cpath d='M196 980c82-46 167-68 255-68 97 0 184 24 265 72' stroke='%234b1f73' stroke-width='10' opacity='0.12' stroke-linecap='round'/%3E%3Cpath d='M255 287c59-46 126-69 198-69 71 0 138 23 199 68' stroke='%23f28b1d' stroke-width='8' opacity='0.12' stroke-linecap='round'/%3E%3Ctext x='450' y='625' text-anchor='middle' font-family='Georgia, serif' font-size='86' fill='%234b1f73' opacity='0.18'%3ESULAM%3C/text%3E%3Ctext x='450' y='690' text-anchor='middle' font-family='Georgia, serif' font-size='36' fill='%23f28b1d' opacity='0.22'%3EUNIVERSITI SAINS MALAYSIA%3C/text%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:min(56%,24rem)}.certificate-sheet__frame:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:repeating-linear-gradient(135deg,rgba(75,31,115,.025) 0 1px,transparent 1px 14px),repeating-linear-gradient(45deg,rgba(242,139,29,.022) 0 1px,transparent 1px 18px);background-position:center}.certificate-sheet:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background-image:linear-gradient(135deg,#7b2cbf 0 50%,transparent 50% 100%),linear-gradient(135deg,#ff9f1c 0 50%,transparent 50% 100%),linear-gradient(135deg,#f72585 0 50%,transparent 50% 100%),linear-gradient(135deg,#4361ee 0 50%,transparent 50% 100%),linear-gradient(225deg,#4361ee 0 50%,transparent 50% 100%),linear-gradient(225deg,#ff9f1c 0 50%,transparent 50% 100%),linear-gradient(225deg,#7b2cbf 0 50%,transparent 50% 100%),linear-gradient(225deg,#f72585 0 50%,transparent 50% 100%),linear-gradient(45deg,#ff9f1c 0 50%,transparent 50% 100%),linear-gradient(45deg,#f72585 0 50%,transparent 50% 100%),linear-gradient(45deg,#7b2cbf 0 50%,transparent 50% 100%),linear-gradient(45deg,#4361ee 0 50%,transparent 50% 100%),linear-gradient(315deg,#7b2cbf 0 50%,transparent 50% 100%),linear-gradient(315deg,#ff9f1c 0 50%,transparent 50% 100%),linear-gradient(315deg,#f72585 0 50%,transparent 50% 100%),linear-gradient(315deg,#4361ee 0 50%,transparent 50% 100%);background-repeat:no-repeat;background-size:52px 52px,40px 40px,30px 30px,22px 22px,52px 52px,40px 40px,30px 30px,22px 22px,52px 52px,40px 40px,30px 30px,22px 22px,52px 52px,40px 40px,30px 30px,22px 22px;background-position:left top,left 36px top 0,left 70px top 0,left 96px top 0,right top,right 36px top 0,right 70px top 0,right 96px top 0,left bottom,left 36px bottom 0,left 70px bottom 0,left 96px bottom 0,right bottom,right 36px bottom 0,right 70px bottom 0,right 96px bottom 0}.certificate-sheet:after{display:none}.certificate-sheet__frame>*{position:relative;z-index:1}.certificate-sheet__header{display:flex;align-items:center;justify-content:center;gap:clamp(.6rem,1.2vw,1rem);flex-wrap:nowrap;padding-bottom:.65rem;border-bottom:1px solid rgba(24,49,83,.1)}.certificate-logo-box{display:flex;align-items:center;justify-content:center;align-self:center;min-height:clamp(4.2rem,6vw,5.2rem);padding:.35rem .75rem;border:1px solid rgba(24,49,83,.1);border-radius:.8rem;background:#fff;box-shadow:none;flex:0 1 auto}.certificate-logo-box--wide{width:min(100%,24rem)}.certificate-logo-box--compact{width:min(100%,7rem)}.certificate-logo{display:block;height:clamp(3rem,5vw,3.8rem);max-width:100%;object-fit:contain;min-width:0}.certificate-logo--wide,.certificate-logo--compact{width:100%}.certificate-sheet__body{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem 1rem .15rem;text-align:center}.certificate-main-copy{display:grid;gap:.5rem;width:min(100%,58rem);margin:0}.certificate-main-copy>.eyebrow{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.8rem;margin:0 auto;padding:0 1rem;letter-spacing:.22em}.certificate-main-copy>.eyebrow:before,.certificate-main-copy>.eyebrow:after{content:"";width:3.2rem;height:1px;background:linear-gradient(90deg,transparent,rgba(242,139,29,.65),transparent)}.certificate-sheet__body h2{margin:0;font-family:var(--heading-font);font-size:clamp(2.3rem,5vw,4rem);color:#432060;letter-spacing:-.02em;text-shadow:0 1px 0 rgba(255,255,255,.7)}.certificate-sheet__subtitle{margin:0 auto;max-width:52rem;color:var(--muted);line-height:1.6}.certificate-recipient{display:grid;gap:.35rem;justify-items:center;margin-top:.2rem}.certificate-recipient span,.certificate-recipient small{color:var(--muted)}.certificate-recipient__ic{display:block;margin-top:.2rem;letter-spacing:.02em}.certificate-recipient strong{display:inline-block;padding:.2rem 1rem .5rem;border-bottom:3px solid rgba(242,139,29,.5);font-family:var(--heading-font);font-size:clamp(2rem,4vw,3.4rem);color:#183153}.certificate-recipient__name{max-width:min(94%,16ch);line-height:1.12;text-wrap:balance;overflow-wrap:anywhere;word-break:break-word}.certificate-recipient__name--medium{max-width:min(96%,20ch);font-size:clamp(1.55rem,2.8vw,2.35rem);line-height:1.1}.certificate-recipient__name--long{max-width:min(100%,24ch);font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.08}.certificate-recipient__name--xlong{display:-webkit-box;max-width:min(100%,28ch);font-size:clamp(1rem,1.8vw,1.45rem);line-height:1.02;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}.certificate-statement{margin:0 auto;max-width:58rem;line-height:1.62;color:#304766}.certificate-statement--compact{max-width:44rem;line-height:1.6}.certificate-program-details{display:grid;gap:.7rem;justify-items:center;width:min(100%,58rem);margin:0 auto}.certificate-modules{display:grid;gap:.65rem;justify-items:center}.certificate-module-badges{display:grid;grid-template-columns:repeat(2,minmax(160px,220px));justify-content:center;gap:.6rem;width:min(100%,28rem)}.certificate-module-summary{display:none}.certificate-module-badge{display:grid;gap:.2rem;min-height:5.2rem;padding:.7rem .8rem;border-radius:var(--radius-md);border:1px dashed var(--line);background:#ffffffa8;text-align:center;justify-items:center;align-items:center}.certificate-module-badge strong{color:var(--ink);font-size:.92rem;line-height:1.25}.certificate-module-badge__header{display:flex;align-items:center;justify-content:center;gap:.7rem}.certificate-module-badge__header div{display:grid;justify-items:center}.certificate-module-badge--sunrise,.certificate-module-badge--ocean,.certificate-module-badge--forest,.certificate-module-badge--coral,.certificate-module-badge--lagoon{color:#fff;border-style:solid;border-color:transparent;box-shadow:var(--shadow)}.certificate-module-badge--sunrise{background:var(--sunrise)}.certificate-module-badge--ocean{background:var(--ocean)}.certificate-module-badge--forest{background:var(--forest)}.certificate-module-badge--coral{background:var(--coral)}.certificate-module-badge--lagoon{background:var(--lagoon)}.certificate-module-badge--sunrise strong,.certificate-module-badge--ocean strong,.certificate-module-badge--forest strong,.certificate-module-badge--coral strong,.certificate-module-badge--lagoon strong{color:#fff}.certificate-stats--formal{justify-content:center}.certificate-footer{display:grid;gap:.65rem;width:min(100%,62rem);margin:0}.certificate-signature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:1.4rem;align-items:end;margin-top:.8rem}.certificate-seal{width:8.5rem;height:8.5rem;border-radius:50%;padding:.35rem;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 30%),linear-gradient(145deg,#4b1f73,#8a3f76 45%,#d67729);box-shadow:0 18px 32px #4b1f7338}.certificate-seal__outer{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;border:1px solid rgba(255,245,214,.7);background:radial-gradient(circle,rgba(255,255,255,.08),transparent 62%),linear-gradient(180deg,#ffffff2e,#ffffff05)}.certificate-seal__inner{display:grid;align-content:center;justify-items:center;width:calc(100% - .9rem);height:calc(100% - .9rem);padding:.7rem;border-radius:50%;border:1px solid rgba(255,240,196,.7);color:#fff;text-align:center;background:radial-gradient(circle at top,rgba(255,255,255,.16),transparent 48%)}.certificate-seal__eyebrow,.certificate-seal__subtitle,.certificate-seal__stars{color:#fff8e5f0}.certificate-seal__eyebrow{font-size:.54rem;letter-spacing:.14em;text-transform:uppercase}.certificate-seal span{font-size:1.4rem;font-weight:800;letter-spacing:.12em;line-height:1;margin:.18rem 0 .12rem}.certificate-seal__subtitle{font-size:.68rem;letter-spacing:.05em;line-height:1.15}.certificate-seal__stars{font-size:.62rem;letter-spacing:.2em;margin-top:.22rem}.certificate-signature{display:grid;gap:.35rem;justify-items:center}.certificate-signature__line{display:block;width:100%;border-top:2px solid rgba(24,49,83,.24)}.certificate-signature strong{color:#183153;letter-spacing:.01em}.certificate-signature small{color:var(--muted);text-align:center}.certificate-verification{display:grid;grid-template-columns:max-content;gap:.3rem 1.6rem;margin-top:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius-sm);background:linear-gradient(135deg,#8b5a2b0f,#c4934e14);border-top:1px solid rgba(139,90,43,.12);justify-content:center;justify-items:center;font-family:Consolas,Courier New,monospace}.certificate-verification__item{display:grid;gap:.12rem;justify-items:center}.certificate-verification__label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#b45b2c}.certificate-verification__item strong{font-size:.84rem;color:#183153;letter-spacing:.08em}.certificate-verification__code{font-size:.8rem!important;letter-spacing:.14em!important}.certificate-verification__note{grid-column:1 / -1;max-width:34rem;margin:0;color:var(--muted);font-size:.78rem;line-height:1.55;letter-spacing:.02em;text-align:center}.certificate-dean-signoff{position:absolute;left:50%;bottom:1.4rem;transform:translate(-50%);display:grid;justify-items:center;gap:.35rem;text-align:center;width:min(100% - 2rem,30rem)}.certificate-dean-signoff__signature{color:#151515}.certificate-dean-signoff__signature-art{width:12rem;height:auto;display:block}.certificate-dean-signoff__copy{display:grid;gap:.18rem}.certificate-dean-signoff__copy strong,.certificate-dean-signoff__copy span{font-size:.95rem;letter-spacing:.02em;color:#142d50}.certificate-dean-signoff__copy strong{font-weight:800}.table-wrap{overflow-x:auto}.teacher-table{width:100%;border-collapse:collapse}.teacher-table th,.teacher-table td{padding:.95rem .85rem;text-align:left;border-bottom:1px solid var(--line)}.teacher-table tbody tr{transition:background .14s ease}.teacher-table tbody tr:hover{background:#2d7ff90f}.teacher-table__row--active{background:#2d7ff91f}.teacher-table th{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.table-subtitle{margin-top:.25rem;color:var(--muted);font-size:.92rem}.survey-list{display:grid;gap:1rem}.outline-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.outline-card{padding:1rem 1.1rem;border-radius:var(--radius-md);background:#ffffffb8;border:1px solid var(--line)}.overview-jump-card{display:grid;gap:.8rem;width:100%;padding:1.1rem 1.2rem;text-align:left;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffc2;box-shadow:var(--shadow);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.overview-jump-card:hover,.overview-jump-card:focus-visible{transform:translateY(-3px);border-color:#2d7ff959;box-shadow:0 20px 34px #18315329;outline:none}.overview-jump-card p{margin:0;color:var(--muted)}.overview-jump-card__cta{font-weight:700;color:var(--blue)}.outline-card p,.outline-block p{color:var(--muted)}.outline-block{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--line)}.outline-block h3{margin:0 0 .35rem}.outline-line{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0}.action-row{display:flex;gap:.75rem;flex-wrap:wrap}.reset-option-list{display:grid;gap:.7rem}.reset-option{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.8rem .9rem;border-radius:var(--radius-md);background:#ffffff9e;border:1px solid var(--line);cursor:pointer}.reset-option input{margin-top:.12rem}.reset-option span{display:grid;gap:.18rem}.reset-option strong{color:var(--ink)}.reset-option small{color:var(--muted);line-height:1.4}.survey-card{padding:1rem 1.1rem;border-radius:var(--radius-md);background:#ffffffb8;border:1px solid var(--line)}.survey-card span,.survey-card small,.empty-note{color:var(--muted)}.student-detail{display:grid;gap:1rem}.student-detail__layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:1rem;align-items:start}.student-detail__rail,.student-detail__main{display:grid;gap:1rem;align-content:start}.student-detail__main{min-width:0}.student-detail__top{display:contents}.student-detail__hero{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.student-detail__summary{padding:.85rem 1rem;border-radius:var(--radius-md);background:#ffffffb8;border:1px solid var(--line)}.student-detail__summary-table{width:100%;border-collapse:collapse}.student-detail__summary-table th,.student-detail__summary-table td{padding:.42rem 0;border-bottom:1px solid rgba(24,49,83,.08)}.student-detail__summary-table tr:last-child th,.student-detail__summary-table tr:last-child td{border-bottom:none}.student-detail__summary-table th{width:58%;padding-right:1rem;color:var(--muted);font-size:.84rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:left}.student-detail__summary-table td{color:var(--blue);font-size:1rem;font-weight:700;text-align:right}.student-course-list{display:grid;gap:1rem}.leaderboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.leaderboard-card{padding:1.2rem;border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffffc7;box-shadow:var(--shadow);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.leaderboard-card:hover{transform:translateY(-3px);box-shadow:0 22px 36px #18315329}.leaderboard-card strong{display:block;margin-top:.4rem;font-size:1.15rem}.leaderboard-card p{margin:.35rem 0 .8rem;color:var(--muted)}.leaderboard-card__rank{display:inline-flex;align-items:center;justify-content:center;min-width:3rem;padding:.45rem .85rem;border-radius:999px;background:#ffffffd6;border:1px solid rgba(255,255,255,.72);font-weight:700}.leaderboard-card__stats{display:grid;gap:.4rem;color:var(--ink)}.leaderboard-card--gold{background:linear-gradient(135deg,#ffd36ef2,#ff8a3de0)}.leaderboard-card--silver{background:linear-gradient(135deg,#f0f4f8f2,#adbecfe0)}.leaderboard-card--bronze{background:linear-gradient(135deg,#ebb181f5,#c47443e0)}.certificate-card h2{font-size:clamp(2rem,4vw,3.4rem)}.certificate-stats{justify-content:center;flex-wrap:wrap;margin:1.3rem 0}.certificate-stats span,.requirements-list{padding:.9rem 1rem;border-radius:var(--radius-md);background:#ffffffb3;border:1px solid var(--line)}.certificate-date{color:var(--muted)}.certificate-date--inline{margin:0;font-weight:600}.requirements-list{display:grid;gap:.45rem;text-align:left}.screen-center{min-height:55vh;display:grid;place-items:center;color:var(--muted)}.error-banner{padding:.95rem 1rem;border-radius:var(--radius-md);color:#8c1d18;background:#ffe6e2e6;border:1px solid rgba(140,29,24,.14)}.success-banner{padding:.95rem 1rem;border-radius:var(--radius-md);color:#14532d;background:#dcfce7eb;border:1px solid rgba(20,83,45,.14)}.confirm-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1rem;background:#18315357;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.confirm-dialog{width:min(480px,100%);padding:1.5rem;border-radius:var(--radius-lg);background:#fffffff0;border:1px solid rgba(255,255,255,.82);box-shadow:0 24px 44px #18315338}.confirm-dialog h2{margin:.25rem 0 .6rem;font-family:var(--heading-font)}.confirm-dialog p{margin:0 0 1rem;color:var(--muted)}.celebration-banner{position:relative;overflow:hidden;padding:1.4rem 1.6rem;border-radius:var(--radius-lg);color:#fff;background:linear-gradient(135deg,#00a8a8,#2d7ff9,#ff8a3d);box-shadow:var(--shadow)}.celebration-banner__content{position:relative;z-index:1}.celebration-banner h2{margin:.3rem 0 .45rem;font-family:var(--heading-font);font-size:clamp(1.8rem,3vw,2.6rem)}.celebration-banner p{margin:0;color:#ffffffeb}.celebration-banner__chips{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.celebration-chip{display:inline-flex;align-items:center;padding:.65rem .85rem;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.26);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.confetti-layer{position:absolute;inset:0;pointer-events:none}.confetti-piece{--confetti-rotate: 0deg;position:absolute;top:-1.5rem;width:.85rem;height:1.35rem;border-radius:.3rem;opacity:0;transform:rotate(var(--confetti-rotate));animation-name:confetti-fall;animation-timing-function:ease-out;animation-fill-mode:both}.confetti-piece--0{background:#ffd36e}.confetti-piece--1{background:#fff}.confetti-piece--2{background:#7fd36b}.confetti-piece--3{background:#ff8a3d}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-10%,0) rotate(var(--confetti-rotate)) scale(.85)}15%{opacity:1}to{opacity:0;transform:translate3d(-1.4rem,17rem,0) rotate(calc(var(--confetti-rotate) + 180deg)) scale(1)}}@media(prefers-reduced-motion:reduce){.confetti-piece{animation:none;opacity:0}}@media(max-width:900px){.outline-list,.topbar,.hero-panel,.auth-layout{grid-template-columns:1fr}.topbar{gap:.75rem;padding:1rem}.topnav,.student-pill,.course-card__header,.course-footer,.course-metrics,.course-window,.section-header,.lesson-player__meta,.lesson-player__footer,.auth-toggle{flex-wrap:wrap}.page-shell{width:min(100vw - 1rem,100%);padding:1.1rem 0 calc(1.75rem + env(safe-area-inset-bottom,0px))}.avatar-grid{grid-template-columns:1fr}.hero-panel{padding:1.25rem;gap:1.1rem}.hero-panel h1,.auth-copy h1{font-size:clamp(1.8rem,10vw,2.8rem)}.brand-ribbon{gap:.5rem;padding-bottom:.15rem}.brand-title{font-size:1.2rem}.brand-subtitle{font-size:.88rem}.topnav{justify-content:flex-start;width:100%;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:.1rem}.student-pill{width:100%}.topnav a,.topnav .ghost-button{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}.brand-logo{height:3rem}.brand-logo--wide{min-width:6.2rem;height:3.2rem}.hero-stats--dashboard{grid-template-columns:1fr}.hero-actions--dashboard{display:grid;grid-template-columns:1fr}.hero-actions--dashboard-secondary{grid-template-columns:1fr}.hero-actions--dashboard .status-pill,.hero-actions--dashboard .ghost-link,.hero-actions--dashboard .solid-button{grid-column:1 / -1}.course-lesson-row{flex-direction:column;align-items:stretch}.hero-stats--dashboard article{display:grid;gap:.35rem;min-height:auto}.student-detail__hero,.student-detail__layout,.certificate-sheet__header,.certificate-signature-grid,.certificate-module-badges{grid-template-columns:1fr}.certificate-sheet__header{justify-items:center}.certificate-toolbar{align-items:center}.certificate-toolbar__actions{justify-content:center}.certificate-verification{grid-template-columns:1fr}.certificate-verification__note{grid-column:auto}}@media(max-width:640px){.topbar{position:sticky;top:0;padding:calc(.85rem + env(safe-area-inset-top,0px)) .85rem .85rem;border-radius:0 0 1.25rem 1.25rem}.brand{width:100%}.brand-copy{gap:.2rem}.brand-eyebrow{font-size:.66rem;letter-spacing:.16em}.brand-title{font-size:1.08rem}.brand-subtitle{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.82rem;line-height:1.3}.student-pill{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:center;border-radius:1.05rem}.student-pill__role{grid-column:1 / -1;justify-self:start}.page-shell{width:min(100%,calc(100vw - .8rem));padding-top:.95rem}.auth-layout{width:min(100%,calc(100vw - .8rem));min-height:auto;padding:1rem 0 1.5rem;gap:1rem}.auth-card{order:-1;padding:1.15rem}.auth-copy,.form-panel,.certificate-card,.teacher-card{padding:1.15rem}.auth-copy{gap:.8rem}.feature-list{margin:0;padding-left:1rem}.auth-form .solid-button{width:100%;min-height:3rem}.hero-panel{padding:1rem}.identity-card{grid-template-columns:1fr;justify-items:start;padding:1rem}.identity-card .avatar-art--lg{width:4.75rem;height:4.75rem}.hero-stat-card strong{font-size:clamp(1.85rem,8vw,2.35rem)}.reward-panel .section-header{gap:.85rem}.badge-grid,.course-grid{grid-template-columns:1fr}.course-card{padding:1rem}.course-card__header,.course-window,.section-header,.lesson-player__meta,.lesson-player__footer{gap:.75rem}.course-window--compact{grid-template-columns:1fr}.course-lesson-row{padding:.7rem}.course-lesson-row__copy{display:grid;gap:.2rem}.course-lesson-row__action{width:100%;min-width:0}.section-header>.ghost-link{width:100%;justify-content:center}.lesson-player{padding:0}.lesson-player__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.lesson-player__meta span{padding:.7rem .8rem;border-radius:var(--radius-md);background:#ffffffad;border:1px solid var(--line);text-align:center}.lesson-player__card{padding:1rem;min-height:auto}.video-placeholder{flex-direction:column;align-items:flex-start}.option-card{padding:1rem;font-size:1rem}.lesson-player__footer{position:sticky;bottom:calc(.5rem + env(safe-area-inset-bottom,0px));z-index:3;padding:.75rem;border-radius:1rem;background:#fffaf5eb;border:1px solid rgba(24,49,83,.08);box-shadow:0 14px 24px #1831531f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lesson-player__footer .ghost-button,.lesson-player__footer .solid-button{width:100%;min-height:3rem}.survey-question-card{padding:.95rem}.mastery-card{padding:2.2rem 1.2rem;border-radius:28px}.mastery-actions{display:grid;gap:.75rem}.mastery-actions .solid-button,.mastery-actions .ghost-button{width:100%}}@media(hover:none){.course-card:hover,.badge-card:hover,.heatmap-cell:hover{transform:none;box-shadow:var(--shadow)}}@media print{@page{size:Letter portrait;margin:6mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.topbar,.certificate-toolbar,.ghost-link,.ghost-button,.solid-button{display:none!important}html,body,.app-shell{margin:0!important;padding:0!important;height:auto!important;min-height:0!important;background:#fff}body{font-size:11pt}.page-shell{width:100%;padding:0}.page-shell--certificate{width:100%}.stack{display:block}.certificate-card,.certificate-sheet{box-shadow:none}.certificate-sheet{display:block;width:100%;min-height:auto;margin:0;border:none;overflow:hidden;position:relative;break-inside:avoid;page-break-inside:avoid;break-before:avoid;page-break-before:auto;break-after:avoid-page;page-break-after:avoid}.certificate-sheet__frame{margin:.35rem;height:auto;min-height:0;max-height:none}.certificate-signature-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:1rem}.certificate-module-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;width:min(100%,24rem)}.certificate-module-badge{min-height:4.25rem;padding:.5rem .6rem;box-shadow:none}.certificate-module-badge__header{gap:.45rem}.certificate-module-badge .avatar-art--sm{width:2rem;height:2rem}.certificate-module-badge strong{font-size:.8rem;line-height:1.2}.certificate-seal{width:6.6rem;height:6.6rem;box-shadow:none}.certificate-signature small{font-size:.68rem;line-height:1.2}.certificate-verification{margin-top:.3rem;padding:.45rem 1rem}}@keyframes card-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lesson-player__card{animation:card-fade-in .45s cubic-bezier(.16,1,.3,1)}.skeleton{background:linear-gradient(90deg,#1831530d 25%,#18315314,#1831530d 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1rem;width:100%;margin-bottom:.5rem}.skeleton-title{height:2.5rem;width:70%;margin-bottom:1rem}.skeleton-circle{width:4rem;height:4rem;border-radius:50%}.xp-bar{margin-top:1rem;height:.75rem;background:#1831530f;border-radius:999px;overflow:hidden;position:relative}.xp-bar__fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--teal));border-radius:999px;transition:width 1.2s cubic-bezier(.34,1.56,.64,1)}.xp-bar-container{display:grid;gap:.4rem}.xp-bar-meta{display:flex;justify-content:space-between;font-size:.82rem;font-weight:700;color:var(--muted)}.mastery-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.5rem;background:#18315373;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:overlay-fade-in .6s ease-out}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.mastery-card{position:relative;width:min(100%,42rem);padding:3rem 2rem;background:#fff;border-radius:40px;text-align:center;box-shadow:0 30px 60px #00000040;border:4px solid white;overflow:hidden;animation:card-pop .7s cubic-bezier(.34,1.56,.64,1)}@keyframes card-pop{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.mastery-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffd36e26,#2d7ff91a);pointer-events:none}.mastery-badge-icon{font-size:5rem;margin-bottom:1.5rem;display:block;filter:drop-shadow(0 10px 15px rgba(242,139,29,.3))}.mastery-title{font-family:var(--heading-font);font-size:clamp(2.2rem,5vw,3.8rem);line-height:1;color:#183153;margin:0 0 .5rem}.mastery-subtitle{display:block;font-size:1.4rem;color:var(--accent-strong);font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1.5rem}.mastery-desc{font-size:1.1rem;color:var(--muted);line-height:1.6;max-width:32rem;margin:0 auto 2.5rem}.mastery-actions{display:flex;gap:1rem;justify-content:center}.heatmap-card{margin-bottom:2rem;overflow:hidden}.heatmap-scroll{overflow-x:auto;padding-bottom:1rem}.heatmap-grid{display:grid;grid-template-columns:minmax(140px,auto) repeat(auto-fill,minmax(64px,1fr));gap:4px;min-width:600px}.heatmap-header{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--muted);text-align:center;padding:.5rem}.heatmap-header--name{text-align:left}.heatmap-row{display:contents}.heatmap-name{font-size:.84rem;font-weight:700;padding:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:4px}.heatmap-cell{height:2.8rem;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;color:#fff;transition:transform .14s ease,opacity .14s ease;cursor:help;position:relative;overflow:hidden;border:1px solid #e2e8f0}.heatmap-cell:hover{transform:scale(1.08);z-index:5;opacity:1!important}.heatmap-cell--0{background:#f8fafc;color:#94a3b8}.heatmap-cell--scored{background:#fff;color:#1e3a5f}.heatmap-cell__completion-bar{position:absolute;left:0;right:0;bottom:0;height:.35rem;background:#22c55e}.heatmap-cell__completion-swatch{background:#22c55e}.heatmap-legend{display:flex;gap:1.25rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.legend-item{display:flex;align-items:center;gap:.4rem}.legend-box{width:14px;height:14px;border-radius:3px}@keyframes fadeUpEntrance{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.course-card,.badge-card,.reward-panel,.teacher-card,.hero-panel,.form-panel{animation:fadeUpEntrance .8s cubic-bezier(.16,1,.3,1) forwards;will-change:transform,opacity}.course-grid>*:nth-child(1){animation-delay:.05s}.course-grid>*:nth-child(2){animation-delay:.15s}.course-grid>*:nth-child(3){animation-delay:.25s}.course-grid>*:nth-child(4){animation-delay:.35s}.badge-grid>*:nth-child(1){animation-delay:.1s}.badge-grid>*:nth-child(2){animation-delay:.2s}.badge-grid>*:nth-child(3){animation-delay:.3s}.badge-grid>*:nth-child(4){animation-delay:.4s}.course-card{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}.course-card:hover{transform:translateY(-6px) scale(1.015);box-shadow:0 24px 48px #18315324,inset 0 1px #ffffffe6}.solid-button,.ghost-button,.primary-link,.ghost-link{transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .2s ease,box-shadow .2s ease!important}.solid-button:active,.primary-link:active{transform:scale(.95);box-shadow:0 4px 10px #0000001a!important}.ghost-button:active,.ghost-link:active{transform:scale(.96)}.progress-strip div{transition:width 1.4s cubic-bezier(.34,1.56,.64,1) .1s!important}.badge-card:active{transform:scale(.94)!important}.survey-charts{gap:2rem}.global-survey-charts{align-items:start}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1.5rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1rem}.metric-item{padding:1.25rem;background:#fff;border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:0 4px 12px #1831530a}.metric-item label{display:block;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.metric-item .value{font-size:1.5rem;font-weight:700;color:var(--blue)}.metric-item small{display:block;margin-top:.25rem;font-weight:600}.positive{color:#10b981}.negative{color:#ef4444}@media(max-width:768px){.grid-2{grid-template-columns:1fr}}
