:root{--text:#334155;--text-h:#0f172a;--text-muted:#64748b;--bg:#f8fafc;--card-bg:#fff;--border:#e2e8f0;--purple:#6366f1;--purple-gradient:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--purple-dark:#4f46e5;--green:#10b981;--green-dark:#059669;--red:#f43f5e;--yellow:#f59e0b;--amber:#f59e0b;--shadow:0 10px 25px -5px #6366f11a, 0 8px 10px -6px #6366f10d;--shadow-lg:0 20px 30px -10px #00000026;--radius:20px;--sans:"Outfit", "Plus Jakarta Sans", system-ui, sans-serif;font:18px/1.6 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#cbd5e1;--text-h:#f8fafc;--text-muted:#94a3b8;--bg:#0f172a;--card-bg:#1e293b;--border:#334155;--shadow:0 10px 25px -5px #0000004d}}:root[data-theme=dark]{--text:#cbd5e1;--text-h:#f8fafc;--text-muted:#94a3b8;--bg:#0f172a;--card-bg:#1e293b;--border:#334155;--shadow:0 10px 25px -5px #0000004d}:root[data-theme=light]{--text:#334155;--text-h:#0f172a;--text-muted:#64748b;--bg:#f8fafc;--card-bg:#fff;--border:#e2e8f0;--shadow:0 10px 25px -5px #6366f11a}*{box-sizing:border-box}body{background-color:var(--bg);color:var(--text);margin:0}#root{min-height:100svh}button{cursor:pointer;background:var(--purple-gradient);color:#fff;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border:none;border-radius:12px;outline:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:inherit;font-size:15px;font-weight:700;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;box-shadow:0 4px 12px #6366f140}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 18px #6366f166}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;background:var(--border);color:var(--text);transform:none}h1,h2,h3,h4{color:var(--text-h);letter-spacing:-.02em;font-weight:800}h1{margin:8px 0;font-size:clamp(32px,6vw,52px)}h2{margin:0 0 8px;font-size:clamp(24px,4vw,32px)}h3{margin:0 0 6px;font-size:20px}button{cursor:pointer;border:none;outline:none;font-family:inherit}.app-root{min-height:100vh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;display:flex}.app-main{width:100%;max-width:1100px;padding:20px 20px calc(80px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.mute-hint-banner{background:var(--yellow);color:#1a1300;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;text-align:center;z-index:60;justify-content:center;align-items:center;gap:16px;font-size:14px;font-weight:700;display:flex;position:sticky;top:0}.mute-hint-banner button{box-shadow:none;color:#1a1300;opacity:.7;background:0 0;border-radius:8px;padding:2px 8px;font-size:16px}.mute-hint-banner button:hover{opacity:1;transform:none}.piano-loading-banner{background:var(--card-bg);border-bottom:1.5px solid var(--border);color:var(--text-h);padding:calc(8px + env(safe-area-inset-top)) 16px 8px;text-align:center;z-index:60;justify-content:center;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex;position:sticky;top:0}.piano-loading-track{background:var(--border);border-radius:999px;width:120px;height:6px;overflow:hidden}.piano-loading-fill{background:var(--purple-gradient);border-radius:999px;height:100%;transition:width .2s}.app-navbar{z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:#ffffffd9;position:sticky;top:0}:root[data-theme=dark] .app-navbar{background:#0f172ad9}.nav-container{justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:0 auto;display:flex}.nav-brand{color:var(--text-h);background:0 0;border-radius:12px;align-items:center;gap:8px;padding:4px 8px;font-size:22px;font-weight:800;transition:transform .15s;display:flex;box-shadow:none!important}.nav-brand:hover{transform:scale(1.03);box-shadow:none!important}.brand-icon{font-size:26px}.brand-nz{color:var(--purple);font-size:.75em}.nav-left-group{align-items:center;gap:10px;display:flex}.nav-board-select,.nav-hub-select{position:relative}.nav-hub-menu{min-width:180px;left:auto;right:0}.nav-board-pill,.nav-board-pill:hover,.nav-teacher-hub-pill,.nav-teacher-hub-pill:hover,.nav-grade-btn,.nav-grade-btn:hover,.icon-btn,.icon-btn:hover,.nav-profile-chip,.nav-profile-chip:hover,.nav-teacher-menu-trigger,.nav-teacher-menu-trigger:hover,.nav-teacher-logout-btn,.nav-teacher-logout-btn:hover,.nav-teacher-home-btn,.nav-teacher-home-btn:hover{box-shadow:none!important}.nav-board-pill{color:var(--text-h);background:#6366f11a;border:1.5px solid #6366f159;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:800;transition:all .15s;display:inline-flex}.nav-board-pill:hover{border-color:var(--purple);background:#6366f133}.nav-board-caret{opacity:.7;font-size:9px}.nav-board-menu{z-index:60;background:var(--card-bg);border:2px solid var(--purple);min-width:240px;box-shadow:var(--shadow-lg);border-radius:16px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);left:0}.nav-board-menu-item,.nav-board-menu-item:hover{box-shadow:none!important}.nav-board-menu-item{width:100%;color:var(--text-h);text-align:left;background:0 0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:700;display:flex}.nav-board-menu-item:hover{background:#6366f11a}.nav-board-menu-item.active{background:#6366f12e;font-weight:800}.nav-board-menu-grades{opacity:.7;white-space:nowrap;font-size:11px}.nav-teacher-hub-pill{color:#10b981;background:#10b9811a;border:1.5px solid #10b98159;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:800;transition:all .15s;display:inline-flex}:root[data-theme=dark] .nav-teacher-hub-pill{color:#34d399}.nav-teacher-hub-pill:hover{background:#10b98133;border-color:#10b981}.nav-teacher-logout-btn{color:var(--red);background:#f43f5e14;border:1.5px solid #f43f5e4d;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:800;display:inline-flex}.nav-teacher-logout-btn:hover{border-color:var(--red);background:#f43f5e29}.nav-teacher-home-btn{color:var(--purple);background:#6366f114;border:1.5px solid #6366f14d;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:800;display:inline-flex}.nav-teacher-home-btn:hover{border-color:var(--purple);background:#6366f129}.nav-grade-links{gap:6px;display:flex}.nav-grade-segment{border:1px solid var(--border);background:#00000026;border-radius:14px;align-items:center;gap:4px;padding:4px 8px;display:flex}:root[data-theme=dark] .nav-grade-segment{background:#00000040}.nav-grade-btn{color:var(--text-h);background:0 0;border:none;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:700;transition:all .15s}.nav-grade-btn:hover{color:var(--purple);background:#6366f11f}.nav-grade-btn-soon{opacity:.35}.nav-grade-btn-soon:hover{color:var(--text-h);cursor:not-allowed;background:0 0}.nav-segment-divider{opacity:.3;margin:0 2px}.nav-teacher-menu-slot,.nav-teacher-actions-slot{display:contents}.nav-controls{align-items:center;gap:10px;display:flex}.score-chip{border:1.5px solid var(--border);background:var(--card-bg);border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #0000000d}.xp-chip{color:var(--purple);border-color:#6366f14d}.star-chip{color:#d97706;border-color:#f59e0b4d}.icon-btn{border:1.5px solid var(--border);background:var(--card-bg);min-width:40px;height:40px;color:var(--text-h);border-radius:12px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;transition:all .15s;display:flex}.icon-btn:hover{border-color:var(--purple);transform:scale(1.08)}.nav-icon-segment{border:1px solid var(--border);background:#00000026;border-radius:14px;align-items:center;gap:6px;padding:4px 6px;display:flex}:root[data-theme=dark] .nav-icon-segment{background:#00000040}.nav-icon-segment .score-chip{box-shadow:none;background:0 0;border:none;padding:4px 6px}.nav-icon-segment .icon-btn{background:0 0;border:none;min-width:32px;height:32px}.nav-icon-segment .icon-btn:hover{background:#6366f11f}.home-landing{flex-direction:column;gap:60px;display:flex}.native-practice-home{width:min(100%,720px);padding:18px 0 calc(28px + env(safe-area-inset-bottom));gap:18px;margin:0 auto;display:grid}.native-practice-header{padding:2px 4px 4px}.native-practice-eyebrow{color:var(--purple);letter-spacing:.1em;margin:0 0 5px;font-size:12px;font-weight:900}.native-practice-header h1{color:var(--text-h);margin:0;font-size:clamp(30px,8vw,42px);line-height:1.05}.native-practice-header>p:last-child{color:var(--text);margin:8px 0 0;font-size:15px}.native-progress-strip{box-sizing:border-box;width:100%;color:var(--text-h);text-align:left;box-shadow:var(--shadow);background:linear-gradient(135deg,#6366f126,#a855f714);border:1.5px solid #6366f159;border-radius:18px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.native-progress-avatar,.native-progress-content{min-width:0;box-shadow:none}.native-progress-avatar{width:52px;height:52px;color:var(--text-h);background:#6366f121;border:1px solid #6366f152;border-radius:15px;place-items:center;padding:3px;display:grid}.native-progress-avatar>span{font-size:27px;line-height:1}.native-progress-avatar>small{color:var(--text);opacity:.7;font-size:8px;font-weight:850;line-height:1}.native-progress-avatar:hover,.native-progress-avatar:focus-visible{border-color:var(--purple);box-shadow:none;background:#6366f133;transform:none}.native-progress-content{width:100%;color:var(--text-h);text-align:left;background:0 0;border-radius:10px;gap:9px;padding:2px 0;display:grid}.native-progress-content:hover,.native-progress-content:focus-visible{box-shadow:none;background:0 0;transform:none}.native-avatar-picker{background:var(--bg);border:1px solid #6366f14d;border-radius:13px;grid-column:1/-1;gap:9px;padding:11px;display:grid}.native-avatar-picker>strong{color:var(--text-h);font-size:12px}.native-avatar-picker>div{grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:7px;display:grid}.native-avatar-picker button{border:1px solid var(--border);background:var(--card-bg);min-width:38px;height:40px;box-shadow:none;border-radius:11px;padding:0;font-size:22px}.native-avatar-picker button:hover,.native-avatar-picker button:focus-visible,.native-avatar-picker button.selected{border-color:var(--purple);box-shadow:none;background:#6366f129;transform:none}.native-progress-topline,.native-progress-bottomline{align-items:center;gap:10px;display:flex}.native-progress-topline{justify-content:space-between}.native-progress-topline>strong{font-size:15px}.native-progress-stats{color:var(--text-h);align-items:center;gap:12px;font-size:12px;font-weight:850;display:flex}.native-progress-bottomline{color:var(--text);font-size:11px;font-weight:750}.native-progress-track{background:#6366f124;border-radius:999px;flex:1;min-width:70px;height:7px;overflow:hidden}.native-progress-track>span{background:var(--purple-gradient);border-radius:inherit;height:100%;display:block}.native-progress-arrow{color:var(--purple);font-size:22px;line-height:.8}@media (width<=380px){.native-progress-strip{grid-template-columns:46px minmax(0,1fr);gap:8px;padding:10px}.native-progress-avatar{width:46px;height:48px}.native-progress-avatar>span{font-size:24px}.native-progress-stats,.native-progress-bottomline{gap:7px;font-size:10px}.native-progress-track{min-width:42px}}.native-board-control,.native-practice-section{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:22px}.native-board-control{justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.native-board-control>div{gap:3px;display:grid}.native-control-label{color:var(--text-h);font-size:14px;font-weight:850}.native-control-help{color:var(--text);opacity:.75;font-size:12px}.native-board-select{flex:none;min-width:164px;position:relative}.native-board-select select{appearance:none;width:100%;min-height:46px;color:var(--text-h);font:inherit;background:#6366f11a;border:1.5px solid #6366f159;border-radius:13px;padding:0 38px 0 13px;font-size:13px;font-weight:800}.native-board-select>span:last-child{color:var(--purple);pointer-events:none;font-size:18px;font-weight:900;position:absolute;top:50%;right:14px;transform:translateY(-55%)}.native-practice-section{padding:18px}.native-section-heading{align-items:center;gap:13px;margin-bottom:17px;display:flex}.native-section-heading h2{color:var(--text-h);margin:0 0 3px;font-size:19px}.native-section-heading p{color:var(--text);opacity:.78;margin:0;font-size:13px}.native-practice-icon{border-radius:15px;flex:none;place-items:center;width:48px;height:48px;font-size:23px;display:grid}.native-practice-icon.theory{background:#6366f124}.native-practice-icon.aural{background:#0ea5e924}.native-practice-icon.ninja{background:#a855f724}.native-practice-icon.teacher{background:#10b98124}.native-practice-icon.parent{background:#7c5cff24}.native-grade-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.native-grade-button{background:var(--bg);border:1.5px solid var(--border);min-height:78px;color:var(--text-h);box-shadow:none;border-radius:15px;align-content:center;place-items:center;gap:0;padding:10px 8px;display:grid}.native-grade-button span{opacity:.7;font-size:11px;font-weight:750}.native-grade-button strong{color:var(--purple);font-size:25px;line-height:1.05}.native-grade-button small{color:var(--text);font-size:10px;font-weight:800}.native-grade-button:hover:not(:disabled),.native-grade-button:focus-visible{border-color:var(--purple);background:#6366f117;transform:translateY(-1px)}.native-grade-button:disabled{opacity:.4}.native-training-section{padding:0;overflow:hidden}.native-training-card{width:100%;min-height:86px;color:var(--text-h);text-align:left;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;gap:14px;padding:16px 17px;display:flex}.native-training-card+.native-training-card{border-top:1.5px solid var(--border)}.native-training-card:hover,.native-training-card:focus-visible{box-shadow:none;background:#6366f112;transform:none}.native-training-copy{flex:1;gap:4px;min-width:0;display:grid}.native-training-copy strong{font-size:17px}.native-training-copy small{color:var(--text);opacity:.78;font-size:12px;line-height:1.35}.native-training-arrow{color:var(--purple);flex:none;font-size:30px;font-weight:400;line-height:1}.native-teacher-hub-card{background:var(--card-bg);border:1.5px solid var(--border);width:100%;min-height:82px;color:var(--text-h);text-align:left;box-shadow:var(--shadow);border-radius:18px;align-items:center;gap:14px;padding:15px 17px;display:flex}.native-teacher-hub-card:hover,.native-teacher-hub-card:focus-visible{border-color:var(--green);background:#10b9810f;transform:none}.native-teacher-hub-card-prominent{background:linear-gradient(135deg, #10b9811f, var(--card-bg));border-color:#10b98161;min-height:72px}.native-parent-hub-card:hover,.native-parent-hub-card:focus-visible{border-color:var(--purple);background:#7c5cff0f}@media (width<=430px){.native-board-control{flex-direction:column;align-items:stretch}.native-board-select{width:100%}}.hero-section{text-align:center;background:radial-gradient(circle at 50% 20%,#6366f11f 0%,#0000 70%);border-radius:32px;padding:50px 20px 20px;position:relative;overflow:hidden}.hero-floating-notes{pointer-events:none;opacity:.35;position:absolute;inset:0}.float-note{font-size:32px;animation:6s ease-in-out infinite alternate float-anim;position:absolute}.float-1{animation-delay:0s;top:2%;left:46%}.float-2{animation-delay:1.2s;top:4%;right:2%}.float-3{animation-delay:2.4s;bottom:2%;left:46%}.float-4{animation-delay:3.6s;bottom:4%;right:4%}.float-5{animation-delay:4.8s;top:50%;right:1%}@keyframes float-anim{0%{transform:translateY(0)rotate(-10deg)}to{transform:translateY(-20px)rotate(15deg)}}.hero-split-grid{z-index:2;text-align:left;grid-template-columns:1.1fr .9fr;align-items:center;gap:36px;max-width:1100px;margin:0 auto;display:grid;position:relative}@media (width<=850px){.hero-split-grid{text-align:center;grid-template-columns:1fr}}.hero-split-grid:has(>.syllabus-widget-card:only-child){grid-template-columns:1fr;justify-items:center}.hero-split-grid:has(>.syllabus-widget-card:only-child) .syllabus-widget-card{width:100%;max-width:480px}.syllabus-widget-card{background:var(--card-bg);border:2px solid var(--purple);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:24px}.syllabus-widget-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.syllabus-widget-header h3{color:var(--text-h);margin:0;font-size:18px;font-weight:800}.syllabus-widget-badge{letter-spacing:.04em;color:var(--purple);white-space:nowrap;background:#6366f11a;border-radius:8px;padding:4px 9px;font-size:11px;font-weight:800}.syllabus-board-list{flex-direction:column;gap:10px;display:flex}.syllabus-board-row{background:var(--bg);border:1.5px solid var(--border);text-align:left;width:100%;color:var(--text-h);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;font-weight:600;transition:all .15s;display:flex}.syllabus-board-row:hover{border-color:var(--purple);background:#6366f114}.syllabus-board-row.active{border-color:var(--purple);background:#6366f124;font-weight:800}.syllabus-board-grades{opacity:.75;color:var(--text);white-space:nowrap;font-size:12px}.syllabus-board-row.active .syllabus-board-grades{opacity:1;color:var(--purple);font-weight:800}.hero-content{z-index:2;position:relative}.hero-pill-badge{color:var(--purple);background:#6366f11f;border:1.5px solid #6366f14d;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:8px 18px;font-size:14px;font-weight:700;display:inline-flex}.hero-headline{margin:0 0 16px;line-height:1.15}.gradient-text{background:linear-gradient(135deg,#6366f1 0%,#a855f7 50%,#ec4899 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-subtitle{color:var(--text);opacity:.9;margin:0 0 32px;font-size:19px}.hero-cta-group{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:40px;display:flex}.hero-proof-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:-22px;display:flex}.hero-proof-row span{color:var(--text);background:#6366f11a;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.app-store-badge-pending{cursor:default;opacity:.82}.cta-btn{border-radius:16px;align-items:center;gap:8px;min-height:54px;padding:0 28px;font-size:17px;font-weight:800;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex}.primary-cta{background:var(--purple-gradient);color:#fff;box-shadow:0 10px 20px #6366f14d}.primary-cta:hover{transform:translateY(-3px)scale(1.02);box-shadow:0 15px 25px #6366f166}.secondary-cta{background:var(--card-bg);border:2px solid var(--border);color:var(--text-h);box-shadow:var(--shadow)}.secondary-cta:hover{border-color:var(--purple);transform:translateY(-2px)}.stat-item{flex-direction:column;align-items:center;display:flex}.stat-number{color:var(--purple);font-size:22px;font-weight:800}.stat-label{opacity:.8;font-size:13px}.stat-divider{background:var(--border);width:1px;height:32px}.teaser-section{text-align:center;width:100%;max-width:720px;margin:0 auto}.section-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--purple);margin-bottom:6px;font-size:12px;font-weight:800;display:block}.demo-question-wrapper{text-align:left;margin-top:20px}.demo-success-callout{border:2px solid var(--green);color:var(--green-dark);background:#10b9811f;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px 20px;font-weight:700;display:flex}.btn-sm{background:var(--green);color:#fff;border-radius:10px;padding:8px 16px;font-weight:700}.testimonials-section{max-width:1280px;color:var(--text-h);margin:0 auto;padding:60px 20px}.split-container{text-align:left;grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.split-left-content h2{margin:0 0 20px;font-size:2.5rem;font-weight:800;line-height:1.2}.split-left-content>p{color:var(--text-muted);margin:0 0 30px;font-size:1.05rem}.metrics-row{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:30px;display:grid}.metric-box{border:1px solid var(--border);background:color-mix(in srgb, var(--card-bg) 92%, transparent);border-radius:16px;padding:20px}.metric-val{color:#818cf8;font-size:2rem;font-weight:800}.metric-lbl{color:var(--text-muted);font-size:.85rem}.avatar-stack-group{align-items:center;gap:12px;display:flex}.testimonial-trust-stars{color:#f59e0b;letter-spacing:5px;font-size:1.45rem}.split-right-cards{flex-direction:column;gap:16px;display:flex}.mini-testimonial-card{border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow);border-radius:16px;gap:16px;padding:20px 24px;transition:all .3s;display:flex}.mini-testimonial-card:hover{border-color:#6366f166;transform:translateY(-2px)}.testimonial-option-avatar{border:2px solid var(--border);object-fit:cover;background:#6366f11f;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.testimonial-option-stars{color:#f59e0b;letter-spacing:2px;margin-bottom:6px;font-size:.9rem}.testimonial-option-lead{color:var(--text-h);margin:0 0 6px;font-size:.95rem;font-weight:600}.testimonial-option-name{color:#818cf8;margin-top:6px;font-size:.75rem;font-weight:700;display:inline-block}@media (width<=900px){.split-container{grid-template-columns:1fr}}@media (width<=600px){.testimonials-section{padding:44px 0}.split-left-content h2{font-size:2rem}.metrics-row{grid-template-columns:1fr}.mini-testimonial-card{padding:18px}}.grades-section{text-align:center}.section-header{margin-bottom:32px}.section-header p{opacity:.8;margin:4px 0 0}.grade-cards-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.grade-feature-card{background:var(--card-bg);border:2px solid var(--border);text-align:left;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;gap:12px;padding:26px 22px;transition:all .2s;display:flex;position:relative;overflow:hidden}.grade-feature-card:hover{border-color:var(--purple);transform:translateY(-4px)}.card-top{justify-content:space-between;align-items:center;display:flex}.grade-badge-tag{letter-spacing:.06em;color:var(--purple);background:#6366f11a;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:800}.grade-emoji-icon{font-size:32px}.card-grade-title{margin:0;font-size:22px}.card-grade-blurb{opacity:.8;min-height:40px;margin:0;font-size:14px}.card-progress-section{flex-direction:column;gap:6px;display:flex}.progress-info-row{opacity:.8;justify-content:space-between;font-size:13px;font-weight:700;display:flex}.mastery-bar-track{background:var(--border);border-radius:4px;width:100%;height:8px;overflow:hidden}.mastery-bar-fill{background:var(--purple);border-radius:4px;height:100%;transition:width .3s}.card-actions{gap:10px;margin-top:6px;display:flex}.card-btn{text-align:center;border-radius:12px;flex:1;padding:12px;font-size:14px;font-weight:700;transition:all .15s}.primary-card-btn{background:var(--purple);color:#fff}.primary-card-btn:hover{background:var(--purple-dark)}.secondary-card-btn{background:var(--card-bg);border:1.5px solid var(--border);color:var(--text-h)}.secondary-card-btn:hover{border-color:var(--purple)}.disabled-btn{background:var(--border);color:var(--text);opacity:.6}.games-section{text-align:center}.games-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px;display:grid}.game-feature-card{text-align:left;background:linear-gradient(135deg,#f59e0b1a 0%,#f59e0b08 100%);border:2px solid #f59e0b4d;border-radius:20px;align-items:center;gap:16px;padding:20px;display:flex}.game-card-icon{font-size:40px}.game-card-content h3{margin:0 0 4px;font-size:18px}.game-card-content p{opacity:.8;margin:0 0 10px;font-size:13px}.game-play-btn{color:#fff;background:#f59e0b;border-radius:10px;padding:6px 16px;font-size:13px;font-weight:800}.features-grid-section{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;display:grid}.feature-card{background:var(--card-bg);border:1.5px solid var(--border);text-align:left;box-shadow:var(--shadow);border-radius:20px;padding:22px}.feature-icon{margin-bottom:12px;font-size:32px}.feature-card h3{margin:0 0 6px;font-size:17px}.feature-card p{opacity:.8;margin:0;font-size:13px;line-height:1.5}.question-card{background:var(--card-bg);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 22px;position:relative}.question-prompt-row{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.question-prompt{color:var(--text-h);margin:0;font-size:20px;font-weight:700}.prompt-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.short-answer-form{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.short-answer-form input,.open-question textarea{border:2px solid var(--border);background:var(--card-bg);min-width:220px;min-height:52px;color:var(--text-h);border-radius:14px;flex:1;padding:0 18px;font-family:inherit;font-size:16px;transition:all .15s}.open-question textarea{resize:vertical;min-height:90px;padding:14px 18px}.short-answer-form input:focus,.open-question textarea:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #6366f126}.short-answer-form input:disabled,.open-question textarea:disabled{opacity:.6}.short-answer-form button[type=submit]{white-space:nowrap;min-height:52px;padding:0 28px}.open-question{flex-direction:column;gap:12px;display:flex}.composition-instructions{background:#6366f114;border:1.5px solid #6366f140;border-radius:14px;flex-direction:column;gap:10px;padding:14px 18px;display:flex}.composition-instructions p{margin:0;font-size:14px;line-height:1.5}.manuscript-link{background:var(--card-bg);border:1.5px solid var(--border);color:var(--text-h);border-radius:10px;align-self:flex-start;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.manuscript-link:hover{border-color:var(--purple)}.open-check-row{justify-content:flex-end;display:flex}.learn-topic-btn{border:1.5px solid var(--purple);color:var(--purple);background:#6366f11a;border-radius:12px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:800;transition:all .15s;display:flex}.learn-topic-btn:hover{background:var(--purple);color:#fff;transform:translateY(-1px)}.hear-button{background:var(--card-bg);border:1.5px solid var(--border);color:var(--text-h);border-radius:12px;padding:8px 14px;font-size:14px;font-weight:700;transition:all .15s}.hear-button:hover{border-color:var(--purple)}.feedback{border-radius:16px;flex-direction:column;gap:6px;margin-top:18px;padding:16px 20px;font-size:15px;display:flex}.feedback.correct{border:2px solid var(--green);color:var(--green-dark);background:#10b9811f}.feedback.incorrect{border:2px solid var(--red);color:var(--red);background:#f43f5e1a}.feedback.self-marked{border:2px solid var(--purple);color:var(--purple);background:#6366f11a}.marking-note{opacity:.85;margin:4px 0 0;font-size:13px;font-style:italic}.hint-banner{border:2px solid var(--yellow);color:var(--text-h);background:#f59e0b1a;border-radius:14px;flex-direction:column;gap:4px;margin-top:14px;padding:14px 18px;display:flex}.hint-retry{opacity:.8;font-size:13px;font-style:italic}.composition-rule-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;font-weight:600;list-style:none;display:flex}.composition-rule-list .rule-failed{color:var(--red)}.email-teacher-btn{background:var(--purple);color:#fff;border-radius:12px;align-self:flex-start;align-items:center;gap:6px;margin-top:10px;padding:8px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.email-teacher-btn:hover{background:var(--purple-dark)}.answer-share{margin-top:12px}.share-teacher-btn{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-flex}.share-teacher-btn:hover{background:var(--purple-dark)}.answer-share-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.answer-share-form input{border:1.5px solid var(--border);background:var(--surface,var(--card-bg));min-height:40px;color:var(--text-h);font:inherit;border-radius:10px;flex:220px;padding:8px 12px}.answer-share-form button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:40px;padding:0 16px;font-weight:700}.answer-share-error{color:var(--red);margin:6px 0 0;font-size:13px;font-weight:700}.answer-share-result{color:var(--text-h);margin-top:4px}.answer-share-result>p{opacity:.85;margin:0 0 8px;font-size:14px}.answer-share-link-row{flex-wrap:wrap;gap:8px;display:flex}.answer-share-link-row input{border:1.5px solid var(--border);background:var(--surface,var(--card-bg));min-height:40px;color:var(--text-h);font:inherit;border-radius:10px;flex:260px;padding:8px 12px;font-size:13px}.answer-share-link-row button{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:10px;flex:none;min-height:40px;padding:0 16px;font-weight:700}.staff{background:#fff;border-radius:10px;padding:6px 8px;display:inline-block}.staff svg{max-width:100%!important;height:auto!important}.staff-responsive{box-sizing:border-box;text-align:center;width:100%;display:block}.staff-editor{cursor:pointer;box-sizing:border-box;border-radius:8px;width:100%;display:block}.staff.staff-editor{padding:0}.staff-editor-wrap{width:100%;display:block;position:relative}.staff-editor-wrap--scrollable{-webkit-overflow-scrolling:touch;scrollbar-width:auto;scrollbar-color:var(--purple) #e5e7eb;background-color:#fff;background-image:linear-gradient(90deg,#fff,#fff),linear-gradient(270deg,#fff,#fff),linear-gradient(90deg,#0f172a38,#0f172a00),linear-gradient(270deg,#0f172a38,#0f172a00);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:22px 100%,22px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll;border-radius:10px;padding:6px 8px 12px;overflow-x:auto}.staff-editor-wrap--scrollable .staff{background:0 0;border-radius:0;padding:0}.staff-editor-wrap--scrollable .staff svg{max-width:none!important}.staff-editor-wrap--scrollable::-webkit-scrollbar{height:10px}.staff-editor-wrap--scrollable::-webkit-scrollbar-track{background:#e5e7eb;border-radius:999px}.staff-editor-wrap--scrollable::-webkit-scrollbar-thumb{background:var(--purple);border-radius:999px}.staff-editor-wrap--scrollable::-webkit-scrollbar-thumb:hover{background:var(--purple-dark)}.staff-editor--drag_note{cursor:grab;touch-action:none}.staff-editor--drag_note:active{cursor:grabbing}.staff-editor--bar_line_click,.staff-editor--note_select,.staff-editor--correctness_click{cursor:pointer}.staff-editor-note-selector{z-index:2;color:#fff;cursor:pointer;touch-action:manipulation;background:#fff;border:2px solid #64748b;border-radius:7px;width:30px;height:30px;padding:0;font:800 18px/1 inherit;position:absolute;transform:translate(-50%)}.staff-editor-note-selector.selected{background:#059669;border-color:#059669}.staff-editor-note-selector:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.staff-editor-selection-count{color:var(--muted);text-align:center;margin:8px 0 0;font-size:.9rem;font-weight:700}.staff-editor:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.staff-editor-pitch-controls{justify-items:center;gap:8px;padding:10px 12px 2px;display:grid}.staff-editor-pitch-controls p{color:#625c72;opacity:1;text-align:center;margin:0;font-size:13px}.staff-editor-pitch-controls>div{grid-template-columns:minmax(104px,1fr) auto minmax(104px,1fr);align-items:center;gap:10px;width:min(100%,390px);display:grid}.staff-editor-pitch-controls button{border:2px solid var(--purple);color:#2f2942;min-height:48px;font:inherit;cursor:pointer;touch-action:manipulation;background:#f1efff;border-radius:14px;padding:0 16px;font-weight:800}.staff-editor-pitch-controls button:hover{background:#7c5cff2e}.staff-editor-pitch-controls button:focus-visible{outline:3px solid var(--purple);outline-offset:2px}.staff-editor-pitch-controls output{min-width:48px;color:var(--purple);text-align:center;font-size:17px;font-weight:900}@media (width<=440px){.staff-editor-pitch-controls>div{grid-template-columns:1fr auto 1fr;gap:6px}.staff-editor-pitch-controls button{min-width:0;padding:0 6px;font-size:12px}}.staff-editor-barline{pointer-events:none;background:#1a1a2e;border-radius:1px;width:3px;position:absolute}.staff-editor-barline-toggles{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.staff-editor-barline-toggle{border:2px solid var(--border);background:var(--card-bg);color:var(--text-h);touch-action:manipulation;border-radius:999px;min-height:36px;padding:7px 12px;font-size:13px;font-weight:700}.staff-editor-barline-toggle:hover{border-color:var(--purple)}.staff-editor-barline-toggle.active{border-color:var(--purple);color:var(--purple);background:#7c5cff24}.staff-editor-chord-blank{min-width:32px;color:var(--purple);border:1.5px solid var(--purple);cursor:pointer;background:#7c5cff1a;border-radius:6px;padding:3px 8px;font-family:inherit;font-size:13px;font-weight:700;position:absolute;transform:translate(-50%)}.staff-editor-chord-blank:hover{background:#7c5cff2e}.staff-editor-chord-blank:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.melody-composer{flex-direction:column;gap:10px;display:flex}.melody-composer-staff{cursor:pointer;box-sizing:border-box;width:100%;padding:0;display:block}.melody-composer-staff:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.melody-composer-status{color:var(--text-h);background:#6366f114;border-radius:10px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-block}.melody-composer-hint{color:var(--text);opacity:.85;margin:0;font-size:13px}.melody-composer-palette{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.melody-composer-palette-btn{background:var(--card-bg);color:var(--text-h);border:2px solid var(--border);border-radius:12px;min-height:40px;padding:8px 14px;font-size:14px;font-weight:700}.melody-composer-palette-btn:hover:not(:disabled){border-color:var(--purple);transform:translateY(-1px)}.melody-composer-palette-btn.active{border-color:var(--purple);color:var(--purple);background:#7c5cff29;box-shadow:0 0 0 3px #7c5cff1f}.melody-composer-palette-btn:disabled{opacity:.35;cursor:not-allowed}.melody-composer-remove-btn{color:var(--red);border:2px solid var(--red);background:0 0;border-radius:12px;min-height:40px;margin-left:auto;padding:8px 14px;font-size:14px;font-weight:700}.melody-composer-remove-btn:hover:not(:disabled){background:#f43f5e14}.melody-composer-remove-btn:disabled{opacity:.35;cursor:not-allowed}.illustration-composer{flex-direction:column;gap:10px;display:flex}.illustration-composer-staff{cursor:pointer;box-sizing:border-box;width:100%;padding:0;display:block}.illustration-composer-staff:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.illustration-composer-controls{flex-wrap:wrap;gap:14px;display:flex}.illustration-composer-controls label{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.illustration-composer-controls select{border:2px solid var(--border);background:var(--bg);min-height:40px;color:var(--text-h);border-radius:10px;padding:0 12px;font-size:14px}.illustration-composer-palette{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.illustration-composer-palette button{background:var(--card-bg);color:var(--text-h);border:2px solid var(--border);min-height:40px;box-shadow:none;border-radius:12px;padding:8px 14px;font-size:14px;font-weight:700}.illustration-composer-palette button:hover:not(:disabled){border-color:var(--purple);transform:translateY(-1px)}.illustration-composer-palette button:disabled{opacity:.35;cursor:not-allowed}.illustration-composer-palette button.active{border-color:var(--purple);color:var(--purple);background:#6366f124}.mcq-choices{flex-direction:column;gap:12px;display:flex}.mcq-choice{border:2px solid var(--border);background:var(--card-bg);text-align:left;min-height:52px;color:var(--text-h);border-radius:14px;padding:14px 18px;font-size:17px;font-weight:600;transition:all .12s}.mcq-choice:not(:disabled):hover{border-color:var(--purple);background:#6366f10a;transform:translate(3px)}.mcq-choice.selected{border-color:var(--purple);background:#6366f114}.mcq-choice.correct{border-color:var(--green);color:var(--green-dark);background:#10b9811f}.mcq-choice.incorrect{border-color:var(--red);color:var(--red);background:#f43f5e1f}.piano-keys{background:#14141a;border-radius:12px;gap:2px;height:130px;margin:16px 0;padding:4px;display:flex;position:relative;overflow:hidden}.piano-white-key{color:#334155;cursor:pointer;z-index:1;background:#fff;border:none;border-radius:0 0 8px 8px;flex:1;justify-content:center;align-items:flex-end;min-width:0;padding:0 0 10px;font-size:15px;font-weight:800;transition:background .12s,transform .12s;display:flex;position:relative}.piano-white-key:not(:disabled):hover{background:#eef2ff;transform:translateY(1px)}.piano-white-key:disabled{cursor:not-allowed}.piano-white-key.selected{color:var(--purple-dark);background:#e0e7ff}.piano-white-key.correct{background:var(--green);color:#fff}.piano-white-key.incorrect{background:var(--red);color:#fff}.piano-key-label{pointer-events:none}.piano-black-keys{pointer-events:none;z-index:2;height:58%;position:absolute;top:4px;left:4px;right:4px}.piano-black-key{background:#1a1a1a;border-radius:0 0 4px 4px;width:9%;height:100%;position:absolute;box-shadow:0 2px 4px #0006}.piano-black-key.pos-0{left:9.7857%}.piano-black-key.pos-1{left:24.0714%}.piano-black-key.pos-3{left:52.6428%}.piano-black-key.pos-4{left:66.9285%}.piano-black-key.pos-5{left:81.2142%}.ninja-scores{gap:8px;margin-bottom:16px;display:flex}.ninja-chip{border:1.5px solid var(--border);background:var(--card-bg);border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:14px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #0000000d}.ninja-reveal{opacity:.85;margin-top:8px;font-size:14px}.clef-toggle{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.clef-toggle button{background:var(--card-bg);color:var(--text-h);border:2px solid var(--border);box-shadow:none;text-transform:capitalize;border-radius:12px;padding:8px 16px;font-weight:700}.clef-toggle button.active,.clef-toggle button[aria-selected=true]{background:var(--purple-gradient);color:#fff;border-color:#0000;box-shadow:0 4px 12px #6366f140}.clef-toggle button:hover:not(:disabled):not(.active){border-color:var(--purple);transform:translateY(-1px)}.aural-playing,.aural-ready,.aural-capturing{text-align:center}.aural-audio-status{color:var(--text-h);background:#6366f11a;border:1.5px solid #6366f159;border-radius:13px;align-items:center;gap:12px;margin:12px 0;padding:13px 15px;display:flex}.aural-audio-status>span{font-size:24px}.aural-audio-status strong,.aural-audio-status small{display:block}.aural-audio-status small{color:var(--text);opacity:.72;margin-top:2px}.aural-audio-error{text-align:center}.aural-audio-error-icon{margin-bottom:8px;font-size:38px;display:block}.aural-audio-error h3{color:var(--text-h);margin:0 0 8px}.aural-audio-error p{max-width:480px;margin:0 auto 18px}.aural-countdown-number{color:var(--purple);margin:16px 0;font-size:64px;font-weight:800;animation:.4s ease-out aural-countdown-pop}@keyframes aural-countdown-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.aural-tap-pad{letter-spacing:.1em;background:var(--purple-gradient);color:#fff;border-radius:24px;width:100%;min-height:160px;margin:16px 0;font-size:32px;font-weight:800}.aural-tap-pad:active{transform:scale(.97)}.aural-tap-pad.pulse,.aural-listening.pulse{animation:.18s ease-out aural-pulse}@keyframes aural-pulse{0%{box-shadow:0 0 #10b98199}to{box-shadow:0 0 0 18px #10b98100}}.aural-hit-counter{color:var(--green-dark);margin:8px 0;font-size:18px;font-weight:800}.aural-calibration-result{background:var(--bg);border:1.5px solid var(--border);text-align:center;border-radius:16px;align-content:center;place-items:center;gap:3px;min-height:112px;margin:14px 0;padding:16px;display:grid}.aural-calibration-result.pulse{border-color:var(--purple)}.aural-calibration-result strong{color:var(--purple);font-size:36px;line-height:1}.aural-calibration-result>span{color:var(--text-h);font-size:14px;font-weight:800}.aural-calibration-result small,.aural-calibration-message{margin-top:6px;font-size:13px;line-height:1.4}.aural-calibration-result .success,.aural-calibration-message.success{color:var(--green-dark)}.aural-calibration-result .warning{color:var(--amber)}.aural-level-meter{background:var(--card-bg);border:1.5px solid var(--border);border-radius:16px;justify-content:center;align-items:flex-end;gap:3px;height:80px;margin:16px 0;padding:8px;display:flex}.aural-level-bar{background:var(--purple-gradient);border-radius:4px;flex:1;max-width:10px;min-height:6%;transition:height 60ms linear}.aural-score-breakdown{flex-wrap:wrap;justify-content:center;gap:16px;margin:8px 0;font-weight:700;display:flex}.aural-score-breakdown span{background:var(--card-bg);border:1.5px solid var(--border);border-radius:12px;padding:6px 14px}.aural-result{flex-direction:column;gap:0;max-width:520px;margin:0 auto;display:flex}.aural-result-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:14px;font-size:10px;font-weight:700}.aural-result-divider{background:var(--border);height:1px;margin:24px -4px}.aural-gauges-row{justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:28px;display:flex}.aural-gauge-wrap{flex-direction:column;flex:1;align-items:center;gap:5px;display:flex}.aural-gauge-label{color:var(--text-muted);text-align:center;font-size:12px;font-weight:700}.aural-gauge-desc{color:var(--text-muted);text-align:center;opacity:.7;font-size:11px;line-height:1.4}.aural-gauge-side{flex-direction:column;flex:1;align-items:center;gap:10px;display:flex}.aural-steadiness-card{border:1px solid var(--border);background:#00000040;border-radius:14px;align-items:center;gap:16px;margin-bottom:0;padding:14px 18px;display:flex}.aural-steadiness-text{flex-direction:column;gap:3px;display:flex}.aural-steadiness-title{color:var(--text);font-size:16px;font-weight:700}.aural-steadiness-desc{color:var(--text-muted);font-size:13px;line-height:1.4}.aural-beat-row{align-items:center;gap:0;margin-bottom:10px;display:flex}.aural-beat-unit{flex-direction:column;align-items:center;gap:5px;display:flex}.aural-beat-dot{cursor:default;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;transition:transform .15s;display:flex}.aural-beat-dot:hover{transform:scale(1.1)}.aural-beat-dot.hit{border-color:var(--green);color:var(--green);background:#10b9811f}.aural-beat-dot.miss{color:#f43f5e;background:#f43f5e1a;border-color:#f43f5e}.aural-beat-dot.early{border-color:var(--amber);color:var(--amber);background:#f59e0b1a}.aural-beat-dot.late{color:#38bdf8;background:#38bdf81a;border-color:#38bdf8}.aural-beat-num{color:var(--text-muted);opacity:.7;font-size:10px;font-weight:600}.aural-beat-connector{background:var(--border);border-radius:1px;flex:1;min-width:8px;height:2px}.aural-beat-legend{flex-wrap:wrap;gap:14px;margin-bottom:16px;display:flex}.aural-legend-item{color:var(--text-muted);align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.aural-legend-swatch{border-radius:50%;flex-shrink:0;width:9px;height:9px}.aural-offset-section{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.aural-offset-hint{color:var(--text-muted);opacity:.7;margin-bottom:2px;font-size:11px}.aural-offset-row{align-items:center;gap:8px;display:flex}.aural-offset-label{text-align:right;width:46px;font-size:11px;font-weight:600}.aural-offset-track{background:var(--border);border-radius:5px;flex:1;height:10px;position:relative;overflow:visible}.aural-offset-center{background:var(--border);width:1px;position:absolute;top:-3px;bottom:-3px;left:50%;transform:translate(-50%)}.aural-offset-dot{border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 5px #0006}.aural-offset-ms{text-align:right;width:46px;font-size:11px;font-weight:700}.aural-compare-row{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.aural-compare-btn{border:1.5px solid var(--border);background:var(--card-bg);min-width:160px;color:var(--text);cursor:pointer;border-radius:12px;flex:1;padding:12px 16px;font-size:13px;font-weight:700;transition:border-color .15s,transform .1s}.aural-compare-btn:hover:not(:disabled){border-color:var(--purple);transform:translateY(-1px)}.aural-compare-btn:disabled{opacity:.45;cursor:not-allowed}.aural-compare-hint{color:var(--text-muted);opacity:.8;margin:0 0 4px;font-size:11px}.aural-input-choice-row{flex-wrap:wrap;justify-content:center;gap:20px;margin:28px 0;display:flex}.aural-input-choice-btn{border:2px solid var(--border);background:var(--card-bg);min-width:160px;max-width:220px;color:var(--text-h);cursor:pointer;border-radius:24px;flex-direction:column;flex:1;align-items:center;gap:14px;padding:36px 20px;font-size:18px;font-weight:800;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.aural-input-choice-btn:hover:not(:disabled){border-color:var(--purple);box-shadow:var(--shadow);transform:translateY(-4px)}.aural-input-choice-btn:disabled{opacity:.4;cursor:not-allowed}.aural-input-choice-icon{font-size:52px;line-height:1}.aural-focus-tip{background:#f59e0b14;border:1px solid #f59e0b33;border-radius:12px;margin-bottom:4px;padding:14px 16px}.aural-focus-tip-label{text-transform:uppercase;letter-spacing:.07em;color:var(--amber);margin-bottom:6px;font-size:10px;font-weight:700}.aural-focus-tip-text{font-size:13px;line-height:1.6}.notation-choices{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.notation-choice{border:2px solid var(--border);background:var(--card-bg);border-radius:14px;justify-content:center;align-items:center;padding:8px;transition:all .12s;display:flex}.notation-choice:not(:disabled):hover{border-color:var(--purple);background:#6366f10a;transform:translateY(-2px)}.notation-choice.selected{border-color:var(--purple);background:#6366f114}.notation-choice.correct{border-color:var(--green);background:#10b9811f}.notation-choice.incorrect{border-color:var(--red);background:#f43f5e1f}.topic-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172abf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.topic-modal-card{background:var(--card-bg);border:2px solid var(--border);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:28px;flex-direction:column;animation:.25s cubic-bezier(.175,.885,.32,1.275) popUp;display:flex;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.topic-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.topic-title-group{align-items:center;gap:14px;display:flex}.topic-emoji{font-size:32px}.topic-badge{color:var(--purple);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:800}.topic-header-title{margin:2px 0 0;font-size:20px}.close-btn{color:var(--text);opacity:.6;background:0 0;border-radius:8px;padding:4px 10px;font-size:22px}.close-btn:hover{opacity:1;background:var(--border)}.topic-modal-body{flex-direction:column;gap:20px;padding:24px;display:flex;overflow-y:auto}.topic-summary-box{background:#6366f10f;border-radius:14px;padding:14px 18px;font-size:15px}.snippet-box{background:#f59e0b14;border:1.5px solid #f59e0b4d;border-radius:16px;padding:16px 20px}.snippet-box h3{color:#b45309;margin:0 0 10px;font-size:16px}.snippet-box ul{margin:0;padding-left:20px;font-size:15px;line-height:1.6}.cheat-sheet-wrapper h3{margin-bottom:12px;font-size:17px}.mnemonics-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.mnemonic-card{background:var(--bg);border:1.5px solid var(--border);border-radius:16px;padding:16px}.mnemonic-card h4{margin:0 0 10px;font-size:15px}.mnemonic-line{flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px;display:flex}.pill-notes{color:var(--purple);letter-spacing:.08em;font-size:15px;font-weight:800}.duration-table{border-collapse:collapse;width:100%;font-size:14px}.duration-table th,.duration-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px}.beat-count{color:var(--purple);background:#6366f11a;border-radius:6px;padding:2px 8px;font-weight:800}.accidentals-grid{flex-direction:column;gap:10px;display:flex}.acc-card{background:var(--bg);border-radius:14px;align-items:center;gap:16px;padding:12px 16px;display:flex}.acc-symbol{text-align:center;width:32px;font-size:28px;font-weight:800}.notation-preview-box{background:var(--bg);border:1.5px solid var(--border);border-radius:16px;padding:16px}.preview-label{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.play-demo-btn{background:var(--purple);color:#fff;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700}.topic-modal-footer{border-top:1px solid var(--border);justify-content:flex-end;padding:16px 24px;display:flex}.primary-btn{background:var(--purple-gradient);color:#fff;border-radius:14px;padding:14px 28px;font-size:16px;font-weight:800}.grade-page{flex-direction:column;gap:24px;display:flex}.grade-chips{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.grade-chip{border:2px solid var(--border);background:var(--card-bg);width:48px;height:48px;color:var(--text-h);border-radius:14px;font-size:18px;font-weight:800;transition:all .15s}.grade-chip.active{background:var(--purple);border-color:var(--purple);color:#fff;transform:scale(1.05)}.mock-exam-cta{color:#fff;text-align:left;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);border-radius:20px;flex-direction:column;gap:4px;padding:22px;transition:transform .15s;display:flex;box-shadow:0 10px 20px #4f46e540}.mock-exam-cta:hover{transform:translateY(-2px)}.mock-exam-title{font-size:20px;font-weight:800}.mock-exam-sub{opacity:.9;font-size:14px}.grade-split{grid-template-columns:240px 1fr;align-items:start;gap:16px;display:grid}@media (width<=640px){.grade-split{grid-template-columns:1fr}}.grade-sidebar{background:var(--card-bg);border:1.5px solid var(--border);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}.grade-sidebar-topic{border-bottom:1px solid var(--border);color:var(--text-h);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;width:100%;padding:13px 14px;transition:background .15s;display:flex}.grade-sidebar-topic:last-child{border-bottom:none}.grade-sidebar-topic:hover:not(.locked){background:#ffffff08}.grade-sidebar-topic.active{border-left:3px solid var(--purple);background:#7c6ff71f}.grade-sidebar-topic.locked{opacity:.45;cursor:default}.gst-emoji{flex-shrink:0;font-size:18px}.gst-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.gst-name{font-size:13px;font-weight:700;line-height:1.35}.gst-lock{font-size:12px}.gst-meta-row{justify-content:space-between;align-items:center;gap:6px;margin-top:1px;display:flex}.gst-meta{color:var(--text-muted);opacity:.8;font-size:11px}.gst-stars{flex-shrink:0;gap:2px;display:flex}.grade-sidebar-section-header{background:var(--bg-alt,#ffffff05);justify-content:space-between;align-items:baseline;gap:8px;padding:10px 14px 6px;display:flex}.grade-sidebar-section-header:not(:first-child){border-top:1px solid var(--border);margin-top:2px}.gssh-name{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:10.5px;font-weight:800}.gssh-marks{color:var(--text-muted);opacity:.75;white-space:nowrap;font-size:10.5px}.grade-sidebar-section-header.is-extra .gssh-name{color:var(--text-muted);opacity:.6}.grade-levels-panel{background:var(--card-bg);border:1.5px solid var(--border);border-radius:18px;flex-direction:column;gap:16px;padding:22px;display:flex}.grade-split.native-accordion{grid-template-columns:1fr}.grade-split.native-accordion .grade-sidebar{width:100%}.grade-levels-panel.native-inline{border:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--purple) 5%, var(--card-bg));box-shadow:inset 3px 0 0 var(--purple);border-radius:0;padding:18px 16px 20px}.grade-levels-panel.native-inline .glp-header{gap:10px}.grade-levels-panel.native-inline .glp-emoji{font-size:22px}.grade-levels-panel.native-inline .glp-title{font-size:17px}.native-level-instruction{color:var(--purple);margin:-5px 0 0;font-size:13px;font-weight:800}.grade-levels-panel.native-inline .level-tile{flex-wrap:wrap;gap:6px 10px;padding:14px}.grade-levels-panel.native-inline .level-title{flex:55%;min-width:0;font-size:15px}.grade-levels-panel.native-inline .level-start-cta{background:var(--purple-gradient);color:#fff;border-radius:10px;flex:0 0 100%;justify-content:center;align-items:center;min-height:40px;margin-top:7px;font-size:14px;font-weight:850;display:flex;box-shadow:0 5px 12px #6366f13d}.glp-header{align-items:center;gap:14px;display:flex}.glp-emoji{font-size:28px}.glp-title{margin:0;font-size:20px;font-weight:800}.glp-desc{opacity:.8;margin:0;font-size:14px;line-height:1.5}.topic-section{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:22px}.topic-title{align-items:center;gap:10px;margin-bottom:4px;font-size:20px;display:flex}.topic-desc{opacity:.8;margin-bottom:16px;font-size:14px}.level-list{flex-direction:column;gap:10px;display:flex}.level-tile{background:var(--bg);border:1.5px solid var(--border);text-align:left;color:var(--text-h);border-radius:14px;justify-content:space-between;align-items:center;padding:14px 18px;transition:all .15s;display:flex}.level-tile:hover:not(:disabled){border-color:var(--purple);transform:translate(3px)}.level-title{flex:1;font-size:16px;font-weight:700}.level-grade{opacity:.7;font-size:13px}.level-start-cta{display:none}.star-small{color:var(--border);font-size:16px}.star-small.earned{color:#f59e0b}.resources-section{text-align:center;margin-top:20px}.resources-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:20px;display:grid}.resource-card{text-align:left;background:linear-gradient(135deg,#6366f114 0%,#6366f105 100%);border:2px solid #6366f140;border-radius:20px;align-items:flex-start;gap:16px;padding:22px;transition:all .2s;display:flex}.resource-card:hover{border-color:var(--purple);transform:translateY(-3px);box-shadow:0 8px 16px #6366f11a}.resource-card-icon{padding-top:2px;font-size:36px}.resource-card-content h3{color:var(--text-h);margin:0 0 6px;font-size:18px}.resource-card-content p{opacity:.8;margin:0 0 14px;font-size:13px;line-height:1.4}.resource-download-btn{background:var(--purple);color:#fff;border-radius:10px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:800;text-decoration:none;transition:background .15s;display:inline-flex}.resource-download-btn:hover{background:var(--purple-dark)}.exam-guides-promo-section{text-align:center;background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:20px;padding:28px}.exam-guides-promo-section .cta-btn{margin:0 auto}.exam-guides-page{flex-direction:column;gap:24px;display:flex}.exam-guides-hero{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:24px;padding:34px}.exam-guides-hero p{opacity:.86;max-width:780px;margin:10px 0 0;font-size:18px}.exam-guide-featured,.exam-guide-card{text-align:left;background:var(--card-bg);width:100%;color:var(--text);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;align-items:flex-start;padding:22px}.exam-guide-featured{background:linear-gradient(135deg, #6366f11f, var(--card-bg));border-color:#6366f173}.exam-guide-featured:hover,.exam-guide-card:hover{border-color:var(--purple);transform:translateY(-3px)}.guide-card-kicker{color:var(--purple);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.guide-card-title{color:var(--text-h);font-size:20px;font-weight:800;line-height:1.25}.guide-card-summary{opacity:.82;font-size:14px;font-weight:500;line-height:1.5}.exam-guide-grid-section{flex-direction:column;gap:8px;display:flex}.exam-guide-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.exam-article-wrapper{color:#24292f;background:#faf9f6;border-radius:28px;padding:8px clamp(20px,4vw,56px) 56px;font-family:Merriweather,Georgia,serif}.exam-article-header-nav{color:#64748b;justify-content:space-between;align-items:center;padding:20px 0 0;font-family:Inter,sans-serif;font-size:13px;display:flex}.exam-article-breadcrumbs{align-items:center;gap:8px;display:flex}.exam-article-breadcrumbs button{color:#6366f1;cursor:pointer;background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.exam-article-hero{max-width:760px;margin:28px auto 0;font-family:Inter,sans-serif}.exam-article-kicker{letter-spacing:.1em;text-transform:uppercase;color:#6366f1;margin-bottom:12px;font-family:Inter,sans-serif;font-size:12px;font-weight:800;display:inline-block}.exam-article-title{color:#0f172a;margin-bottom:16px;font-family:Playfair Display,serif;font-size:clamp(30px,4.4vw,44px);font-weight:700;line-height:1.16}.exam-article-subtitle{color:#475569;margin-bottom:24px;font-size:19px;font-weight:400;line-height:1.5}.exam-article-byline{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:40px;padding:16px 0;display:flex}.exam-article-author{align-items:center;gap:12px;display:flex}.exam-article-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:15px;font-weight:700;display:flex}.exam-article-author-name{color:#0f172a;font-size:14px;font-weight:700}.exam-article-meta{color:#64748b;margin-top:2px;font-size:13px}.exam-article-share-btn{color:#334155;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;padding:7px 16px;font-size:13px;font-weight:600}.exam-article-share-btn:hover{color:#6366f1;border-color:#6366f1}.exam-article-main{color:#24292f;max-width:1060px;margin:0 auto;font-size:18px;line-height:1.8}.exam-article-lead:first-letter{float:left;color:#6366f1;margin:4px 10px 0 0;font-family:Playfair Display,serif;font-size:56px;font-weight:700;line-height:.8}.exam-article-quick-facts{background:#fff;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;max-width:1060px;margin:0 auto;padding:20px;font-family:Inter,sans-serif;display:grid}.exam-article-fact label{color:#64748b;text-transform:uppercase;font-size:12px;font-weight:600;display:block}.exam-article-fact div{color:#0f172a;margin-top:4px;font-size:15px;font-weight:700;line-height:1.35}.exam-article-section{margin-top:44px}.exam-article-section h2{color:#0f172a;margin:0 0 16px;scroll-margin-top:90px;font-family:Playfair Display,serif;font-size:28px}.exam-article-section>p{margin:0 0 24px}.exam-article-list{margin:0 0 24px;padding-left:26px}.exam-article-list li{margin:10px 0}.exam-article-mini-grid{flex-direction:column;gap:20px;margin:0 0 24px;display:flex}.exam-article-mini-card{border-left:3px solid #6366f159;padding-left:18px}.exam-article-mini-card h3{color:#0f172a;margin:0 0 4px;font-family:Inter,sans-serif;font-size:17px}.exam-article-mini-card p{margin:0}.exam-article-resource-list{flex-direction:column;gap:2px;margin:0 0 24px;font-family:Inter,sans-serif;display:flex}.exam-article-resource{color:#24292f;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:10px 0;font-size:15px;text-decoration:none;display:flex}.exam-article-resource:last-child{border-bottom:none}.exam-article-resource:hover strong{color:#6366f1;text-decoration:underline}.exam-article-resource strong{color:#0f172a}.exam-article-resource span{color:#64748b;font-size:13px}.exam-article-comparison-table{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.exam-article-comparison-row{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:20px;font-family:Inter,sans-serif;font-size:14px;line-height:1.6}.exam-article-comparison-row h3{color:#0f172a;margin:0 0 10px;font-family:Playfair Display,serif;font-size:19px}.exam-article-comparison-row p{color:#475569;margin:8px 0 0}.exam-article-comparison-row p strong{color:#0f172a}.exam-article-structure-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.exam-article-structure-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:18px;font-family:Inter,sans-serif}.exam-article-structure-card h3{color:#0f172a;margin:0;font-family:Playfair Display,serif;font-size:18px}.exam-article-structure-meta{color:#64748b;text-transform:uppercase;font-size:12px;font-weight:700}.exam-article-structure-list{flex-direction:column;gap:8px;margin:12px 0 0;padding-left:20px;font-size:14px;list-style:decimal;display:flex}.exam-article-structure-list li{color:#334155;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.exam-article-structure-list li strong{color:#64748b;white-space:nowrap;font-size:13px}.exam-article-structure-format{color:#64748b;border-top:1px solid #e2e8f0;margin:14px 0 0;padding-top:12px;font-size:13px;line-height:1.5}.exam-article-sample-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.exam-article-grade-list{flex-direction:column;display:flex}.exam-article-grade{border-top:1px solid #e2e8f0;padding-top:32px}.exam-article-grade:first-child{border-top:none;padding-top:0}.exam-article-grade h3{color:#0f172a;margin:2px 0 12px;font-family:Playfair Display,serif;font-size:23px}.exam-article-mark-weighting{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin:20px 0;padding:18px;font-family:Inter,sans-serif}.exam-article-mark-weighting h4{text-transform:uppercase;color:#64748b;margin:0 0 12px;font-size:12px;font-weight:800}.exam-article-mark-weighting ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.exam-article-mark-weighting li{grid-template-columns:minmax(110px,36%) 1fr auto;align-items:center;gap:10px;display:grid}.exam-article-mw-label{color:#334155;font-size:13px}.exam-article-mw-track{background:#f1f5f9;border-radius:999px;height:8px;overflow:hidden}.exam-article-mw-bar{background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:999px;height:100%;display:block}.exam-article-mw-percent{color:#0f172a;text-align:right;min-width:2.5ch;font-size:13px;font-weight:800}.exam-article-mw-source{color:#64748b;margin:10px 0 0;font-size:12px;line-height:1.5}.exam-article-sample{background:#fff;border:1px solid #e2e8f0;border-radius:16px;flex-direction:column;gap:12px;padding:22px;font-family:Inter,sans-serif;display:flex}.exam-article-sample-header h3{color:#0f172a;margin:4px 0 0;font-size:18px}.exam-article-sample-notation{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px;overflow:hidden}.exam-article-sample-prompt{color:#0f172a;margin:0;font-size:15px;font-weight:700}.exam-article-sample-choices{flex-wrap:wrap;gap:8px;display:flex}.exam-article-sample-choices span{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700}.exam-article-sample-choices span.is-answer{color:#166534;background:#f0fdf4;border-color:#22c55e}.exam-article-sample-answer{color:#0f172a;border-top:1px solid #e2e8f0;padding-top:10px;font-size:14px}.exam-article-sample-explanation{color:#475569;margin:0;font-size:14px}.exam-article-faq{border-top:1px solid #e2e8f0;padding:18px 0;scroll-margin-top:90px}.exam-article-faq:first-child{border-top:none;padding-top:0}.exam-article-faq h3{color:#0f172a;margin:0;font-family:Playfair Display,serif;font-size:19px}.exam-article-faq p{margin:10px 0 0}.exam-article-next{background:#fff;border:1px solid #e2e8f0;border-radius:16px;margin-top:44px;padding:22px}.exam-article-next h2{color:#0f172a;margin:0 0 14px;font-family:Playfair Display,serif;font-size:20px}.exam-article-next-links{flex-wrap:wrap;gap:10px;font-family:Inter,sans-serif;display:flex}.exam-article-next-links button{color:#334155;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:20px;padding:9px 16px;font-size:13px;font-weight:700}.exam-article-next-links button:hover{color:#6366f1;border-color:#6366f1}.exam-article-cta{background:linear-gradient(135deg,#eef2ff,#faf9f6);border:1px solid #c7d2fe;border-radius:18px;margin-top:32px;padding:28px;font-family:Inter,sans-serif}.exam-article-cta h2{color:#0f172a;margin:4px 0 10px;font-family:Playfair Display,serif;font-size:24px}.exam-article-cta p{color:#475569;max-width:560px;margin:0 0 18px;font-size:15px}.exam-article-cta-buttons{flex-wrap:wrap;gap:10px;display:flex}.exam-article-cta-buttons button{color:#fff;cursor:pointer;background:#0f172a;border:none;border-radius:10px;padding:12px 20px;font-size:14px;font-weight:700}.exam-article-cta-buttons button.secondary{color:#0f172a;background:#fff;border:1px solid #cbd5e1}.exam-article-toc-bar{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-wrap:wrap;align-items:baseline;gap:6px 12px;max-width:1060px;margin:20px auto 0;padding:16px 20px;font-family:Inter,sans-serif;display:flex}.exam-article-toc-bar-label{letter-spacing:.06em;text-transform:uppercase;color:#64748b;flex:none;font-size:12px;font-weight:800}.exam-article-toc-bar-links{flex-wrap:wrap;gap:8px;display:flex}.exam-article-toc-bar-links a{color:#475569;background:#f1f5f9;border:1px solid #0000;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none}.exam-article-toc-bar-links a:hover{color:#6366f1;border-color:#6366f1}.exam-article-toc-bar-links a.active{color:#6366f1;background:#eef2ff;border-color:#6366f1;font-weight:700}@media (width<=900px){.exam-article-wrapper{border-radius:20px}}.insider-ears-container{flex-direction:column;gap:24px;width:100%;max-width:800px;margin:0 auto;display:flex}.secrets-header-row{border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.btn-back,.lesson-exit{background:var(--card-bg);border:2px solid var(--border);color:var(--text-h);cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:8px 18px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 2px 6px #0000000f}.btn-back:hover,.lesson-exit:hover{border-color:var(--purple);color:var(--purple);background:var(--bg);transform:translate(-3px)}.remind-chip{color:var(--purple);cursor:pointer;white-space:nowrap;box-shadow:none;background:#6366f11a;border:1.5px solid #6366f14d;border-radius:20px;flex-shrink:0;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.remind-chip:hover{background:var(--purple);color:#fff;border-color:var(--purple);transform:translateY(-1px)}.lesson-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.lesson-header h2{margin:0;font-size:20px}.lesson-progress-count{opacity:.7;white-space:nowrap;font-size:14px;font-weight:700}.lesson-progress-bar{background:var(--border);border-radius:999px;height:8px;margin-bottom:16px;overflow:hidden}.lesson-progress-fill{background:var(--purple-gradient);border-radius:999px;height:100%;transition:width .3s}.remind-row{margin-bottom:16px}.learn-topic-btn{color:#d97706;cursor:pointer;box-shadow:none;background:#f59e0b1f;border:1.5px solid #f59e0b59;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.learn-topic-btn:hover{color:#fff;background:#f59e0b;border-color:#f59e0b;transform:translateY(-1px)}.hear-button{color:var(--purple);cursor:pointer;box-shadow:none;background:#6366f11a;border:1.5px solid #6366f14d;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.hear-button:hover{background:var(--purple);color:#fff;border-color:var(--purple);transform:translateY(-1px)}.report-issue-btn{color:var(--red);cursor:pointer;box-shadow:none;background:#f43f5e1a;border:1.5px solid #f43f5e4d;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.report-issue-btn:hover:not(:disabled){background:var(--red);color:#fff;border-color:var(--red);transform:translateY(-1px)}.report-issue-btn:disabled{opacity:.4;cursor:not-allowed}.report-modal-overlay{z-index:250;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080f1fc7;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out fadeIn;display:flex;position:fixed;inset:0}.report-modal-card{overscroll-behavior:contain;background:var(--card-bg);border:1.5px solid var(--border);width:min(100%,600px);max-height:min(90vh,760px);box-shadow:var(--shadow-lg);border-radius:24px;padding:28px;position:relative;overflow-y:auto}.report-modal-close{border:1px solid var(--border);width:38px;height:38px;color:var(--text-h);box-shadow:none;background:#94a3b81a;border-radius:50%;padding:0;font-size:24px;line-height:1;position:absolute;top:14px;right:14px}.report-modal-kicker{color:var(--purple);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:12px;font-weight:900;display:block}.report-modal-card h2{margin:0 46px 10px 0;font-size:clamp(21px,5vw,28px)}.report-question-preview{border-left:4px solid var(--purple);color:var(--text);background:#6366f114;border-radius:8px;margin:0 0 20px;padding:12px 14px;font-size:14px}.report-issue-options{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 18px;padding:0;display:grid}.report-issue-options legend,.report-field>span{width:100%;color:var(--text-h);margin-bottom:8px;font-size:14px;font-weight:800;display:block}.report-issue-options label{border:1.5px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;min-height:48px;padding:10px 12px;font-size:13px;font-weight:700;display:flex}.report-issue-options label.selected{border-color:var(--purple);color:var(--purple);background:#6366f11f}.report-issue-options input{width:18px;height:18px;accent-color:var(--purple);margin:0 9px 0 0}.report-field{margin-bottom:16px;display:block}.report-field small{color:var(--text);opacity:.7;font-weight:500}.report-field textarea,.report-field input{box-sizing:border-box;border:1.5px solid var(--border);background:var(--surface,var(--card-bg));width:100%;color:var(--text-h);font:inherit;border-radius:12px;padding:12px 14px;font-size:16px}.report-field textarea{resize:vertical;min-height:106px}.report-field textarea:focus,.report-field input:focus{border-color:var(--purple);outline:3px solid #6366f12e}.report-submit-btn{background:var(--purple-gradient);color:#fff;border:0;border-radius:13px;width:100%;min-height:50px;font-size:16px;font-weight:900}.report-submit-btn:disabled{opacity:.5;cursor:not-allowed}.report-form-error{color:var(--red);font-size:13px;font-weight:700}.report-privacy-note{text-align:center;color:var(--text);opacity:.65;margin:10px 0 0;font-size:11px}.report-success{text-align:center;padding:24px 4px 4px}.report-success>span{width:64px;height:64px;color:var(--green);background:#10b98124;border-radius:50%;place-items:center;margin:0 auto 16px;font-size:34px;font-weight:900;display:grid}.report-success h2{margin:0 0 8px}.report-success p{margin:0 0 22px}@media (width<=640px){.report-modal-overlay{align-items:flex-end;padding:0}.report-modal-card{width:100%;max-height:92dvh;padding:24px 18px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.report-issue-options{grid-template-columns:1fr}}.journey-complete-note{color:var(--text-muted);margin:4px 0 10px;font-size:14px}.lesson-nav{flex-wrap:wrap;justify-content:flex-end;gap:12px;width:100%;margin-top:24px;display:flex}.lesson-nav button,.lesson-nav-btn,.exam-continue,.lesson-complete button{background:var(--purple-gradient);color:#fff;cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-family:inherit;font-size:16px;font-weight:800;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;box-shadow:0 8px 18px #6366f14d}.lesson-nav button:hover:not(:disabled),.lesson-nav-btn:hover:not(:disabled),.exam-continue:hover:not(:disabled),.lesson-complete button:hover:not(:disabled){transform:translateY(-3px)scale(1.02);box-shadow:0 12px 24px #6366f166}.lesson-nav button:disabled,.lesson-nav-btn:disabled,.exam-continue:disabled,.lesson-complete button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;background:var(--border);color:var(--text);transform:none}.lesson-nav-btn-secondary{background:var(--card-bg);border:2px solid var(--border);color:var(--text-h);cursor:pointer;border-radius:14px;margin-right:auto;padding:14px 24px;font-family:inherit;font-size:16px;font-weight:700;transition:all .2s}.lesson-nav-btn-secondary:hover{border-color:var(--purple);color:var(--purple);transform:translateY(-2px)}.lesson-top-row{flex-wrap:nowrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.lesson-nav--top{align-items:center;gap:8px;margin-top:0;margin-left:auto;display:flex}.lesson-nav--top .lesson-nav-btn--compact{min-height:unset;white-space:nowrap;box-shadow:none;border-radius:20px;flex-shrink:0;margin-right:0;padding:6px 14px;font-size:13px;font-weight:700}@media (width<=640px){.lesson-sticky-top{z-index:30;background:var(--bg);border-bottom:1px solid var(--border);margin:0 -12px 12px;padding:12px 12px 10px;position:sticky;top:0}.lesson-sticky-top--web{top:calc(116px + env(safe-area-inset-top))}.lesson-sticky-top .lesson-header,.lesson-sticky-top .lesson-progress-bar{margin-bottom:10px}.lesson-sticky-top .lesson-top-row{margin-bottom:0}}.secrets-badge{letter-spacing:.05em;color:var(--purple);background:#6366f11a;border-radius:8px;padding:6px 14px;font-size:14px;font-weight:800}.packs-selection-view{flex-direction:column;gap:30px;display:flex}.pack-intro-box{text-align:center;max-width:600px;margin:0 auto}.pack-intro-box h1{margin-bottom:12px;font-size:36px}.pack-intro-box p{opacity:.85;font-size:16px;line-height:1.5}.packs-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.pack-card{background:var(--card-bg);border:2px solid var(--border);text-align:center;box-shadow:var(--shadow);border-radius:24px;flex-direction:column;align-items:center;gap:14px;padding:28px;transition:all .2s;display:flex}.pack-card:hover{border-color:var(--purple);transform:translateY(-4px)}.pack-icon{font-size:48px}.pack-card h3{color:var(--text-h);margin:0;font-size:22px}.pack-card p{opacity:.8;min-height:40px;margin:0;font-size:14px;line-height:1.4}.pack-start-btn{background:var(--purple);color:#fff;border-radius:14px;width:100%;padding:12px;font-weight:800}.pack-start-btn:hover{background:var(--purple-dark)}.active-card-container{flex-direction:column;gap:16px;width:100%;display:flex}.card-progress{opacity:.8;align-items:center;gap:14px;font-size:13px;font-weight:700;display:flex}.progress-bar-track{background:var(--border);border-radius:4px;flex:1;height:8px;overflow:hidden}.progress-bar-fill{background:var(--purple);border-radius:4px;height:100%;transition:width .3s}.secret-card{background:var(--card-bg);border:2px solid var(--border);box-shadow:var(--shadow);border-radius:28px;flex-direction:column;gap:24px;padding:32px;display:flex}.secret-hook{color:var(--text-h);text-align:center;margin:0;font-size:26px;line-height:1.3}.secret-notation-wrapper{border:1.5px solid var(--border);background:#fff;border-radius:16px;justify-content:center;padding:12px;display:flex}.ab-compare-container{text-align:center;background:#6366f10d;border:1.5px dashed #6366f14d;border-radius:16px;padding:18px}.ab-instruction{color:var(--purple);margin:0 0 12px;font-size:14px;font-weight:700}.ab-buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.ab-btn{background:var(--card-bg);border:1.5px solid var(--border);color:var(--text-h);border-radius:12px;padding:10px 20px;font-weight:700;transition:all .15s}.ab-btn:hover{border-color:var(--purple)}.ab-btn.active{background:var(--purple);border-color:var(--purple);color:#fff}.secret-choices{flex-direction:column;gap:10px;display:flex}.secret-choice-btn{text-align:left;background:var(--bg);border:2px solid var(--border);width:100%;color:var(--text-h);border-radius:16px;padding:16px 20px;font-size:16px;font-weight:700;transition:all .15s}.secret-choice-btn:hover:not(:disabled){border-color:var(--purple);transform:translate(3px)}.secret-choice-btn.selected{border-color:var(--purple);background:#6366f11a}.secret-choice-btn.correct-reveal{border-color:var(--green);color:var(--green-dark);background:#10b9811f}.secret-choice-btn.incorrect-reveal{border-color:var(--red);color:var(--red-dark);background:#ef44441f}.secret-choice-btn.muted-reveal{opacity:.5}.reveal-explanation-box{background:var(--bg);border:2px solid var(--border);border-radius:20px;flex-direction:column;gap:14px;padding:24px;animation:.3s ease-out slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal-heading-row{justify-content:flex-start;display:flex}.status-label{border-radius:6px;padding:4px 10px;font-size:13px;font-weight:800}.status-label.success{color:var(--green-dark);background:#10b98126}.status-label.info{color:var(--purple);background:#6366f126}.explanation-text{opacity:.95;margin:0;font-size:15px;line-height:1.6}.hear-illustration-btn{background:var(--card-bg);border:1.5px solid var(--border);color:var(--text-h);border-radius:10px;align-self:flex-start;padding:8px 16px;font-size:13px;font-weight:700}.hear-illustration-btn:hover{border-color:var(--purple)}.btn-next-secret{background:var(--purple);color:#fff;border-radius:12px;margin-top:10px;padding:14px;font-size:15px;font-weight:800}.pack-completed-box{background:var(--card-bg);border:2px solid var(--border);text-align:center;box-shadow:var(--shadow);border-radius:28px;flex-direction:column;align-items:center;gap:16px;padding:50px 30px;display:flex}.trophy-emoji{font-size:72px;animation:1.5s ease-in-out infinite alternate bounce}.pack-completed-box h2{color:var(--text-h);margin:0;font-size:32px}.pack-completed-box p{opacity:.8;margin:0 0 10px;font-size:16px}.btn-done{background:var(--purple);color:#fff;border-radius:14px;padding:12px 30px;font-weight:800}.app-footer{background:var(--card-bg);border-top:2px solid var(--border);margin-top:60px;padding:50px 20px 0}.footer-container{max-width:1200px;padding-bottom:calc(40px + env(safe-area-inset-bottom));grid-template-columns:1.7fr 1fr 1fr 1fr 1.4fr;gap:40px;margin:0 auto;display:grid}.footer-col{flex-direction:column;gap:12px;display:flex}.footer-brand{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;width:fit-content;display:flex}.footer-tagline{opacity:.8;max-width:320px;margin:0;font-size:14px;line-height:1.5}.footer-badges{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.footer-badge{color:var(--purple);background:#6366f11a;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700}.footer-sibling-line{opacity:.8;max-width:320px;margin:6px 0 0;font-size:13px;line-height:1.5}.footer-sibling-line a{color:var(--purple);font-weight:700;text-decoration:none}.footer-sibling-line a:hover{text-decoration:underline}.footer-heading{color:var(--text-h);margin:0 0 4px;font-size:16px;font-weight:800}.footer-links{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer-link-btn{color:var(--text);opacity:.8;cursor:pointer;text-align:left;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;font-family:inherit;font-size:14px;text-decoration:none;transition:all .15s;display:inline}.footer-link-btn:hover{opacity:1;color:var(--purple);box-shadow:none;transform:translate(2px)}.footer-link-soon{opacity:.4;cursor:not-allowed}.footer-link-soon:hover{opacity:.4;color:var(--text);transform:none}.footer-link-soon em{font-size:12px;font-style:normal}.footer-contact-text{opacity:.8;margin:0;font-size:14px;line-height:1.4}.footer-email-link{background:var(--purple);color:#fff;border-radius:12px;align-items:center;gap:8px;width:fit-content;margin-top:4px;padding:10px 18px;font-size:14px;font-weight:800;text-decoration:none;transition:background .15s;display:inline-flex}.footer-email-link:hover{background:var(--purple-dark)}.footer-bottom{border-top:1.5px solid var(--border);opacity:.75;flex-direction:column;gap:8px;padding:20px 0;font-size:13px;display:flex}.footer-bottom-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1200px;margin:0 auto;display:flex}.footer-bottom-container a{color:var(--purple)}.footer-policy-link{color:var(--purple);font-weight:700}.app-footer-compact{margin-top:0;padding:0 20px}.footer-compact-container{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;min-height:82px;margin:0 auto;display:flex}.footer-compact-identity{color:var(--text-muted);align-items:center;gap:18px;font-size:13px;display:flex}.footer-compact-links{align-items:center;gap:20px;display:flex}.footer-compact-links .footer-link-btn{font-weight:700}.legal-page{max-width:820px;margin:20px auto}.legal-page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.legal-eyebrow{color:var(--purple);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:14px;font-weight:800}.legal-updated{color:var(--text-muted);margin:0;font-size:14px}.legal-back{background:var(--card-bg);border:1px solid var(--border);box-shadow:none;color:var(--text-h);flex:none}.legal-back:hover{background:var(--card-bg);box-shadow:none}.legal-summary{background:color-mix(in srgb, var(--purple) 10%, var(--card-bg));border:1px solid color-mix(in srgb, var(--purple) 35%, var(--border));color:var(--text);border-radius:8px;padding:18px 20px;line-height:1.55}.legal-content{gap:14px;margin-top:24px;display:grid}.legal-content section{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;padding:22px 24px}.legal-content h2{margin:0 0 10px;font-size:20px}.legal-content p{margin:0 0 12px}.legal-content p:last-child{margin-bottom:0}.legal-content ul{margin:0;padding-left:22px}.legal-content li+li{margin-top:8px}.legal-content a{color:var(--purple);font-weight:700}@media (width<=768px){.footer-container{grid-template-columns:1fr 1fr}.footer-compact-container{flex-direction:column;align-items:flex-start;gap:14px;min-height:0;padding:20px 0}.footer-compact-identity{flex-direction:column;align-items:flex-start;gap:6px}.legal-page-header{flex-direction:column}}@media (width<=640px){.app-main{padding:12px 12px 60px}.nav-grade-links{display:none}.app-navbar{padding-left:12px;padding-right:12px}.nav-teacher-hub-pill{padding:6px 10px;display:inline-flex}.nav-icon-segment .score-chip{display:none}.app-navbar-default .nav-container{flex-wrap:wrap}.app-navbar-default .nav-left-group{justify-content:space-between;width:100%}.app-navbar-default .nav-controls{justify-content:space-between;gap:6px;width:100%}.app-navbar-default .nav-icon-segment{gap:0;padding:3px}.app-navbar-default .nav-icon-segment .icon-btn{width:29px;min-width:29px;padding:0}.nav-controls:has(.nav-teacher-actions-slot) .nav-icon-segment{display:none}.nav-teacher-home-btn .nav-btn-label,.nav-teacher-logout-btn .nav-btn-label,.nav-teacher-menu-trigger .nav-btn-label{display:none}.nav-teacher-home-btn,.nav-teacher-logout-btn{padding:6px 10px}.nav-teacher-menu-trigger{min-width:0;padding:6px 10px}.nav-container{gap:8px}.nav-left-group{gap:6px}.app-navbar-student .nav-left-group{flex:none;min-width:0}.app-navbar-student .brand-text{display:none}.app-navbar-student .nav-brand{padding:4px}.app-navbar-student .nav-controls{flex:1;justify-content:flex-end;gap:6px;min-width:0}.app-navbar-student .nav-icon-segment{display:none}.app-navbar-student .nav-profile-chip{min-width:0;max-width:100%;padding:6px 10px;overflow:hidden}.app-navbar-student .nav-profile-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.hero-headline{font-size:32px}.grade-cards-grid,.features-grid-section{grid-template-columns:1fr}}.profile-gate{justify-content:center;align-items:center;min-height:80vh;padding:20px;display:flex}.profile-gate-card{background:var(--card-bg);border:2px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:24px;width:100%;max-width:420px;padding:40px 32px}.profile-gate-emoji{margin-bottom:8px;font-size:48px;display:block}.profile-gate-form{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.profile-gate-form input{border:2px solid var(--border);background:var(--card-bg);min-width:160px;min-height:48px;color:var(--text-h);border-radius:12px;flex:1;padding:0 14px;font-size:17px}.profile-gate-form button{background:var(--purple);color:#fff;border:none;border-radius:12px;min-height:48px;padding:0 20px;font-size:16px;font-weight:700}.profile-gate-form button:disabled{opacity:.4;cursor:not-allowed}.profile-gate-switch{margin-top:24px}.first-run-page{background:radial-gradient(circle at 50% 15%,#6366f12e,#0000 52%);place-items:center;min-height:100vh;padding:24px;display:grid}.first-run-card{border:2px solid var(--border);background:var(--card-bg);width:min(100%,680px);box-shadow:var(--shadow-lg);border-radius:26px;padding:clamp(26px,6vw,48px)}.first-run-card h1{color:var(--text-h);text-align:center;margin:6px 0 10px}.first-run-eyebrow{color:var(--purple);letter-spacing:.1em;text-align:center;margin:0;font-size:12px;font-weight:900}.first-run-intro{color:var(--text);opacity:.8;text-align:center;margin:0 0 26px}.first-run-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.first-run-paths button{border:2px solid var(--border);background:var(--card-bg);min-height:190px;color:var(--text-h);text-align:center;cursor:pointer;border-radius:20px;align-content:center;justify-items:center;gap:8px;padding:20px;display:grid}.first-run-paths button:hover{border-color:var(--purple);box-shadow:var(--shadow);transform:translateY(-2px)}.first-run-paths button>span{font-size:40px}.first-run-paths strong{font-size:18px}.first-run-paths small{color:var(--text);line-height:1.45}.first-run-explore,.first-run-back{color:var(--purple);font:inherit;cursor:pointer;background:0 0;border:0;margin:20px auto 0;font-weight:800;display:block}.first-run-back{margin:0 0 16px}.first-run-field{color:var(--text-h);gap:7px;margin-top:18px;font-weight:800;display:grid}.first-run-field small{color:var(--text);font-weight:500}.first-run-field select,.first-run-field input{border:2px solid var(--border);background:var(--card-bg);width:100%;min-height:50px;color:var(--text-h);font:inherit;border-radius:12px;padding:0 13px}.first-run-grades{color:var(--text-h);border:0;margin:18px 0 0;padding:0;font-weight:800}.first-run-grades>div{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:7px;display:grid}.first-run-grades button{border:2px solid var(--border);background:var(--card-bg);min-height:48px;color:var(--text-h);font:inherit;cursor:pointer;border-radius:12px;font-weight:900}.first-run-grades button.selected{border-color:var(--purple);color:var(--purple);background:#6366f126}.first-run-start{background:var(--purple);color:#fff;width:100%;min-height:54px;font:inherit;cursor:pointer;border:0;border-radius:14px;margin-top:22px;font-weight:900}.first-run-start:disabled{opacity:.4;cursor:not-allowed}@media (width<=560px){.first-run-page{padding:14px}.first-run-paths{grid-template-columns:1fr}.first-run-paths button{min-height:145px}.first-run-grades>div{grid-template-columns:repeat(3,1fr)}}.profile-chip-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.profile-chip{border:2px solid var(--border);background:var(--card-bg);min-height:44px;color:var(--text-h);border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:700;display:inline-flex}.profile-chip:hover{border-color:var(--purple)}.profile-chip-wrap{display:inline-flex;position:relative}.profile-chip-remove{border:2px solid var(--border);background:var(--card-bg);width:20px;height:20px;min-height:0;color:var(--text-h);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.profile-chip-remove:hover{border-color:var(--red);color:var(--red)}.nav-profile-chip{border:2px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex}.nav-profile-chip:hover{border-color:var(--purple)}.progress-page{max-width:760px;margin:0 auto}.progress-profile-card{background:var(--card-bg);border:2px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:20px;margin-bottom:20px;padding:24px}.profile-name-edit{color:var(--text-h);background:0 0;border:none;align-items:center;gap:8px;font-size:22px;font-weight:800;display:inline-flex}.edit-pencil{opacity:.6;font-size:14px}.profile-remove-link{color:var(--text-h);opacity:.55;background:0 0;border:none;margin:6px auto 0;font-size:12px;font-weight:700;text-decoration:underline;display:block}.profile-remove-link:hover{opacity:1;color:var(--red)}.profile-rename-form{justify-content:center;gap:8px;display:flex}.profile-rename-form input{border:2px solid var(--border);border-radius:10px;min-height:40px;padding:0 10px;font-size:16px}.stat-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:16px;display:flex}.progress-section{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:18px;margin-bottom:16px;padding:20px}.progress-section h2{margin:0 0 12px;font-size:18px}.mastery-list{flex-direction:column;gap:10px;display:flex}.mastery-row{align-items:center;gap:10px;display:flex}.mastery-name{flex:0 0 180px;font-size:14px;font-weight:600}.mastery-pct{text-align:right;opacity:.75;flex:0 0 40px;font-size:13px}.activity-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.activity-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:6px 0;font-size:14px;display:flex}.activity-row:last-child{border-bottom:none}.activity-prompt{opacity:.9;flex:1}.activity-time{opacity:.6;white-space:nowrap;font-size:12px}.import-error{color:var(--red);margin-top:8px;font-size:14px}.import-success{color:var(--green-dark);margin-top:8px;font-size:14px}.answer-share-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.answer-share-row{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 0;font-size:14px;display:flex}.answer-share-row:last-child{border-bottom:none}.answer-share-prompt{opacity:.9;font-weight:600}.answer-share-status{font-size:13px}.answer-share-status.pending{opacity:.7}.answer-share-status.marked{color:var(--green-dark)}.answer-share-status em{color:var(--text);opacity:.85;font-style:italic}.dev-review-page{max-width:100%;margin:0;padding:20px 24px}.dev-filters{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0;display:flex}.dev-filters select,.dev-filters input[type=text]{border:2px solid var(--border);background:var(--card-bg);min-height:40px;color:var(--text-h);border-radius:10px;padding:0 10px;font-size:14px}.dev-flag-toggle{align-items:center;gap:6px;font-size:14px;display:flex}.dev-count{opacity:.7;margin-left:auto;font-size:13px}.dev-table-wrap{border:1.5px solid var(--border);border-radius:12px;overflow-x:auto}.dev-table{border-collapse:collapse;width:100%;font-size:13px}.dev-table th,.dev-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.dev-table th{background:var(--card-bg);font-weight:800;position:sticky;top:0}.dev-sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.dev-sortable-th:hover{color:var(--purple)}.dev-table tr.flagged-row{background:#ffc10714}.dev-table tr.dev-row-approved{background:#10b98114}.dev-table tr.dev-row-teacher-flagged{background:#f43f5e1a}.dev-badges{margin-right:4px}.dev-alt-text{opacity:.65;margin-top:4px;font-size:12px;font-style:italic}.dev-section-extra{color:#f59e0b;font-weight:700}.teacher-review-page{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:20px 16px 60px;display:flex}.teacher-review-setup{text-align:left;gap:20px}.teacher-review-setup-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:18px;flex-direction:column;gap:10px;padding:24px;display:flex}.teacher-review-setup-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-top:10px;font-size:12px;font-weight:800}.teacher-review-setup-label:first-child{margin-top:0}.teacher-review-board-checks{flex-wrap:wrap;gap:10px;display:flex}.teacher-review-board-check{border:1.5px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:700;display:flex}.teacher-review-board-check.checked{border-color:var(--purple);background:#7c6ff71f}.teacher-review-board-check input{width:18px;height:18px}.teacher-review-grade-picker{flex-wrap:wrap;gap:8px;display:flex}.teacher-review-grade-btn{border:1.5px solid var(--border);background:var(--card-bg);width:44px;height:44px;color:var(--text-h);box-shadow:none;border-radius:12px;font-size:16px;font-weight:800}.teacher-review-grade-btn.active{background:var(--purple-gradient);color:#fff;border-color:#0000}.teacher-review-start-btn{background:var(--purple-gradient);color:#fff;border:none;border-radius:14px;margin-top:8px;padding:14px 20px;font-size:16px;font-weight:800;box-shadow:0 8px 18px #6366f14d}.teacher-review-start-btn:disabled{opacity:.45}.teacher-review-section-labels{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-review-section-labels code{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:13px;font-weight:800}.teacher-review-section-tag{color:var(--text-muted);background:var(--card-bg);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700}.teacher-review-actions{flex-wrap:wrap;gap:10px;display:flex}.teacher-review-action-btn{padding:10px 16px;font-size:14px}.teacher-review-pending-issues{color:var(--text);background:#f59e0b1a;border:1.5px solid #f59e0b73;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:11px 14px;display:flex}.teacher-review-pending-issues strong{color:#d97706}.teacher-review-pending-issues span{font-size:13px}.teacher-review-issues-error{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-review-issues-error button{flex:none;padding:7px 12px}.teacher-review-issue-overlay{z-index:300;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080f1fc2;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.teacher-review-issue-dialog{border:2px solid var(--border);background:var(--card-bg);border-radius:22px;width:min(100%,560px);max-height:min(720px,100dvh - 36px);padding:26px;overflow-y:auto;box-shadow:0 24px 70px #00000059}.teacher-review-issue-dialog h2{color:var(--text-h);margin:10px 0 8px;font-size:clamp(22px,4vw,30px)}.teacher-review-issue-dialog p{line-height:1.55}.teacher-review-issue-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.teacher-review-issue-actions button{min-height:50px;padding:10px 14px}.teacher-review-issue-cancel{box-shadow:none;color:var(--text-muted);background:0 0;margin:12px auto 0;padding:8px 12px;display:block}.teacher-review-feedback-label{color:var(--text-h);gap:8px;margin-top:16px;font-weight:800;display:grid}.teacher-review-feedback-label textarea{box-sizing:border-box;resize:vertical;border:2px solid var(--border);background:var(--input-bg);width:100%;min-height:128px;color:var(--text);font:inherit;border-radius:12px;padding:12px 14px;line-height:1.45}.teacher-review-feedback-label textarea:focus{border-color:var(--purple);outline:none}.teacher-review-comments{border:1px solid var(--border);background:var(--card-bg);border-radius:16px;padding:16px}.teacher-review-comments-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-review-comments-heading h2{color:var(--text-h);margin:0;font-size:18px}.teacher-review-comments-heading>span{color:#d97706;background:#f59e0b1f;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.teacher-review-comments-list{gap:10px;margin-top:12px;display:grid}.teacher-review-comment{border:1px solid var(--border);background:var(--input-bg);border-radius:12px;padding:13px}.teacher-review-comment.is-closed{opacity:.7}.teacher-review-comment-meta{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-review-comment-meta strong{color:var(--text-h)}.teacher-review-comment-meta span{color:var(--text-muted);text-align:right;font-size:11px}.teacher-review-comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.5}.teacher-review-comment-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.teacher-review-comment-actions button{min-height:38px;padding:7px 11px;font-size:12px}.teacher-review-comment-actions button.active{color:#d97706;border-color:#d97706}.teacher-review-comment-dismiss{color:var(--red);border-color:#f43f5e59}.teacher-review-comment-status{color:var(--text-muted);margin-top:10px;font-size:12px;font-weight:800;display:inline-block}.lesson-nav--top .teacher-review-skip-btn{margin:0 0 0 4px}.teacher-review-publish-decision{background:#10b98114;border:1.5px solid #10b98159;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:14px;display:flex}.teacher-review-publish-decision.is-draft{background:#f59e0b1a;border-color:#f59e0b73}.teacher-review-publish-decision>div:first-child{gap:3px;display:grid}.teacher-review-publish-decision strong{color:var(--text-h)}.teacher-review-publish-decision span{color:var(--text-muted);font-size:12px}.teacher-review-draft-toggle{border:1px solid var(--border);color:var(--text-h);cursor:pointer;border-radius:10px;flex:none;align-items:center;gap:8px;padding:9px 11px;font-size:12px;font-weight:800;display:flex}.teacher-review-draft-toggle input{accent-color:#d97706;width:19px;height:19px}.teacher-question-edit-open{border:1.5px solid var(--purple);width:100%;min-height:46px;color:var(--purple);background:#7c6ff714}.teacher-question-edit-dialog{border:2px solid var(--border);background:var(--card-bg);border-radius:20px;width:min(100%,680px);max-height:calc(100dvh - 30px);padding:24px;overflow-y:auto}.teacher-question-edit-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.teacher-question-edit-header h2{color:var(--text-h);margin:6px 0 0}.teacher-question-edit-header>button{width:40px;height:40px;padding:0;font-size:25px}.teacher-question-edit-intro{color:var(--text-muted);line-height:1.5}.teacher-question-edit-dialog form,.teacher-question-edit-dialog form>label{gap:12px;display:grid}.teacher-question-edit-dialog form>label,.teacher-question-edit-grid label,.teacher-question-choice-editor legend{color:var(--text-h);font-weight:800}.teacher-question-edit-dialog textarea,.teacher-question-edit-dialog input[type=text],.teacher-question-edit-dialog input[type=number],.teacher-question-choice-editor input:not([type=radio]){box-sizing:border-box;border:1.5px solid var(--border);background:var(--input-bg);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:11px 12px}.teacher-question-edit-dialog textarea{resize:vertical}.teacher-question-edit-grid{grid-template-columns:1fr 110px;gap:12px;display:grid}.teacher-question-edit-grid label{gap:8px;display:grid}.teacher-question-choice-editor{border:1px solid var(--border);border-radius:12px;gap:9px;margin:0;padding:14px;display:grid}.teacher-question-choice-editor>div{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.teacher-question-correct-choice{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.teacher-question-correct-choice input{width:18px;height:18px}.teacher-question-visual-note{background:#f59e0b14;border:1px solid #f59e0b66;border-radius:12px;padding:13px}.teacher-question-visual-note span{color:var(--text-muted);font-size:12px;font-weight:500;line-height:1.5}.teacher-question-edit-errors{color:var(--red);margin:0}.teacher-question-edit-actions{grid-template-columns:1fr 1fr;gap:12px;display:grid}.teacher-question-edit-actions button{min-height:48px}.recent-question-edits{gap:16px;display:grid}.recent-question-edits-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.recent-question-edits-header h2,.recent-question-edits-header p{margin:0 0 6px}.recent-question-edits-header label{white-space:nowrap;align-items:center;gap:7px;display:flex}.recent-question-edits-list{gap:14px;display:grid}.recent-question-edit-card{border:1px solid var(--border);background:var(--card-bg);border-radius:16px;padding:18px}.recent-question-edit-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.recent-question-edit-card h3{color:var(--text-h);margin:7px 0 0;font-size:17px}.recent-question-edit-card header>span{color:#d97706;background:#f59e0b1f;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.recent-question-edit-card dl{flex-wrap:wrap;gap:20px;margin:14px 0;display:flex}.recent-question-edit-card dl>div{gap:3px;display:grid}.recent-question-edit-card dt{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:800}.recent-question-edit-card dd{margin:0}.recent-question-visual-note{background:#f59e0b14;border:1px solid #f59e0b66;border-radius:10px;padding:12px}.recent-question-visual-note p{white-space:pre-wrap;margin:5px 0 0}.recent-question-edit-card details{margin:13px 0}.recent-question-change{overflow-wrap:anywhere;gap:5px;margin:10px 0;display:grid}.recent-question-change del,.recent-question-change ins{white-space:pre-wrap;border-radius:8px;padding:8px;text-decoration:none}.recent-question-change del{background:#f43f5e14}.recent-question-change ins{background:#10b98114}.recent-question-edit-actions{flex-wrap:wrap;gap:9px;display:flex}.recent-question-edit-title-btn{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:0;display:block}.recent-question-edit-title-btn:hover h3{color:var(--purple);text-decoration:underline}.teacher-question-edit-preview-toggle{border:1.5px solid var(--border);width:100%;min-height:42px;color:var(--text-h);background:var(--input-bg);border-radius:10px;font-weight:800}.question-render-preview{border:1px dashed var(--border);background:var(--input-bg);border-radius:14px;gap:10px;margin-top:14px;padding:14px;display:grid}.question-render-preview-toolbar{gap:8px;display:flex}.question-render-preview-toggle{border:1.5px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.question-render-preview-toggle.active{border-color:var(--purple);color:var(--purple);background:#7c6ff71a}.question-render-preview-viewport{padding:4px;overflow-x:auto}.question-render-preview-frame{border:1px solid var(--border);background:var(--card-bg);border-radius:12px;max-width:100%;margin:0 auto;padding:10px;transition:width .15s}@media (width<=640px){.teacher-review-page{padding:14px 12px 50px}.teacher-review-issue-dialog{border-radius:18px;padding:20px 16px}.teacher-review-issue-actions{grid-template-columns:1fr}.teacher-review-comment-meta{gap:4px;display:grid}.teacher-review-comment-meta span{text-align:left}.teacher-review-page .lesson-nav--top{flex-wrap:wrap;justify-content:flex-end;row-gap:6px}.teacher-review-publish-decision{display:grid}.teacher-review-draft-toggle{justify-content:center}.teacher-question-edit-dialog{padding:18px 14px}.teacher-question-edit-grid,.teacher-question-edit-actions,.teacher-question-choice-editor>div{grid-template-columns:1fr}.recent-question-edits-header,.recent-question-edit-card header{display:grid}.recent-question-edits-header label{white-space:normal}}.dev-review-cell{white-space:nowrap;min-width:260px}.dev-review-quick-btn{background:var(--card-bg);border:1.5px solid var(--border);color:var(--text-h);box-shadow:none;border-radius:8px;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:4px 8px;font-size:13px;display:inline-flex}.dev-btn-label{font-size:12px;font-weight:600}.dev-review-quick-btn:hover:not(:disabled){border-color:var(--purple);transform:none}.dev-review-quick-btn.active{border-color:var(--purple);background:#6366f11f}.dev-review-quick-btn:disabled{opacity:.4;cursor:not-allowed}.dev-view-tabs{background:var(--card-bg);border:1.5px solid var(--border);border-radius:12px;gap:6px;margin-bottom:16px;padding:6px;display:inline-flex}.dev-view-tabs button{color:var(--text);box-shadow:none;background:0 0;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:800}.dev-view-tabs button.active{background:var(--purple-gradient);color:#fff}.dev-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.dev-gallery-card--wide{grid-column:span 2}@media (width<=700px){.dev-gallery-card--wide{grid-column:span 1}}.dev-gallery-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.dev-gallery-card.flagged-row{background:#ffc10714}.dev-gallery-card.dev-row-approved{background:#10b98114}.dev-gallery-card.dev-row-teacher-flagged{background:#f43f5e1a}.dev-gallery-card-head{justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.dev-gallery-meta{opacity:.7;white-space:nowrap}.dev-gallery-prompt{color:var(--text-h);margin:0;font-size:13px;font-weight:700}.dev-gallery-visual{overflow-x:auto}.dev-gallery-choices{flex-wrap:wrap;gap:8px;display:flex}.dev-gallery-choice{background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:4px;display:flex}.dev-gallery-choice span{color:#1e293b;font-size:11px;font-weight:700}.dev-gallery-actions{gap:6px;margin-top:auto;padding-top:4px;display:flex}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172abf;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--card-bg);border:2px solid var(--border);width:100%;max-width:640px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:28px;padding:28px;animation:.25s cubic-bezier(.175,.885,.32,1.275) popUp;overflow-y:auto}.modal-title{margin:0 0 14px}.question-preview-modal{text-align:left;max-width:720px}.question-preview-header{opacity:.8;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;font-size:13px;display:flex}.modal-close-btn{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:none;color:var(--text-h);border-radius:8px;padding:4px 10px}.question-preview-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.question-preview-refresh-btn{background:var(--card-bg);border:1.5px solid var(--purple);box-shadow:none;color:var(--purple);white-space:nowrap;cursor:pointer;border-radius:8px;padding:4px 12px;font-size:12px;font-weight:800}.question-preview-refresh-btn:hover{background:var(--purple);color:#fff}.question-preview-footer{border-top:1.5px solid var(--border);flex-direction:column;gap:12px;margin-top:20px;padding-top:16px;display:flex}.question-preview-actions{flex-wrap:wrap;gap:10px;display:flex}.review-approve-btn.active{background:var(--green);box-shadow:none}.review-flag-btn.active{background:var(--red);box-shadow:none}.dev-prompt-cell{max-width:320px}.dev-answer-cell{max-width:260px;color:var(--green-dark);font-weight:600}.self-assess-buttons{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.qr-code{background:#fff;border-radius:12px;margin-top:12px;padding:8px;display:inline-block;overflow:hidden}.qr-code img{display:block}.qr-code-loading{background:repeating-linear-gradient(45deg,#6366f114,#6366f114 10px,#6366f126 10px 20px);border-radius:8px}.teacher-dashboard{flex-direction:column;gap:24px;display:flex}.teacher-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.teacher-summary-strip>div,.teacher-summary-strip>button{background:var(--card-bg);border:1.5px solid var(--border);min-height:74px;box-shadow:var(--shadow);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:14px 16px;display:flex}.teacher-summary-strip>button:hover{border-color:var(--purple);background:#6366f114;transform:translateY(-1px)}.teacher-summary-strip strong{color:var(--text-h);font-size:26px;line-height:1}.teacher-summary-strip>div:first-child strong,.teacher-summary-strip>button:first-child strong{color:var(--purple)}.teacher-summary-strip>div:nth-child(2) strong,.teacher-summary-strip>button:nth-child(2) strong{color:var(--green)}.teacher-summary-strip>div:nth-child(3) strong,.teacher-summary-strip>button:nth-child(3) strong{color:var(--pink,#ec4899)}.teacher-summary-strip>div:nth-child(4) strong,.teacher-summary-strip>button:nth-child(4) strong{color:var(--amber)}.teacher-summary-strip span{color:var(--text);opacity:.75;font-size:13px;font-weight:700}.teacher-workflow-tabs{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.teacher-workflow-tabs button{color:var(--text);background:0 0;border-radius:8px;flex:150px;padding:10px 12px;font-size:14px;font-weight:800}.teacher-workflow-tabs button.active{background:var(--purple-gradient);color:#fff}.teacher-profile-menu-bar{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--shadow);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.teacher-profile-chip{color:var(--text-h);align-items:center;gap:10px;display:flex}.teacher-profile-chip small{color:var(--text);opacity:.75;font-size:12px;display:block}.teacher-avatar{background:var(--purple-gradient);color:#fff;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;font-weight:900;display:inline-flex}.teacher-menu-wrap{position:relative}.nav-teacher-menu-trigger{color:#10b981;background:#10b9811a;border:1.5px solid #10b98159;border-radius:12px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:800;display:inline-flex}:root[data-theme=dark] .nav-teacher-menu-trigger{color:#34d399}.nav-teacher-menu-trigger:hover{background:#10b98133;border-color:#10b981}.teacher-menu-popover{z-index:20;background:var(--card-bg);border:1.5px solid var(--border);min-width:220px;box-shadow:var(--shadow-lg);border-radius:12px;padding:8px;position:absolute;top:calc(100% + 8px);left:0}.teacher-menu-popover-signed-in{border-bottom:1px solid var(--border);color:var(--text);opacity:.8;white-space:nowrap;text-overflow:ellipsis;margin:2px 6px 8px;padding-bottom:8px;font-size:12px;overflow:hidden}.teacher-menu-popover-signed-in strong{color:var(--text-h)}.teacher-menu-popover button{width:100%;color:var(--text-h);box-shadow:none;background:0 0;border-radius:8px;justify-content:flex-start;padding:9px 10px}.teacher-menu-popover button.active,.teacher-menu-popover button:hover{color:var(--purple);box-shadow:none;background:#6366f11f;transform:none}.teacher-layout-grid{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.teacher-main-stack{flex-direction:column;gap:18px;min-width:0;display:flex}.teacher-roster-list{min-width:0}.teacher-native-header,.teacher-native-tabs{display:none}.teacher-dashboard-native .teacher-native-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 4px 4px;display:grid}.teacher-dashboard-native .teacher-native-tabs{z-index:10;scrollbar-width:none;border:1.5px solid var(--border);background:var(--card-bg);background:color-mix(in srgb, var(--card-bg) 94%, transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:15px;gap:6px;padding:5px;display:flex;position:sticky;top:0;overflow-x:auto}.teacher-native-card-list{flex-direction:column;gap:10px;display:flex}.teacher-native-result-card,.teacher-native-assignment-card{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);text-align:left;box-shadow:none;border-radius:14px;align-items:center;gap:12px;padding:14px;display:flex}.teacher-native-card-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.teacher-native-card-main strong,.teacher-native-card-main span,.teacher-native-card-main small{text-overflow:ellipsis;overflow:hidden}.teacher-native-card-main small,.teacher-native-card-main time{color:var(--text);opacity:.72;font-size:12px}.teacher-native-card-arrow{color:var(--text);opacity:.5;font-size:24px;line-height:1}.teacher-native-assignment-actions{flex-shrink:0;gap:8px;display:flex}.teacher-dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:18px;display:grid}.teacher-primary-panel{min-width:0}.teacher-dashboard-grid .teacher-primary-panel:only-child{grid-column:1/-1}.teacher-links-panel,.teacher-sticky-roster{position:sticky;top:16px}.teacher-command-center{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:18px;display:grid}.teacher-roster-panel,.teacher-feed-panel{min-width:0}.teacher-roster-item{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);text-align:left;box-shadow:none;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:12px 14px;display:flex}.teacher-roster-item:hover,.teacher-roster-item.selected{border-color:var(--purple);background:#6366f114}.teacher-roster-item span{flex-direction:column;gap:2px;min-width:0;display:flex}.teacher-roster-item small{color:var(--text);opacity:.75;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.teacher-roster-item em{color:var(--green-dark);background:#10b9811f;border-radius:8px;padding:4px 8px;font-size:12px;font-style:normal;font-weight:900}.teacher-roster-mastery{border-radius:999px;flex-shrink:0;padding:4px 9px;font-size:12px;font-weight:900}.teacher-roster-mastery.good{color:var(--green-dark);background:#10b98124}.teacher-roster-mastery.warn{color:#b45309;background:#f59e0b29}.teacher-roster-mastery.poor{color:var(--red);background:#f43f5e1f}.teacher-feed-table{min-width:620px}.teacher-feed-table th:first-child,.teacher-feed-table td:first-child{width:18%}.teacher-feed-table th:nth-child(2),.teacher-feed-table td:nth-child(2){width:40%}.teacher-feed-table th:nth-child(3),.teacher-feed-table td:nth-child(3){width:12%}.teacher-feed-table th:nth-child(4),.teacher-feed-table td:nth-child(4){width:14%}.teacher-feed-table th:nth-child(5),.teacher-feed-table td:nth-child(5){width:16%}.teacher-class-overview{overflow:hidden}.teacher-class-insights{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0 18px;display:grid}.teacher-class-insights>div{border:1px solid var(--border);background:var(--bg);border-radius:11px;flex-direction:column;gap:3px;padding:11px 12px;display:flex}.teacher-class-insights strong{color:var(--purple);font-size:20px;line-height:1}.teacher-class-insights span{color:var(--text);opacity:.72;font-size:11px;font-weight:800}.teacher-class-insights .attention strong{color:var(--red)}.teacher-class-student-list{gap:7px;min-width:0;display:grid}.teacher-class-student-head,.teacher-class-student-row{grid-template-columns:minmax(120px,1.2fr) minmax(82px,.8fr) minmax(102px,1fr) 68px 88px minmax(78px,.75fr) 68px 14px;align-items:center;gap:8px;display:grid}.teacher-class-student-head{color:var(--text);opacity:.64;letter-spacing:.035em;text-transform:uppercase;padding:0 12px 3px;font-size:10px;font-weight:900}.teacher-class-student-row{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;max-width:100%;min-height:68px;color:var(--text-h);text-align:left;box-shadow:none;border-radius:12px;padding:9px 11px;position:relative}.teacher-class-student-row:hover{border-color:var(--purple);background:color-mix(in srgb, var(--purple) 7%, var(--bg));box-shadow:none;transform:none}.teacher-class-student-row>span{min-width:0}.teacher-class-student-name,.teacher-class-practice,.teacher-class-efficiency{flex-direction:column;gap:3px;min-width:0;display:flex}.teacher-class-student-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.teacher-class-student-name small,.teacher-class-practice small,.teacher-class-efficiency small{color:var(--text);opacity:.7;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.teacher-class-practice strong{color:var(--green-dark);font-size:13px}.teacher-class-efficiency strong{color:#f59e0b;letter-spacing:-1px;white-space:nowrap;font-size:12px}.teacher-class-progress{gap:6px;display:grid}.teacher-class-progress strong{color:var(--purple);font-size:12px}.teacher-class-progress>i{background:color-mix(in srgb, var(--border) 72%, transparent);border-radius:999px;height:6px;display:block;overflow:hidden}.teacher-class-progress>i>b{border-radius:inherit;background:linear-gradient(90deg, var(--purple), #8b5cf6);height:100%;display:block}.teacher-attempt-dots{align-items:center;gap:4px;display:flex}.teacher-attempt-dots>i{border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;font-size:8px;font-style:normal;font-weight:900;display:inline-flex}.teacher-attempt-dots>i.good{color:var(--green-dark);background:#10b98126}.teacher-attempt-dots>i.warn{color:#b45309;background:#f59e0b2b}.teacher-attempt-dots>i.poor{color:var(--red);background:#f43f5e24}.teacher-attempt-dots>small{color:var(--text);opacity:.6;font-size:10px}.teacher-class-daily-bars{grid-template-columns:repeat(7,minmax(5px,1fr));align-items:end;gap:2px;width:100%;max-width:88px;height:34px;display:grid}.teacher-class-daily-bars>i{height:100%;display:block;position:relative}.teacher-class-daily-bars>i:before{content:"";background:color-mix(in srgb, var(--border) 58%, transparent);border-radius:3px 3px 2px 2px;position:absolute;inset:0 0 11px}.teacher-class-daily-bars>i>b{z-index:1;background:linear-gradient(180deg, #34d399, var(--green-dark));border-radius:3px 3px 2px 2px;max-height:calc(100% - 11px);position:absolute;bottom:11px;left:0;right:0}.teacher-class-daily-bars>i>small{color:var(--text);opacity:.58;text-align:center;font-size:8px;font-style:normal;font-weight:800;position:absolute;bottom:-1px;left:0;right:0}.teacher-class-last-active{color:var(--text);opacity:.75;white-space:nowrap;font-size:10px}.teacher-class-row-arrow{color:var(--purple);text-align:right;font-size:23px;line-height:1}.teacher-class-student-row [data-label]:before{display:none}.teacher-pill{border-radius:8px;padding:4px 8px;font-size:12px;font-weight:900;display:inline-flex}.teacher-review-btn{background:var(--purple);color:#fff;box-shadow:none;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700}.teacher-review-btn:hover{background:var(--purple-dark);box-shadow:none;transform:none}.teacher-pill.good{color:var(--green-dark);background:#10b9811f}.teacher-pill.warn{color:#b45309;background:#f59e0b24}.teacher-pill.poor{color:var(--red);background:#f43f5e1f}.teacher-added-banner{color:var(--green-dark);border:1.5px solid var(--green);background:#10b9811f;border-radius:12px;padding:12px 16px;font-weight:700}.teacher-section{background:var(--card-bg);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.teacher-section h3{margin:0 0 4px}.teacher-section-hint{color:var(--text);opacity:.8;margin:0 0 16px;font-size:14px}.teacher-roster-header h3{justify-content:space-between;align-items:center;gap:8px;display:flex}.teacher-roster-header h3 button{padding:4px 12px;font-size:12px}.teacher-section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.teacher-form-row{flex-wrap:wrap;gap:14px;margin-bottom:14px;display:flex}.teacher-form-row label{color:var(--text-h);flex-direction:column;flex:200px;gap:6px;font-size:14px;font-weight:700;display:flex}.teacher-form-row input,.teacher-form-row select{border:2px solid var(--border);background:var(--bg);min-height:48px;color:var(--text-h);border-radius:14px;padding:0 16px;font-size:15px;font-weight:500}.teacher-form-row input::placeholder{color:var(--text);opacity:.5}.teacher-form-row input:hover,.teacher-form-row select:hover:not(:disabled){border-color:#6366f166}.teacher-form-row input:focus,.teacher-form-row select:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #6366f126}.teacher-form-row select:disabled{opacity:.4;cursor:not-allowed}.teacher-generate-btn{background:var(--purple-gradient);color:#fff;border-radius:14px;padding:12px 24px;font-weight:800}.teacher-generate-btn:disabled{opacity:.45;cursor:not-allowed}.teacher-generated-card{border-top:1.5px solid var(--border);flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px;padding-top:18px;display:flex}.teacher-link-field{border:2px solid var(--border);background:var(--bg);width:100%;min-height:46px;color:var(--text-h);border-radius:12px;padding:0 14px;font-family:monospace;font-size:14px}.teacher-generated-actions{flex-wrap:wrap;gap:10px;display:flex}.teacher-generated-actions a{background:var(--card-bg);border:2px solid var(--purple);color:var(--purple);border-radius:12px;align-items:center;padding:8px 16px;font-weight:700;text-decoration:none;display:inline-flex}.teacher-generated-actions button{background:var(--purple-gradient);color:#fff;border-radius:12px;padding:8px 16px;font-weight:700}.teacher-clear-btn{color:var(--red);border:2px solid var(--red);background:0 0;border-radius:10px;padding:6px 14px;font-size:13px;font-weight:700}.teacher-mode-toggle{background:var(--bg);border:2px solid var(--border);border-radius:14px;gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.teacher-mode-toggle button{color:var(--text);background:0 0;border-radius:10px;padding:8px 18px;font-size:14px;font-weight:700}.teacher-mode-toggle button.active{background:var(--purple-gradient);color:#fff}.teacher-checklist{flex-direction:column;gap:16px;max-height:360px;margin-bottom:16px;padding-right:6px;display:flex;overflow-y:auto}.teacher-checklist-toolbar{border:1.5px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.teacher-checklist-toolbar>div{flex-wrap:wrap;gap:8px;display:flex}.teacher-checklist-toolbar button:disabled{opacity:.45;cursor:not-allowed}.teacher-checklist-group h4{color:var(--purple);margin:0 0 8px;font-size:14px}.teacher-checklist-item{color:var(--text-h);cursor:pointer;align-items:center;gap:10px;padding:8px 4px;font-weight:500;display:flex}.teacher-checklist-item input{width:18px;height:18px;accent-color:var(--purple);cursor:pointer}.teacher-group-picker{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;max-height:240px;margin:4px 0 16px;padding-right:4px;display:grid;overflow:auto}.teacher-group-student{background:var(--bg);border:1.5px solid var(--border);min-height:46px;color:var(--text-h);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.teacher-group-student.selected{border-color:var(--purple);background:#6366f114}.teacher-group-student span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.teacher-group-student input{width:18px;height:18px;accent-color:var(--purple)}.teacher-group-picker-compact{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-height:260px}.teacher-classroom-card-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;max-height:360px;margin:4px 0 16px;padding-right:4px;display:grid;overflow:auto}.teacher-classroom-card{border:2px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:14px;flex-direction:column;gap:10px;padding:16px;transition:transform .15s,border-color .15s;display:flex}.teacher-classroom-card:hover,.teacher-classroom-card.selected{border-color:var(--purple);transform:translateY(-1px)}.teacher-classroom-card>input{width:18px;height:18px;accent-color:var(--purple)}.teacher-classroom-card-head{color:var(--text-h);justify-content:space-between;gap:10px;display:flex}.teacher-classroom-card-head em{color:var(--purple);font-style:normal;font-weight:900}.teacher-classroom-card-meta{color:var(--text);opacity:.75;min-height:18px;font-size:12px}.teacher-classroom-card-bar{background:#6366f124;border-radius:999px;height:7px;overflow:hidden}.teacher-classroom-card-bar i{background:var(--purple-gradient);border-radius:inherit;height:100%;display:block}.teacher-link-list{flex-direction:column;gap:12px;max-height:520px;padding-right:4px;display:flex;overflow:auto}.teacher-results-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.teacher-result-row{border:1.5px solid var(--border);border-radius:14px;position:relative;overflow:hidden}.teacher-result-summary{background:var(--bg);text-align:left;border-radius:0;flex-wrap:wrap;align-items:center;gap:14px;width:100%;padding:14px 44px 14px 16px;font-weight:600;display:flex}.teacher-result-summary:hover{background:#6366f10f}.tr-student{color:var(--text-h);min-width:100px;font-weight:800}.tr-level{opacity:.85;flex:1;min-width:140px}.tr-score{color:var(--purple);font-weight:800}.tr-date{opacity:.65;font-size:13px}.tr-expand{opacity:.5}.teacher-delete-btn{color:var(--red);background:#f43f5e1f;border:1.5px solid #f43f5e8c;border-radius:9px;padding:6px 10px;font-size:13px;font-weight:800}.teacher-delete-btn:hover{background:#f43f5e2e}.teacher-result-questions{flex-direction:column;gap:8px;margin:0;padding:10px 16px 14px;list-style:none;display:flex}.teacher-result-questions li{border-top:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;font-size:14px;display:flex}.teacher-result-questions li:first-child{border-top:none}.tq-full{color:var(--green-dark)}.tq-partial{color:var(--yellow)}.tq-zero{color:var(--red)}.tq-marks{white-space:nowrap;font-weight:700}.teacher-section-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.teacher-backup-btn{background:var(--card-bg);border:2px solid var(--purple);color:var(--purple);border-radius:10px;padding:6px 14px;font-size:13px;font-weight:700}.teacher-backup-btn:hover{background:#6366f114}.teacher-login-code-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.teacher-code-input{letter-spacing:8px;text-align:center;max-width:200px;font-family:Courier New,monospace;font-weight:700;font-size:22px!important}.class-exam-upsell{text-align:center;padding:20px}.class-exam-upsell p{opacity:.8;max-width:520px;margin:8px auto 0}.class-exam-builder{flex-direction:column;gap:18px;display:flex}.class-exam-title-field{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.class-exam-title-field input{border:2px solid var(--border);background:var(--bg);min-height:48px;color:var(--text-h);border-radius:14px;padding:0 16px;font-size:16px;font-weight:600}.class-exam-bank-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.class-exam-bank-row label{color:var(--text-h);flex-direction:column;flex:160px;gap:6px;font-size:13px;font-weight:700;display:flex}.class-exam-bank-row input,.class-exam-bank-row select{border:2px solid var(--border);background:var(--bg);min-height:44px;color:var(--text-h);border-radius:10px;padding:0 12px;font-size:14px}.class-exam-bank-row button,.class-exam-add-mode-row button{border-radius:10px;min-height:44px;padding:0 16px;font-weight:700}.class-exam-add-mode-row{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.class-exam-add-mode-row button{background:var(--bg);border:2px solid var(--border);color:var(--text-h);box-shadow:none}.class-exam-add-mode-row button.active{background:var(--purple-gradient);color:#fff;border-color:#0000}.class-exam-stop-editing{border:1.5px solid var(--purple);min-height:40px;color:var(--purple);box-shadow:none;background:#6366f11a;border-radius:10px;align-items:center;gap:6px;margin-bottom:14px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.class-exam-stop-editing:hover{background:#6366f12e}.class-exam-draft-form{border:1.5px dashed var(--border);border-radius:14px;flex-direction:column;gap:12px;margin-top:14px;padding:16px;display:flex}.class-exam-draft-form label{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.class-exam-draft-form input[type=text],.class-exam-draft-form select,.class-exam-draft-form textarea{border:2px solid var(--border);background:var(--bg);min-height:44px;color:var(--text-h);font:inherit;border-radius:10px;padding:10px 12px;font-size:14px}.class-exam-draft-form textarea{min-height:80px}.class-exam-draft-form>button{background:var(--purple-gradient);color:#fff;min-height:44px;box-shadow:none;border-radius:10px;align-self:flex-start;padding:0 18px;font-weight:800}.class-exam-choice-row{align-items:center;flex-direction:row!important;gap:10px!important}.class-exam-choice-row input[type=radio]{width:18px;height:18px;accent-color:var(--green-dark,var(--purple));flex:none}.class-exam-choice-row input[type=text]{flex:1;min-height:40px!important}.class-exam-correct-label{white-space:nowrap;opacity:.65;color:var(--text-h);flex:none;font-size:12px;font-weight:800}.class-exam-choice-block{border:1.5px solid var(--border);background:var(--card-bg);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px 12px;display:flex}.class-exam-choice-block.correct{border-color:var(--green-dark,#10b981);background:#10b98114}.class-exam-choice-block.correct .class-exam-correct-label{opacity:1;color:var(--green-dark,#10b981)}.class-exam-notation-field{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.class-exam-notation-field>button{background:var(--bg);border:1.5px dashed var(--border);min-height:38px;color:var(--text-h);box-shadow:none;border-radius:10px;padding:0 14px;font-size:13px;font-weight:700}.class-exam-notation-actions{gap:10px;display:flex}.class-exam-notation-actions button{border-radius:10px;min-height:40px;padding:0 14px;font-weight:700}.class-exam-question-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.class-exam-question-list li{border:1.5px solid var(--border);background:var(--bg);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.class-exam-question-list li.editing{border-color:var(--purple);background:#6366f114}.class-exam-question-edit{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--text-h);box-shadow:none;background:0 0;flex:1;font-weight:600;overflow:hidden}.class-exam-question-edit:hover{color:var(--purple);text-decoration:underline}.class-exam-question-actions{flex:none;gap:6px;display:flex}.class-exam-question-actions button{background:var(--card-bg);border:1.5px solid var(--border);min-width:32px;min-height:32px;color:var(--text-h);box-shadow:none;border-radius:8px;padding:0 8px;font-weight:700}.class-exam-question-actions button:disabled{opacity:.35}.class-exam-list{flex-direction:column;gap:10px;display:flex}.class-exam-list h4{margin:0 0 4px}.class-exam-builder-anchor{border-top:1.5px solid var(--border);margin-top:22px;padding-top:22px;scroll-margin-top:20px}.class-exam-builder-anchor h4{margin:0 0 14px}.class-exam-list-item{border:1.5px solid var(--border);border-radius:14px;padding:14px}.class-exam-list-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.class-exam-list-row strong{color:var(--text-h)}.class-exam-list-row .teacher-section-hint{margin:2px 0 0;display:block}.teacher-student-filter{border:2px solid var(--border);background:var(--bg);width:100%;min-height:44px;color:var(--text-h);border-radius:12px;margin-bottom:14px;padding:0 14px;font-size:14px}.teacher-student-filter:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #6366f126}.teacher-students-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.teacher-student-card{border:1.5px solid var(--border);border-radius:14px;overflow:hidden}.teacher-student-summary{background:var(--bg);text-align:left;border-radius:0;flex-wrap:wrap;align-items:center;gap:14px;width:100%;padding:14px 16px;font-weight:600;display:flex}.teacher-student-summary:hover{background:#6366f10f}.ts-name{color:var(--text-h);min-width:100px;font-weight:800}.ts-email{opacity:.7;flex:1;min-width:140px;font-size:13px}.ts-stat{opacity:.85;white-space:nowrap;font-size:13px}.ts-date{opacity:.65;font-size:13px}.ts-expand{opacity:.5}.teacher-student-detail{border-top:1.5px solid var(--border);flex-wrap:wrap;gap:20px;padding:14px 16px 18px;display:flex}.teacher-student-column{flex:260px;min-width:240px}.teacher-student-column h4{color:var(--purple);margin:0 0 8px;font-size:14px}.teacher-mini-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.teacher-mini-row{background:var(--bg);border-radius:10px;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:12px;padding:10px;font-size:13px;display:grid}.teacher-mini-title{overflow-wrap:anywhere;min-width:0}.teacher-mini-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.teacher-mini-actions .teacher-backup-btn,.teacher-mini-actions .teacher-delete-btn{white-space:nowrap;padding:4px 8px;font-size:12px}.teacher-progress-table-wrap{overflow-x:visible}.teacher-progress-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;font-size:14px}.teacher-progress-table th{text-align:left;color:var(--text);opacity:.7;text-transform:uppercase;border-bottom:1.5px solid var(--border);padding:10px 12px;font-size:12px}.teacher-progress-table td{border-bottom:1px solid var(--border);color:var(--text-h);vertical-align:middle;overflow-wrap:anywhere;padding:12px}.teacher-progress-table tr:hover td{background:#6366f10a}.teacher-assignments-table th:first-child,.teacher-assignments-table td:first-child{width:14%}.teacher-assignments-table th:nth-child(2),.teacher-assignments-table td:nth-child(2){width:42%}.teacher-assignments-table th:nth-child(3),.teacher-assignments-table td:nth-child(3){width:10%}.teacher-assignments-table th:nth-child(4),.teacher-assignments-table td:nth-child(4){width:14%}.teacher-assignments-table th:nth-child(5),.teacher-assignments-table td:nth-child(5){width:20%}.teacher-assignments-table .teacher-mini-actions{justify-content:flex-start}.teacher-delete-icon-btn{justify-content:center;align-items:center;min-width:30px;height:30px;padding:0;font-size:14px;line-height:1;display:inline-flex}.teacher-row-link{color:var(--purple);text-align:left;background:0 0;padding:0;font-weight:800}.teacher-progress-detail{background:var(--bg);border-radius:12px;margin-top:14px}.teacher-student-overview h4{color:var(--purple);margin:16px 0 10px;font-size:14px}.teacher-student-metric-groups{gap:12px;margin:16px 0 4px;display:grid}.teacher-student-metric-group{border:1px solid color-mix(in srgb, var(--purple) 25%, var(--border));background:color-mix(in srgb, var(--purple) 4%, var(--card-bg));border-radius:14px;padding:11px}.teacher-student-metric-group.practice{border-color:color-mix(in srgb, var(--green-dark) 30%, var(--border));background:color-mix(in srgb, var(--green-dark) 5%, var(--card-bg))}.teacher-student-metric-title{color:var(--purple);letter-spacing:.08em;text-transform:uppercase;margin:0 3px 7px;font-size:10px;font-weight:900;display:block}.teacher-student-metric-group.practice .teacher-student-metric-title{color:var(--green-dark)}.teacher-student-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.teacher-student-kpi-grid div{background:var(--bg);border:1px solid var(--border);border-radius:11px;flex-direction:column;gap:2px;min-width:0;min-height:70px;padding:11px 13px;display:flex}.teacher-student-kpi-grid strong{color:var(--purple);font-size:20px;line-height:1.1}.teacher-student-kpi-grid span{color:var(--text);opacity:.75;font-size:12px;font-weight:800}.teacher-student-metric-group.practice .teacher-student-kpi-grid>div>strong{color:var(--green-dark)}.teacher-student-kpi-grid .teacher-efficiency-kpi strong{color:var(--green-dark);white-space:nowrap;align-items:center;gap:4px;font-size:15px;display:flex}.teacher-student-kpi-grid .teacher-efficiency-stars{color:#f59e0b;opacity:1;letter-spacing:-1px;font-size:12px}.teacher-student-summary-grid{grid-template-columns:1fr;gap:16px;margin-top:8px;display:grid}.teacher-matrix-wrap{overflow-x:auto}.teacher-matrix-table{table-layout:auto;border-collapse:collapse;width:auto;min-width:0;font-size:13px}.teacher-matrix-table th,.teacher-matrix-table td{border:1px solid var(--border);text-align:center;overflow-wrap:anywhere;padding:10px 12px}.teacher-matrix-table th{color:var(--text);opacity:.8;background:var(--bg);font-size:12px}.teacher-matrix-table td:first-child,.teacher-matrix-table th:first-child{text-align:left;background:var(--card-bg);z-index:1;min-width:200px;position:static}.teacher-matrix-table td:first-child{color:var(--text-h);flex-direction:column;gap:2px;display:flex}.teacher-matrix-table td:first-child small{color:var(--text);opacity:.7}.teacher-matrix-table th:not(:first-child),.teacher-matrix-table td:not(:first-child){width:90px;min-width:90px;max-width:120px}.teacher-matrix-cell{font-weight:900}.teacher-matrix-cell.good{color:var(--green-dark);background:#10b98124}.teacher-matrix-cell.warn{color:#b45309;background:#f59e0b29}.teacher-matrix-cell.poor{color:var(--red);background:#f43f5e1f}.teacher-matrix-cell.empty{opacity:.35}.teacher-wide-column{flex-basis:100%}.teacher-grade-progress-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:8px 0 16px;display:grid}.teacher-grade-progress-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.teacher-grade-progress-head{color:var(--text-h);justify-content:space-between;gap:10px;display:flex}.teacher-grade-progress-head span{color:var(--purple);font-weight:900}.teacher-grade-progress-card small{color:var(--text);opacity:.75;font-size:12px}.teacher-topic-progress-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;margin-bottom:16px;display:grid}.teacher-topic-progress-row{background:var(--card-bg);border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(100px,1fr) minmax(70px,1fr) 42px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:grid}.teacher-topic-progress-row span{color:var(--text-h);font-weight:700}.teacher-topic-progress-row strong{text-align:right;color:var(--purple)}.teacher-practice-summary{background:#10b9810f;border:1.5px solid #10b98159;border-radius:14px;margin:16px 0;padding:16px}.teacher-practice-summary h4{color:var(--green-dark);margin:0 0 4px}.teacher-practice-device-count{color:var(--green-dark);background:#10b98124;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}.teacher-practice-chart{border:1px solid var(--border);background:color-mix(in srgb, var(--card-bg) 82%, transparent);border-radius:12px;margin-top:14px;padding:12px 14px 10px}.teacher-practice-chart-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.teacher-practice-chart-heading strong{color:var(--text-h);font-size:13px}.teacher-practice-chart-heading span{color:var(--text);opacity:.7;font-size:11px}.teacher-practice-bars{grid-template-columns:repeat(7,minmax(24px,1fr));align-items:end;gap:10px;height:112px;margin-top:8px;display:grid}.teacher-practice-bar-day{grid-template-rows:15px minmax(0,1fr) 15px;place-items:end center;min-width:0;height:100%;display:grid}.teacher-practice-bar-day>span{color:var(--green-dark);font-size:10px;font-weight:900}.teacher-practice-bar-day>small{color:var(--text);opacity:.72;font-size:10px;font-weight:800}.teacher-practice-bar-track{background:color-mix(in srgb, var(--border) 62%, transparent);border-radius:7px 7px 3px 3px;width:min(28px,72%);height:100%;position:relative;overflow:hidden}.teacher-practice-bar-track i{background:linear-gradient(180deg, #34d399, var(--green-dark));border-radius:7px 7px 3px 3px;position:absolute;bottom:0;left:0;right:0}.teacher-practice-session-list{grid-template-columns:1fr;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.teacher-practice-session-list li,.teacher-practice-devices>div{border:1px solid var(--border);background:var(--card-bg);border-radius:11px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.teacher-practice-session-list li{grid-template-columns:minmax(90px,1fr) auto auto auto;min-width:0;padding-top:8px;padding-bottom:8px;display:grid}.teacher-practice-session-list li>strong{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.teacher-practice-session-list time,.teacher-practice-session-list li>span:not(.teacher-practice-breakdown){color:var(--text);opacity:.72;white-space:nowrap;font-size:11px}.teacher-practice-devices>div>span{flex-direction:column;gap:2px;min-width:0;display:flex}.teacher-practice-session-list small,.teacher-practice-devices small{color:var(--text);opacity:.72;font-size:11px}.teacher-practice-breakdown{color:var(--green-dark);white-space:nowrap;font-size:12px;font-weight:900}.teacher-practice-devices{border-top:1px solid var(--border);gap:8px;margin-top:12px;padding-top:12px;display:grid}@media (width<=1200px){.teacher-class-student-head{display:none}.teacher-class-student-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px 16px;padding:13px 14px}.teacher-class-student-name{grid-column:1/span 2}.teacher-class-progress{grid-column:3}.teacher-class-last-active{grid-column:4}.teacher-attempt-dots{flex-wrap:wrap;grid-column:1/span 2}.teacher-class-practice{grid-column:3}.teacher-class-efficiency{grid-column:4}.teacher-class-daily-bars{grid-column:1/-1;grid-template-rows:auto 38px;width:100%;max-width:240px;height:56px}.teacher-class-row-arrow{position:absolute;top:12px;right:14px}.teacher-class-student-row [data-label]:before{content:attr(data-label);color:var(--text);opacity:.55;letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:900;display:block}.teacher-attempt-dots[data-label]:before{flex-basis:100%}.teacher-class-daily-bars[data-label]:before{grid-column:1/-1}}@media (width<=850px){.teacher-summary-strip,.teacher-layout-grid{grid-template-columns:1fr}.teacher-sticky-roster{position:static}.teacher-dashboard-grid,.teacher-command-center{grid-template-columns:1fr}.teacher-student-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-student-summary-grid{grid-template-columns:1fr}.teacher-links-panel{position:static}.teacher-class-insights,.teacher-class-student-row{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-class-student-name{grid-column:1/-1;padding-right:24px}.teacher-class-progress{grid-column:1}.teacher-class-last-active{grid-column:2}.teacher-attempt-dots{grid-column:1/-1}.teacher-class-practice{grid-column:1}.teacher-class-efficiency{grid-column:2}.teacher-class-daily-bars{grid-column:1/-1}.teacher-dashboard-native{gap:14px;margin:-4px -2px 0}.teacher-dashboard-native .teacher-native-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 4px 4px}.teacher-native-header>div{text-align:center;min-width:0}.teacher-native-header small{color:var(--purple);letter-spacing:1.2px;font-size:10px;font-weight:900;display:block}.teacher-native-header strong{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.teacher-native-back,.teacher-native-logout{border:1.5px solid var(--border);background:var(--card-bg);min-height:40px;color:var(--text-h);box-shadow:none;border-radius:12px;padding:8px 11px;font-size:13px;font-weight:800}.teacher-native-logout{color:var(--red)}.teacher-native-tabs::-webkit-scrollbar{display:none}.teacher-native-tabs button{min-height:42px;color:var(--text);box-shadow:none;background:0 0;border-radius:11px;flex:1 0 auto;padding:8px 13px;font-size:13px;font-weight:800}.teacher-native-tabs button.active{background:var(--purple-gradient);color:#fff}.teacher-dashboard-native .teacher-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.teacher-dashboard-native .teacher-summary-strip>div,.teacher-dashboard-native .teacher-summary-strip>button{border-radius:15px;min-height:78px;padding:13px 10px}.teacher-dashboard-native .teacher-summary-strip strong{font-size:23px}.teacher-dashboard-native .teacher-summary-strip span{font-size:11px;line-height:1.25}.teacher-dashboard-native .teacher-section{box-shadow:none;border-width:1.5px;border-radius:18px;padding:16px}.teacher-dashboard-native .teacher-section h3{font-size:18px}.teacher-dashboard-native .teacher-section-hint{margin-bottom:12px;font-size:13px;line-height:1.45}.teacher-dashboard-native .teacher-layout-grid,.teacher-dashboard-native .teacher-main-stack{gap:14px}.teacher-dashboard-native .teacher-roster-panel{overflow:hidden}.teacher-dashboard-native .teacher-roster-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.teacher-dashboard-native .teacher-roster-header h3{flex:1}.teacher-dashboard-native .teacher-roster-header .teacher-section-hint{display:none}.teacher-dashboard-native .teacher-roster-list{scroll-snap-type:x proximity;scrollbar-width:none;grid-auto-columns:minmax(190px,72vw);grid-auto-flow:column;gap:9px;padding:1px 1px 6px;display:grid;overflow-x:auto}.teacher-dashboard-native .teacher-roster-list::-webkit-scrollbar{display:none}.teacher-dashboard-native .teacher-roster-item{scroll-snap-align:start;min-height:66px;margin-top:0}.teacher-dashboard-native .teacher-form-row{grid-template-columns:1fr;gap:11px;margin-bottom:11px;display:grid}.teacher-dashboard-native .teacher-form-row label{min-width:0}.teacher-dashboard-native .teacher-form-row input,.teacher-dashboard-native .teacher-form-row select{width:100%;min-height:50px;font-size:16px}.teacher-dashboard-native .teacher-generate-btn{width:100%;min-height:50px}.teacher-dashboard-native .teacher-mode-toggle{grid-template-columns:1fr 1fr;width:100%;display:grid}.teacher-dashboard-native .teacher-mode-toggle button{padding:10px 8px}.teacher-dashboard-native .teacher-section-header-row{align-items:flex-start}.teacher-dashboard-native .teacher-section-header-row>div{min-width:0}.teacher-dashboard-native .teacher-native-result-card{min-height:76px}.teacher-dashboard-native .teacher-native-result-card:hover{border-color:var(--purple);transform:none}.teacher-dashboard-native .teacher-native-assignment-card{flex-direction:column;align-items:stretch}.teacher-dashboard-native .teacher-native-assignment-actions{grid-template-columns:1fr auto;display:grid}.teacher-dashboard-native .teacher-native-assignment-actions button{min-height:42px}.teacher-dashboard-native .teacher-generated-actions{grid-template-columns:1fr;width:100%;display:grid}.teacher-dashboard-native .teacher-generated-actions>*{justify-content:center;width:100%;min-height:46px}.teacher-dashboard-native .teacher-checklist{max-height:none}.teacher-dashboard-native .teacher-group-picker,.teacher-dashboard-native .teacher-classroom-card-grid{grid-template-columns:1fr;max-height:none}.teacher-dashboard-native .teacher-student-kpi-grid{gap:8px}.teacher-dashboard-native .teacher-student-kpi-grid div{padding:12px}.teacher-dashboard-native .teacher-grade-progress-grid,.teacher-dashboard-native .teacher-topic-progress-grid,.teacher-dashboard-native .teacher-mini-row{grid-template-columns:1fr}.teacher-dashboard-native .teacher-mini-actions{justify-content:flex-start}.teacher-dashboard-native .teacher-matrix-wrap{margin-right:-16px;padding-right:16px;scroll-padding-right:16px}.teacher-login-native{justify-content:center;min-height:calc(100dvh - 100px)}.teacher-login-native .lesson-header{margin-bottom:0}.teacher-login-native .teacher-section{padding:20px 18px}.teacher-login-native .teacher-code-input{max-width:none}.teacher-login-native .teacher-login-code-actions{grid-template-columns:1fr;display:grid}.teacher-login-native .teacher-login-code-actions button{width:100%;min-height:44px}.teacher-dashboard-native .teacher-practice-session-list{grid-template-columns:1fr}.teacher-dashboard-native .teacher-practice-summary{padding:13px}}@media (width>=851px){.teacher-dashboard-native{gap:18px}.teacher-dashboard-native .teacher-native-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:4px 2px 0;display:grid}.teacher-dashboard-native .teacher-native-header>div{text-align:center;min-width:0}.teacher-dashboard-native .teacher-native-header small{color:var(--purple);letter-spacing:1.4px;font-size:11px;font-weight:900;display:block}.teacher-dashboard-native .teacher-native-header strong{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:16px;display:block;overflow:hidden}.teacher-dashboard-native .teacher-native-back,.teacher-dashboard-native .teacher-native-logout{border:1.5px solid var(--border);background:var(--card-bg);min-width:82px;min-height:44px;color:var(--text-h);box-shadow:none;border-radius:13px;padding:9px 14px;font-size:14px;font-weight:800}.teacher-dashboard-native .teacher-native-logout{color:var(--red)}.teacher-dashboard-native .teacher-native-tabs{z-index:10;border:1.5px solid var(--border);background:var(--card-bg);background:color-mix(in srgb, var(--card-bg) 94%, transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:16px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:6px;display:grid;position:sticky;top:0}.teacher-dashboard-native .teacher-native-tabs button{min-height:44px;color:var(--text);box-shadow:none;background:0 0;border-radius:11px;padding:9px 12px;font-size:14px;font-weight:800}.teacher-dashboard-native .teacher-native-tabs button.active{background:var(--purple-gradient);color:#fff}.teacher-dashboard-native .teacher-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-dashboard-native .teacher-summary-strip>div,.teacher-dashboard-native .teacher-summary-strip>button{border-radius:16px;min-height:90px}.teacher-dashboard-native .teacher-layout-grid{grid-template-columns:minmax(230px,28%) minmax(0,1fr);gap:18px}.teacher-dashboard-native .teacher-section{border-radius:18px}.teacher-dashboard-native .teacher-native-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.teacher-dashboard-native .teacher-native-result-card{min-height:88px}.teacher-dashboard-native .teacher-native-assignment-card{flex-direction:column;align-items:stretch}.teacher-dashboard-native .teacher-native-assignment-actions{margin-top:auto}.teacher-dashboard-native .teacher-topic-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-login-native{width:100%;max-width:720px;margin:7vh auto 0}}.student-assignment-root{background:var(--bg);min-height:100vh}.student-assignment-header{border-bottom:1.5px solid var(--border);justify-content:space-between;align-items:center;gap:18px;width:calc(100% - 32px);max-width:980px;margin:0 auto;padding:18px 0 10px;display:flex}.student-brand{background:var(--card-bg);color:var(--purple);border:1.5px solid var(--border);box-shadow:none;border-radius:8px;padding:8px 12px;font-weight:900}.student-assignment-header>div{text-align:right;flex:1;min-width:0}.student-assignment-label{color:var(--text);opacity:.75;font-size:13px;font-weight:800;display:block}.student-assignment-header h1{color:var(--text-h);overflow-wrap:anywhere;margin:2px 0 0;font-size:clamp(20px,3vw,30px);line-height:1.15}.student-assignment-main{padding-top:22px}.student-app-connect-wrap{width:min(980px,100% - 32px);margin:12px auto 0}.student-app-connect{color:var(--text-h);background:#10b98114;border:1.5px solid #10b98173;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.student-app-connect.connected{border-color:var(--green)}.student-app-connect-icon{width:42px;height:42px;color:var(--green-dark);background:#10b98129;border-radius:13px;place-items:center;font-size:21px;font-weight:900;display:grid}.student-app-connect-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.student-app-connect-copy span{color:var(--text);font-size:13px;line-height:1.4}.student-app-connect-copy small{color:var(--green-dark);font-weight:800}.student-app-connect-copy small.error{color:var(--red)}.student-app-pairing-code{border:1px solid color-mix(in srgb, var(--purple) 45%, var(--border));width:fit-content;color:var(--text-h);letter-spacing:.14em;box-shadow:none;background:0 0;border-radius:10px;margin-top:6px;padding:7px 12px;font-size:20px;font-weight:900}.student-app-connect>button{background:var(--green);color:#fff;white-space:nowrap;border-radius:12px;min-height:44px;padding:9px 15px;font-size:14px;font-weight:900}.student-app-connect>button:disabled{opacity:.55}.student-connect-page{min-height:100dvh;padding-bottom:max(28px, env(safe-area-inset-bottom));place-items:center;display:grid}.student-connect-card{background:var(--card-bg);border:1.5px solid var(--border);width:min(100%,520px);color:var(--text);box-shadow:var(--shadow);text-align:center;border-radius:24px;padding:28px}.student-connect-card h1{color:var(--text-h);margin:4px 0 10px}.student-connect-icon{background:var(--purple-gradient);color:#fff;border-radius:18px;place-items:center;width:58px;height:58px;margin:0 auto 12px;font-size:30px;display:grid}.student-pairing-code{width:min(100%,310px);color:var(--text-h);box-shadow:none;background:#6366f11a;border:1.5px solid #6366f166;border-radius:16px;gap:4px;margin:16px auto;padding:14px 18px;display:grid}.student-pairing-code span,.student-pairing-code small{font-size:12px}.student-pairing-code strong{letter-spacing:.16em;font-size:clamp(26px,9vw,38px)}.student-connect-steps{color:var(--text);text-align:left;margin:18px 0;padding-left:24px;line-height:1.6}.student-connect-privacy{color:var(--text-muted);line-height:1.45;display:block}.student-connect-success{color:var(--green-dark);font-weight:800}.student-connect-error{color:var(--red);font-weight:800}.teacher-practice-connect-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.teacher-practice-connect-actions .teacher-generate-btn{padding:8px 12px}.teacher-pairing-card{background:color-mix(in srgb, var(--purple) 9%, var(--card-bg));border:1.5px solid color-mix(in srgb, var(--purple) 40%, var(--border));border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;margin:14px 0;padding:16px;display:grid}.teacher-pairing-card>div:first-child{gap:4px;display:grid}.teacher-pairing-card>div:first-child small{color:var(--purple);letter-spacing:.08em;font-weight:900}.teacher-pairing-card>div:first-child strong{color:var(--text-h);letter-spacing:.14em;font-size:32px}.teacher-pairing-card>div:first-child span{color:var(--text);font-size:13px;line-height:1.4}.teacher-pairing-actions{gap:8px;display:grid}@media (width<=640px){.student-connect-card{padding:22px 18px}.teacher-pairing-card{text-align:center;grid-template-columns:1fr}.teacher-pairing-card>svg,.teacher-pairing-card>canvas{margin:0 auto}.teacher-pairing-actions{grid-template-columns:1fr 1fr}.teacher-practice-connect-actions{align-items:stretch;width:100%}}.student-dashboard{max-width:820px;margin:0 auto}.student-dashboard-hero{background:var(--card-bg);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:24px}.student-dashboard-hero h1{margin:4px 0}.student-dashboard-hero p{color:var(--text);margin:0;font-weight:700}.student-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.student-dashboard-stats>div{background:var(--card-bg);border:1.5px solid var(--border);box-shadow:var(--shadow);text-align:center;border-radius:14px;flex-direction:column;gap:2px;padding:16px;display:flex}.student-dashboard-stats strong{color:var(--purple);font-size:28px;line-height:1}.student-dashboard-stats span{color:var(--text);font-size:13px;font-weight:800}.student-result-card{background:var(--card-bg);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:18px 20px}.student-result-card-inline{width:min(100%,560px);margin:18px 0}.student-result-card h2,.student-result-card h3{color:var(--text-h);margin:4px 0 10px}.student-result-metrics{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.student-result-metrics strong{color:var(--purple);font-size:28px;line-height:1}.student-result-metrics span{color:var(--text);font-weight:800}.assignment-attempt-summary{border:1px solid var(--border);background:#6366f112;border-radius:10px;margin-top:18px;padding:14px}.assignment-attempt-summary>div{gap:3px;display:grid}.assignment-attempt-summary strong{color:var(--text-h)}.assignment-attempt-summary>div>span{color:var(--text);opacity:.82;font-size:13px}.assignment-attempt-summary ul{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.assignment-attempt-summary li{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:7px;padding:6px 9px;display:inline-flex}.assignment-attempt-summary li span{color:var(--purple);font-weight:900}.assignment-attempt-summary time{color:var(--text);opacity:.75;font-size:12px}.student-quest-portal{gap:20px;max-width:1100px;margin:0 auto;display:grid}.student-quest-hero{border:2px solid var(--purple);background:var(--card-bg);box-shadow:var(--shadow);border-radius:20px;padding:34px 40px}.student-quest-hero-top,.student-quest-identity,.student-quest-stats,.student-quest-section-heading,.student-quest-level,.student-quest-level>div,.student-attempt-row{align-items:center;display:flex}.student-quest-hero-top,.student-quest-section-heading{justify-content:space-between;gap:16px}.student-quest-identity{gap:12px}.student-quest-avatar{background:#6366f12e;border-radius:50%;place-items:center;width:48px;height:48px;font-size:26px;display:grid}.student-quest-badge,.student-quest-due{border:1px solid var(--purple);color:var(--purple);background:#6366f11a;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:900;display:inline-flex}.student-quest-due{color:#d79b1b;background:#d79b1b1c;border-color:#d79b1b8c}.student-quest-identity p,.student-quest-summary,.student-quest-level p{color:var(--text);opacity:.8;margin:4px 0 0}.student-quest-hero h1{margin:28px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.08}.student-quest-summary{max-width:760px;font-size:16px}.student-quest-stats{flex-wrap:wrap;gap:12px;margin-top:24px}.student-quest-stats span{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:12px;padding:12px 16px;font-weight:800}.student-quest-launch{background:var(--purple);color:#fff;border:0;border-radius:12px;margin-top:26px;padding:14px 24px;font-size:17px;font-weight:900;box-shadow:0 8px 22px #6366f14d}.student-quest-launch:hover{filter:brightness(1.08);transform:translateY(-1px)}.student-quest-section{border:1.5px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow);border-radius:16px;padding:24px}.student-quest-section-heading{margin-bottom:14px}.student-quest-section-heading h2{margin:0;font-size:20px}.student-quest-section-heading span{color:var(--text);opacity:.75;font-size:13px;font-weight:800}.student-quest-level{border:1.5px solid var(--purple);background:#6366f114;border-radius:12px;justify-content:space-between;gap:16px;padding:16px}.student-quest-level+.student-quest-level{margin-top:10px}.student-quest-level.complete{background:#10b98114;border-color:#10b981}.student-quest-level>div{gap:12px}.student-quest-level-icon{color:var(--purple);font-size:24px;font-weight:900}.student-quest-level.complete .student-quest-level-icon{color:#10b981}.student-quest-level strong{color:var(--text-h)}.student-quest-level button{background:var(--purple);color:#fff;white-space:nowrap;border:0;border-radius:9px;padding:9px 14px;font-weight:800}.student-quest-level.complete button{color:#0aa674;background:#10b9812e;border:1px solid #10b981}.student-attempt-list{gap:7px;display:grid}.student-attempt-row{background:var(--bg);border-radius:9px;grid-template-columns:1fr auto auto;gap:16px;padding:10px 12px;display:grid}.student-attempt-row strong{color:var(--purple)}.student-attempt-row time{color:var(--text);opacity:.75;font-size:13px}.student-topic-mastery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;display:grid}.student-topic-mastery-row{width:100%;box-shadow:none;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(125px,1fr) minmax(70px,1fr) 42px;align-items:center;gap:10px;padding:9px 0;font-size:13px;display:grid}.student-topic-mastery-row:hover:not(:disabled){box-shadow:none;background:#6366f114;transform:none}.student-topic-mastery-row:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.student-topic-mastery-row span{color:var(--text-h);font-weight:700}.student-topic-mastery-row div{background:#6366f124;border-radius:999px;height:7px;overflow:hidden}.student-topic-mastery-row i{border-radius:inherit;background:var(--purple);height:100%;display:block}.student-topic-mastery-row strong{color:var(--purple);text-align:right}.student-quest-activity-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.student-quest-activity-list li{border:0}.student-quest-activity-list button{width:100%;box-shadow:none;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;grid-template-columns:auto 1fr auto;align-items:flex-start;gap:10px;padding:10px 0;display:grid}.student-quest-activity-list button:hover p{color:var(--purple)}.student-quest-activity-list p{color:var(--text-h);margin:0}.student-quest-activity-list time{color:var(--text);opacity:.75;margin-top:3px;font-size:12px;display:block}.student-activity-replay{color:var(--purple);font-size:18px;font-weight:900}@media (width<=640px){.student-assignment-header{flex-direction:column;align-items:flex-start}.student-assignment-header>div{text-align:left}.student-app-connect{grid-template-columns:auto minmax(0,1fr)}.student-app-connect>button{grid-column:1/-1;width:100%}.student-dashboard-stats{grid-template-columns:1fr}.student-quest-hero{padding:24px 18px}.student-quest-hero-top,.student-quest-level{flex-direction:column;align-items:flex-start}.student-topic-mastery-grid{grid-template-columns:1fr}.student-attempt-row{grid-template-columns:1fr auto}.student-attempt-row time{grid-column:1/-1}.teacher-mini-row{grid-template-columns:1fr}.teacher-mini-actions{justify-content:flex-start}}.send-result-card{border:1.5px solid var(--border);background:#6366f10f;border-radius:16px;flex-direction:column;align-items:center;gap:8px;margin-top:20px;padding:18px;display:flex}.send-result-card h3{margin:0}.send-result-hint{opacity:.75;text-align:center;margin:0;font-size:13px}.send-result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.send-result-actions a{background:var(--card-bg);border:2px solid var(--purple);color:var(--purple);border-radius:12px;align-items:center;padding:8px 16px;font-weight:700;text-decoration:none;display:inline-flex}.custom-test-breakdown{flex-direction:column;gap:6px;width:100%;max-width:420px;margin:16px 0;padding:0;list-style:none;display:flex}.custom-test-breakdown li{background:var(--card-bg);border:1.5px solid var(--border);border-radius:12px;justify-content:space-between;gap:12px;padding:10px 16px;font-weight:600;display:flex}.certificate-wrapper{flex-direction:column;align-items:center;gap:14px;width:100%;margin-top:20px;display:flex}.certificate{aspect-ratio:297/210;background:#fdf8ef;border-radius:10px;width:600px;max-width:100%;padding:14px;box-shadow:0 14px 34px #00000059}.certificate-border{box-sizing:border-box;text-align:center;border:3px solid #c9a227;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;padding:20px;display:flex;position:relative;overflow:hidden}.certificate-watermark{opacity:.08;color:#c9a227;letter-spacing:10px;pointer-events:none;justify-content:center;align-items:center;font-size:40px;display:flex;position:absolute;inset:0}.certificate-seal{font-size:30px;position:absolute;top:14px;right:18px}.certificate-eyebrow{text-transform:uppercase;letter-spacing:3px;color:#8a6d1f;margin:0;font-size:13px;font-weight:700}.certificate-name{color:#3a2e0f;margin:6px 0;font-family:Georgia,Times New Roman,serif;font-size:32px;font-style:italic}.certificate-body{color:#5a4a2a;margin:0;font-size:14px}.certificate-level{color:#3a2e0f;margin:4px 0 8px;font-size:19px}.certificate-score{color:#8a6d1f;margin:0 0 8px;font-size:16px;font-weight:700}.certificate-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:80%;margin:10px auto 0;display:grid}.certificate-details div{border-top:1px solid #9a771940;min-width:0;padding-top:6px}.certificate-details dt{color:#8a6d1f;text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:800}.certificate-details dd{color:#3a2e0f;overflow-wrap:anywhere;margin:2px 0 0;font-size:12px;font-weight:700}.certificate-footer{color:#8a6d1f;justify-content:space-between;width:100%;margin-top:auto;font-size:12px;font-weight:600;display:flex}.certificate-download-btn{background:var(--purple-gradient);color:#fff;border-radius:14px;padding:12px 24px;font-weight:800}.certificate-download-btn:disabled{opacity:.6;cursor:not-allowed}.certificate-error{color:var(--red);margin:0;font-size:13px}.issues-page{box-sizing:border-box;width:min(1180px,100%);min-height:100vh;color:var(--text);margin:0 auto;padding:36px 24px 72px}.issues-header{justify-content:space-between;align-items:flex-start;gap:28px;margin-bottom:26px;display:flex}.issues-brand{color:var(--text-h);margin-bottom:22px;font-size:22px;font-weight:950;text-decoration:none;display:inline-block}.issues-eyebrow{color:var(--purple);letter-spacing:.12em;margin-bottom:7px;font-size:12px;font-weight:900;display:block}.issues-header h1,.issues-login-card h1{color:var(--text-h);margin:0 0 8px;font-size:clamp(30px,5vw,48px)}.issues-header p,.issues-login-card>p{opacity:.75;margin:0}.issues-admin-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;padding-top:6px;display:flex}.issues-admin-actions span{text-align:right;opacity:.7;width:100%;font-size:12px}.issues-admin-actions button,.issues-admin-actions a,.issues-text-button{border:1.5px solid var(--border);background:var(--card-bg);color:var(--text-h);box-shadow:none;border-radius:10px;align-items:center;padding:9px 13px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.issues-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.issues-summary button{border:1.5px solid var(--border);background:var(--card-bg);min-height:80px;color:var(--text);box-shadow:none;border-radius:14px;padding:12px}.issues-summary button.active{border-color:var(--purple);background:#6366f11f}.issues-summary strong,.issues-summary span{display:block}.issues-summary strong{color:var(--text-h);margin-bottom:4px;font-size:27px}.issues-summary span{opacity:.75;font-size:12px;font-weight:800}.issues-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.issues-toolbar label{flex:1}.issues-toolbar input{box-sizing:border-box;border:1.5px solid var(--border);background:var(--card-bg);width:100%;min-height:46px;color:var(--text-h);font:inherit;border-radius:12px;padding:11px 15px;font-size:15px}.issues-toolbar input:focus{border-color:var(--purple);outline:3px solid #6366f129}.issues-toolbar>span{white-space:nowrap;opacity:.7;font-size:13px;font-weight:800}.issues-list{gap:14px;display:grid}.issue-card{border:1.5px solid var(--border);border-left:5px solid var(--amber);background:var(--card-bg);box-shadow:var(--shadow);border-radius:16px;padding:20px}.issue-card-reviewing{border-left-color:var(--purple)}.issue-card-resolved{border-left-color:var(--green)}.issue-card-dismissed{opacity:.78;border-left-color:#94a3b8}.issue-card-topline{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:11px;font-weight:800;display:flex}.issue-card-topline time{opacity:.65;margin-left:auto}.issue-status,.issue-source,.issue-grade{background:#94a3b821;border-radius:999px;align-items:center;padding:5px 9px;font-size:11px;font-weight:900;display:inline-flex}.issue-status-open{color:#b66b00;background:#f59e0b26}.issue-status-reviewing{color:var(--purple);background:#6366f126}.issue-status-resolved{color:var(--green-dark);background:#10b98126}.issue-card-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.issue-category{color:var(--red);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:900}.issue-card h2{color:var(--text-h);margin:4px 0 7px;font-size:19px;line-height:1.35}.issue-card code{color:var(--text);opacity:.65;overflow-wrap:anywhere;font-size:11px}.issue-grade{color:var(--purple);flex:none}.issue-detail{color:var(--text-h);white-space:pre-wrap;background:#94a3b817;border-radius:11px;margin:16px 0;padding:13px 15px}.issue-card details{margin-bottom:15px;font-size:13px}.issue-card summary{cursor:pointer;color:var(--purple);font-weight:800}.issue-card details p{margin:8px 0 0}.issue-reporter{grid-template-columns:auto 1fr;gap:2px 9px;margin-bottom:16px;font-size:13px;display:grid}.issue-reporter span{opacity:.65;grid-row:span 2}.issue-reporter strong{color:var(--text-h)}.issue-reporter small{opacity:.65}.issue-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-top:14px;display:flex}.issue-actions button{border:1.5px solid var(--border);background:var(--card-bg);color:var(--text-h);box-shadow:none;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:800}.issue-actions .issue-resolve-button{border-color:var(--green);color:var(--green-dark)}.issue-actions .issue-dismiss-button{color:var(--red);margin-left:auto}.issues-loading,.issues-empty{border:1.5px dashed var(--border);text-align:center;border-radius:16px;padding:60px 20px}.issues-empty span{color:var(--green);font-size:36px;font-weight:900}.issues-empty h2{color:var(--text-h);margin:8px 0 4px}.issues-empty p{opacity:.7;margin:0}.issues-error{color:var(--red);background:#f43f5e1c;border-radius:10px;padding:11px 13px;font-size:13px;font-weight:800}.issues-login-page{flex-direction:column;justify-content:center;max-width:520px;display:flex}.issues-login-card{border:1.5px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow-lg);border-radius:20px;padding:28px}.issues-login-card form{gap:13px;margin-top:24px;display:grid}.issues-login-card label{color:var(--text-h);gap:7px;font-size:13px;font-weight:800;display:grid}.issues-login-card input{box-sizing:border-box;border:1.5px solid var(--border);background:var(--surface,var(--card-bg));width:100%;min-height:48px;color:var(--text-h);font:inherit;border-radius:11px;padding:11px 14px;font-size:16px}.issues-login-card form>button[type=submit],.issues-login-card>button{background:var(--purple-gradient);color:#fff;border:0;border-radius:11px;min-height:48px;font-size:15px;font-weight:900}.issues-code-input{letter-spacing:.25em;text-align:center;font-weight:900;font-size:21px!important}.class-exam-page{box-sizing:border-box;width:min(720px,100%);min-height:100vh;color:var(--text);margin:0 auto;padding:48px 24px 72px}.class-exam-card{border:1.5px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow-lg);border-radius:20px;padding:28px}.class-exam-eyebrow{color:var(--purple);letter-spacing:.08em;margin-bottom:7px;font-size:12px;font-weight:900;display:block}.class-exam-card h1{color:var(--text-h);margin:0 0 8px;font-size:clamp(26px,5vw,36px)}.class-exam-card>p{opacity:.75;margin:0}.class-exam-card form{gap:13px;margin-top:24px;display:grid}.class-exam-card label{color:var(--text-h);gap:7px;font-size:13px;font-weight:800;display:grid}.class-exam-card input{box-sizing:border-box;border:1.5px solid var(--border);background:var(--surface,var(--card-bg));width:100%;min-height:48px;color:var(--text-h);font:inherit;border-radius:11px;padding:11px 14px;font-size:16px}.class-exam-card form>button{background:var(--purple-gradient);color:#fff;min-height:48px;box-shadow:none;border:0;border-radius:11px;font-size:15px;font-weight:900}.class-exam-progress{color:var(--text-muted);margin-bottom:14px;font-size:13px;font-weight:800}.class-exam-loading{border:1.5px dashed var(--border);text-align:center;border-radius:16px;padding:60px 20px}.review-context-card{margin-bottom:18px}.review-context-label{opacity:.65;margin:0 0 4px;font-size:13px;font-weight:800}.review-context-message{color:var(--text-h);margin:0}.review-verdict-card{text-align:center;margin-top:18px}.review-verdict-card>p{color:var(--text-h);opacity:1;margin:0 0 14px;font-weight:800}.review-verdict-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.review-verdict-good,.review-verdict-bad{cursor:pointer;border:0;border-radius:11px;min-height:48px;padding:0 22px;font-size:15px;font-weight:900}.review-verdict-good{color:#fff;background:#059669}.review-verdict-bad{background:var(--purple-gradient);color:#fff}.review-comment-box{gap:12px;display:grid}.review-comment-box textarea{box-sizing:border-box;border:1.5px solid var(--border);background:var(--surface,var(--card-bg));width:100%;color:var(--text-h);font:inherit;resize:vertical;border-radius:11px;padding:11px 14px;font-size:15px}.class-exam-error{border:1.5px solid var(--border);color:var(--text-h);background:#ef44441a;border-radius:11px;margin-bottom:14px;padding:11px 13px}.answer-review-form{gap:16px;margin-top:20px;display:grid}.answer-review-marks-field{align-items:center;flex-direction:row!important;gap:8px!important;display:flex!important}.answer-review-marks-field input{flex:none;width:90px!important}.answer-review-marks-field span{opacity:.75;font-weight:700}.answer-review-feedback-field textarea{box-sizing:border-box;border:1.5px solid var(--border);background:var(--surface,var(--card-bg));width:100%;color:var(--text-h);font:inherit;resize:vertical;border-radius:11px;padding:11px 14px;font-size:15px}@media (width<=700px){.issues-page{padding:24px 14px 48px}.issues-header{display:block}.issues-admin-actions{justify-content:flex-start;margin-top:18px}.issues-admin-actions span{text-align:left}.issues-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.issues-summary button{min-height:70px}.issues-toolbar{flex-direction:column;align-items:stretch;gap:8px}.issue-card{padding:16px}.issue-card-topline time{width:100%;margin:2px 0 0}.issue-dismiss-button{margin-left:0!important}}.issues-filter{color:var(--text-h);align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex;flex:none!important}.issues-filter select,.issues-status-select{border:1.5px solid var(--border);background:var(--card-bg);min-height:40px;color:var(--text-h);font:inherit;border-radius:9px;padding:8px 30px 8px 10px;font-size:13px;font-weight:700}.issues-table-wrap{border:1.5px solid var(--border);background:var(--card-bg);width:100%;box-shadow:var(--shadow);border-radius:14px;overflow-x:auto}.issues-table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%;min-width:0}.issues-table th{border-bottom:1.5px solid var(--border);color:var(--text);letter-spacing:.04em;text-transform:uppercase;background:#94a3b814;padding:11px 12px;font-size:11px;font-weight:900}.issues-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:top;padding:11px 12px;font-size:12px}.issues-table tbody tr:last-child td{border-bottom:0}.issues-table tbody tr:hover{background:#6366f10b}.issues-report-table tbody tr.selected{background:#6366f11c}.issues-report-table th:first-child{width:4%}.issues-report-table th:nth-child(2){width:7%}.issues-report-table th:nth-child(3){width:18%}.issues-report-table th:nth-child(4){width:24%}.issues-report-table th:nth-child(5){width:11%}.issues-report-table th:nth-child(6){width:8%}.issues-report-table th:nth-child(7){width:13%}.issues-report-table th:nth-child(8){width:15%}.issues-table td>strong,.issues-table td>small,.issues-table td>span,.issues-table td>time{display:block}.issues-table td>strong{color:var(--text-h);font-size:12px}.issues-table td>small,.issues-table td>time{opacity:.65;margin-top:3px;font-size:10px}.admin-section-nav{border:1.5px solid var(--border);background:var(--card-bg);border-radius:14px;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:6px;display:flex}.admin-section-nav button{min-height:42px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:8px 16px;font-weight:800}.admin-section-nav button:hover,.admin-section-nav button.active{background:var(--purple);color:#fff}.admin-section-nav button span{opacity:.75;margin-left:4px}.issues-comp-accounts{margin-bottom:22px}.issues-comp-accounts h2{color:var(--text-h);margin:0 0 4px;font-size:18px}.issues-comp-accounts h2 span{opacity:.6;font-weight:700}.issues-comp-accounts .issues-section-hint{opacity:.65;margin:0 0 10px;font-size:13px}.issues-pilot-form{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0 10px;display:flex}.issues-pilot-form label{min-width:240px;color:var(--text-h);flex:1;gap:5px;font-size:12px;font-weight:800;display:grid}.issues-pilot-form input{border:1.5px solid var(--border);background:var(--card-bg);min-height:42px;color:var(--text-h);font:inherit;border-radius:10px;padding:0 12px}.issues-pilot-form button,.issues-revoke-btn,.issues-export-btn{background:var(--purple);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:42px;padding:0 14px;font-weight:800}.issues-revoke-btn{background:var(--red);min-height:34px}.issues-export-btn{white-space:nowrap}.issues-pilot-form button:disabled,.issues-revoke-btn:disabled,.issues-export-btn:disabled{opacity:.45;cursor:not-allowed}.issues-success{color:#059669;margin:8px 0;font-size:13px;font-weight:700}.issues-comp-table{min-width:640px}.issues-comp-table th:first-child{width:auto}.issues-comp-table th:nth-child(2){width:90px}.issues-comp-table th:nth-child(3){width:180px}.issues-comp-table th:nth-child(4){width:100px}.issues-table-issue strong{margin-bottom:4px;color:var(--red)!important}.issues-table-issue span,.issues-table-question strong,.issues-question-link{overflow-wrap:anywhere;white-space:pre-wrap;-webkit-user-select:text;user-select:text;line-height:1.35;overflow:visible;display:block!important}.issues-table-question span{opacity:.6;margin-top:4px;font-family:monospace;font-size:10px}.issues-question-link{width:100%;color:var(--text-h);font:inherit;text-align:left;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:13px;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:color .15s,text-decoration-color .15s;box-shadow:none!important;transform:none!important}.issues-question-link:hover:not(:disabled){color:var(--purple);text-decoration-color:currentColor;transform:none;box-shadow:none!important}.issues-question-link:focus-visible{outline:2px solid var(--purple);outline-offset:4px}.issues-table-source time{line-height:1.35}.issues-status-select{width:100%;min-height:34px;padding:6px 24px 6px 8px;font-size:12px}.issues-share-btn{border:1.5px solid var(--border);background:var(--card-bg);width:100%;min-height:34px;color:var(--text-h);white-space:nowrap;cursor:pointer;border-radius:8px;padding:0 12px;font-size:12px;font-weight:800}.issues-share-btn:hover{border-color:var(--purple);color:var(--purple)}.issues-table-actions{gap:7px;display:grid}.issues-copy-all-btn{background:#0f766e}.issues-bulk-bar{border:1.5px solid var(--border);background:var(--card-bg);border-radius:12px;align-items:center;gap:12px;margin:-6px 0 14px;padding:11px 13px;display:flex}.issues-select-all,.issues-bulk-status{color:var(--text-h);align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.issues-select-all{cursor:pointer;margin-right:auto}.issues-select-all input,.issues-select-cell input{width:18px;height:18px;accent-color:var(--purple);cursor:pointer;margin:0}.issues-bulk-bar>strong{white-space:nowrap;color:var(--purple);font-size:12px}.issues-bulk-status select{border:1.5px solid var(--border);background:var(--card-bg);min-height:38px;color:var(--text-h);font:inherit;border-radius:9px;padding:7px 30px 7px 10px}.issues-bulk-apply,.issues-bulk-clear{border-radius:9px;min-height:38px;padding:7px 13px;font-size:12px;font-weight:800}.issues-bulk-clear{border:1.5px solid var(--border);color:var(--text-h);box-shadow:none;background:0 0}.issues-bulk-clear:hover:not(:disabled){border-color:var(--purple);color:var(--purple);box-shadow:none;transform:none}.issues-select-cell{text-align:center}.issue-status-dismissed{color:var(--text);background:#94a3b829}@media (width<=900px){.issues-report-table-wrap{box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.issues-report-table,.issues-report-table tbody{width:100%;display:block}.issues-report-table thead{display:none}.issues-report-table tbody{gap:12px;display:grid}.issues-report-table tbody tr{border:1.5px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow);border-radius:12px;grid-template-columns:40px minmax(0,1fr);padding:6px 0;display:grid}.issues-report-table tbody tr.selected{background:#6366f11c}.issues-report-table td{overflow-wrap:anywhere;border:0;grid-column:2;grid-template-columns:minmax(96px,28%) minmax(0,1fr);gap:4px 10px;padding:8px 12px 8px 0;display:grid}.issues-report-table td:before{content:attr(data-label);color:var(--text);letter-spacing:.04em;text-transform:uppercase;grid-area:1/1;font-size:10px;font-weight:900}.issues-report-table td:not(.issues-select-cell)>*{grid-column:2}.issues-report-table .issues-select-cell{grid-area:1/1/span 7;justify-content:center;align-items:flex-start;padding:13px 0 0;display:flex}.issues-report-table .issues-select-cell:before{content:none}.issues-status-select,.issues-share-btn{max-width:220px}.issues-table-actions{gap:7px}.issues-bulk-bar{flex-wrap:wrap;align-items:stretch}.issues-select-all{width:100%}}@media (width<=700px){.issues-filter{justify-content:space-between;width:100%}.issues-filter select{flex:1}.issues-table-wrap{border-radius:10px}.issues-bulk-bar{flex-wrap:wrap;align-items:stretch}.issues-select-all{width:100%}.issues-bulk-status{flex:190px;justify-content:space-between}.issues-bulk-status select{flex:1}}.ios-app-showcase-section{margin:20px 0;padding:30px 0}.ios-showcase-container{background:radial-gradient(circle at 50% 0%, #6366f126, transparent 70%), var(--card-bg);border:1px solid var(--border);max-width:1140px;box-shadow:var(--shadow-lg);color:var(--text-h);border-radius:36px;margin:0 auto;padding:40px}.ios-showcase-header{text-align:left;margin:0 0 28px}.ios-showcase-header h2{color:var(--text-h);margin:0 0 14px;font-size:34px;font-weight:800;line-height:1.2}.ios-showcase-header p{color:var(--text);font-size:16px}.ios-showcase-grid{grid-template-columns:1fr 1.15fr;align-items:center;gap:40px;display:grid}.ios-feature-cards{flex-direction:column;gap:12px;display:flex}.ios-feature-card{background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:20px;padding:16px 20px;transition:all .25s}.ios-feature-card:hover{background:#6366f114;border-color:#6366f166}.ios-feature-card.active{background:linear-gradient(135deg,#6366f138 0%,#8b5cf61f 100%);border-color:#6366f1;box-shadow:0 10px 25px #6366f126}.ios-feature-card.teacher-hub-highlight{border-color:#10b9814d}.ios-feature-card.teacher-hub-highlight.active{background:linear-gradient(135deg, #10b98133 0%, var(--card-bg) 100%);border-color:#10b981;box-shadow:0 10px 25px #10b98126}.feature-card-header{align-items:flex-start;gap:14px;display:flex}.feature-icon{background:#6366f11a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.feature-icon.teacher-icon{background:#10b98126}.feature-titles h3{color:var(--text-h);margin:0;font-size:16px;font-weight:800}.feature-titles p{color:var(--text);margin:2px 0 0;font-size:13px;line-height:1.4}.feature-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.teacher-tag{color:var(--green-dark);background:#10b98129;border-radius:8px;padding:2px 8px;font-size:10px;font-weight:800}.new-tag{color:#c2410c;background:#f973162e;border-radius:8px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:800}:root[data-theme=dark] .new-tag{color:#fb923c}.ios-phone-column{justify-content:center;display:flex}.watch-frame{background:linear-gradient(160deg,#0d0f1e 0%,#2f1a4a 100%);border:9px solid #1c2237;border-radius:50px;justify-content:center;align-items:center;width:210px;height:250px;display:flex;position:relative;box-shadow:0 25px 60px #000000b3,inset 0 0 2px #ffffff40}.watch-crown{background:#1c2237;border-radius:4px;width:9px;height:38px;position:absolute;top:50%;right:-9px;transform:translateY(-50%)}.watch-screen{color:#fff;text-align:center;width:100%;padding:0 18px}.watch-bpm{font-size:38px;font-weight:900;line-height:1}.watch-bpm-label{letter-spacing:.5px;color:#ffffff8c;margin-top:2px;font-size:9px;font-weight:800}.watch-dots{justify-content:center;gap:6px;margin:10px 0;display:flex}.watch-dot{background:#ffffff40;border-radius:50%;width:8px;height:8px}.watch-dot.active{background:#fb923c;width:10px;height:10px}.watch-gap-row{background:#ffffff1a;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:9px;padding:7px 10px;font-size:11px;font-weight:700;display:flex}.watch-toggle{background:#fb923c;border-radius:7px;width:24px;height:14px;position:relative}.watch-toggle:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;top:2px;right:2px}.watch-play{color:#0d0f1e;background:#fff;border-radius:15px;padding:7px 0;font-size:12px;font-weight:800}.iphone-frame{-webkit-user-select:none;user-select:none;background:#000;border:10px solid #1c2237;border-radius:46px;flex-direction:column;width:330px;height:672px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 60px #000000b3,inset 0 0 2px #ffffff4d}.dynamic-island{z-index:30;background:#000;border-radius:20px;width:86px;height:22px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.iphone-status-bar{color:#fff;z-index:25;justify-content:space-between;font-size:11px;font-weight:700;display:flex;position:absolute;top:12px;left:18px;right:18px}.iphone-screen{color:#fff;background:linear-gradient(#0d1121 0%,#151a2e 100%);flex-direction:column;flex:1;padding:40px 12px 0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:relative;overflow:hidden}.screen-content{flex-direction:column;flex:1;padding-bottom:8px;display:flex;overflow-y:auto}.screen-content::-webkit-scrollbar{display:none}.app-header-row{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.app-screen-title{font-size:18px;font-weight:800}.app-xp-badge{color:#f59e0b;font-size:11px;font-weight:800}.app-card{background:#1a2138b3;border:1px solid #ffffff14;border-radius:16px;margin-bottom:8px;padding:12px}.ninja-progress-row{align-items:center;gap:10px;display:flex}.ninja-avatar{background:#1e293b;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.ninja-info{flex:1}.ninja-text{font-size:11px;font-weight:700}.ninja-bar-track{background:#334155;border-radius:2px;height:4px;margin-top:4px}.ninja-bar-fill{background:#6366f1;border-radius:2px;height:100%}.teacher-hub-card{background:linear-gradient(135deg,#10b98126 0%,#1a2138cc 100%);border-color:#10b98166}.teacher-hub-header-row{align-items:center;gap:10px;display:flex}.teacher-avatar-icon{font-size:22px}.teacher-hub-title{color:#34d399;font-size:13px;font-weight:800}.teacher-hub-sub{color:#94a3b8;font-size:10px;line-height:1.3}.exam-card-title{font-size:11px;font-weight:800}.exam-card-sub{color:#94a3b8;margin-bottom:4px;font-size:9px}.exam-board-dropdown{background:#1e2640;border-radius:8px;justify-content:space-between;padding:6px 10px;font-size:11px;font-weight:700;display:flex}.theory-practice-title{margin:4px 0 6px;font-size:12px;font-weight:800}.grade-tiles-mini-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.grade-tile-mini{text-align:center;background:#1e2945cc;border:1px solid #ffffff14;border-radius:12px;padding:8px 4px}.tile-grade-lbl{color:#94a3b8;font-size:8px}.tile-grade-num{color:#818cf8;font-size:14px;font-weight:800}.metro-control-row{justify-content:center;align-items:center;gap:14px;margin-top:6px;display:flex}.metro-step-btn{background:#1e2640;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-weight:800;display:flex}.metro-big-bpm{color:#fff;font-size:40px;font-weight:900}.metro-bpm-unit{text-align:center;color:#94a3b8;letter-spacing:2px;margin-top:-6px;font-size:9px;font-weight:800}.metro-beat-dots{justify-content:center;gap:8px;margin:14px 0;display:flex}.metro-beat-dots .dot{background:#fff3;border-radius:50%;width:10px;height:10px}.metro-beat-dots .dot.active{background:#818cf8;box-shadow:0 0 8px #818cf8}.metro-slider-track{background:#232d4b;border-radius:2px;height:4px;margin:12px 6px;position:relative}.metro-slider-fill{background:#818cf8;border-radius:2px;height:100%}.metro-slider-thumb{background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:-4px;transform:translate(-50%)}.metro-range-labels{color:#94a3b8;justify-content:space-between;margin-bottom:12px;padding:0 6px;font-size:10px;display:flex}.metro-option-row{background:#192036;border-radius:10px;justify-content:space-between;margin-bottom:8px;padding:8px 10px;font-size:11px;display:flex}.metro-action-group{gap:8px;margin-top:10px;display:flex}.tap-tempo-btn{text-align:center;color:#fff;background:#222b47;border:none;border-radius:14px;flex:1;padding:10px;font-size:11px;font-weight:700}.play-pulse-btn{color:#000;background:#fff;border:none;border-radius:18px;width:44px;font-size:14px;font-weight:900}.tuner-subtitle{color:#94a3b8;margin-bottom:8px;font-size:10px}.instrument-selector-pills{text-align:center;background:#151c30;border-radius:10px;gap:4px;margin-bottom:8px;padding:3px;font-size:10px;display:flex}.instrument-selector-pills span{color:#94a3b8;cursor:pointer;border-radius:8px;flex:1;padding:4px}.instrument-selector-pills span.active{color:#fff;background:#2a365c;font-weight:700}.tuner-arc-wrapper{border:2px dashed #ffffff4d;border-bottom:none;border-radius:90px 90px 0 0;width:160px;height:80px;margin:12px auto 0;position:relative}.tuner-needle{transform-origin:bottom;background:#fff;border-radius:2px;width:3px;height:65px;transition:transform .4s;position:absolute;bottom:0;left:50%}.detected-note-lbl{text-align:center;color:#94a3b8;letter-spacing:1px;margin-top:8px;font-size:9px;font-weight:800}.detected-note-val{text-align:center;color:#fff;margin-top:-4px;font-size:38px;font-weight:900}.detected-cents{text-align:center;color:#94a3b8;font-size:11px;font-weight:700}.start-tuning-btn{color:#000;text-align:center;background:#fff;border:none;border-radius:18px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:12px;padding:10px;font-size:12px;font-weight:800;display:flex}.practice-sub{color:#94a3b8;margin-bottom:6px;font-size:10px}.user-synced-pill{background:#192036;border-radius:10px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:11px;display:flex}.synced-tag{color:#34d399;font-size:9px;font-weight:700}.practice-stats-grid{text-align:center;background:#192036;border-radius:10px;justify-content:space-around;margin:8px 0;padding:8px;display:flex}.stat-val{color:#fff;font-size:11px;font-weight:800}.stat-lbl{color:#94a3b8;font-size:8px}.practice-ring-card{border:5px solid #232d4b;border-top-color:#f43f5e;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:120px;height:120px;margin:10px auto;display:flex}.ring-timer-text{color:#fff;font-size:24px;font-weight:900}.ring-efficiency-text{color:#94a3b8;font-size:9px}.start-practice-btn{color:#000;text-align:center;background:#fff;border:none;border-radius:18px;width:100%;margin-top:8px;padding:10px;font-size:12px;font-weight:800}.quick-record-card{color:#000;text-align:center;background:#fff;border-radius:14px;margin-bottom:16px;padding:20px}.record-target-icon{font-size:28px}.record-card-lbl{margin-top:2px;font-size:15px;font-weight:900}.no-recordings-block{text-align:center;color:#64748b;margin-top:15px}.mic-icon{font-size:22px}.no-rec-text{margin-top:4px;font-size:11px}.rhythm-coach-hint{color:#94a3b8;align-items:center;gap:6px;margin-top:10px;font-size:10px;display:flex}.app-bottom-nav{z-index:20;background:#0c0f1cf2;border-top:1px solid #ffffff14;justify-content:space-around;align-items:center;height:56px;margin-top:auto;padding:0 2px;display:flex;position:relative}.app-nav-item{color:#64748b;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;font-size:8px;font-weight:700;transition:all .2s;display:flex}.app-nav-item.active{color:#fff;background:#ffffff1f}.nav-icn{font-size:14px}.ios-download-bar{background:var(--bg);border:1px solid var(--border);border-radius:24px;justify-content:space-between;align-items:center;gap:20px;margin-top:36px;padding:24px 30px;display:flex}.download-text-group h3{color:var(--text-h);margin:0;font-size:20px;font-weight:800}.download-text-group p{color:var(--text);margin:4px 0 0;font-size:13px}.download-brand-group{text-align:left;align-items:center;gap:14px;display:flex}.musicx-app-icon{border-radius:15px;flex:0 0 64px;width:64px;height:64px;box-shadow:0 8px 24px #0f172a33}.download-actions-group{align-items:center;gap:16px;display:flex}.app-store-official-badge{align-items:center;line-height:0;transition:transform .2s,filter .2s;display:inline-flex}.app-store-official-badge img{width:150px;height:auto;display:block}.app-store-official-badge:hover{filter:brightness(1.08);transform:translateY(-2px)}.app-store-badge-link{color:#fff;background:#000;border:1px solid #fff3;border-radius:14px;align-items:center;gap:10px;padding:8px 18px;text-decoration:none;transition:all .2s;display:inline-flex}.app-store-badge-link:hover{background:#1e293b;transform:translateY(-2px)}.apple-logo-icn{font-size:24px}.badge-text{text-align:left}.badge-sub{opacity:.8;text-transform:uppercase;font-size:9px;display:block}.badge-main{font-size:14px;font-weight:800;display:block}.qr-wrapper{border-radius:12px;justify-content:center;align-items:center;display:flex}.qr-wrapper .qr-code{margin-top:0}@media (width<=900px){.ios-showcase-container{padding:24px}.ios-showcase-grid{grid-template-columns:1fr}.ios-phone-column{margin-top:30px}.ios-download-bar{text-align:center;flex-direction:column}.download-brand-group,.download-actions-group{justify-content:center}}@media (width<=480px){.ios-showcase-container{padding:16px}}@media (width<=400px){.iphone-frame{transform-origin:top;margin-bottom:-94px;transform:scale(.86)}}.class-exam-results-table .class-exam-sub-row{cursor:pointer}.class-exam-sub-toggle{text-align:right;color:var(--text-muted);width:28px;font-size:12px}.class-exam-provisional{color:#b45309;font-size:12px;font-weight:700}:root[data-theme=dark] .class-exam-provisional{color:#fbbf24}.class-exam-sub-detail-row td{background:#6366f10a}.class-exam-answer-list{flex-direction:column;gap:12px;margin:6px 0 12px;padding-left:26px;list-style:decimal;display:flex}.class-exam-answer{flex-direction:column;gap:4px;display:flex}.class-exam-answer-prompt{color:var(--text-h);font-weight:700}.class-exam-answer-given{color:var(--text);font-size:14px}.class-exam-answer-given em{color:var(--text-muted)}.class-exam-answer-mark{font-size:14px;font-weight:700}.class-exam-answer-mark.is-correct{color:#15803d}.class-exam-answer-mark.is-wrong{color:#b91c1c}:root[data-theme=dark] .class-exam-answer-mark.is-correct{color:#4ade80}:root[data-theme=dark] .class-exam-answer-mark.is-wrong{color:#f87171}.class-exam-answer-manual{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.class-exam-answer-manual label{color:var(--text-h);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.class-exam-answer-manual input{border:1.5px solid var(--border);background:var(--bg);width:68px;min-height:36px;color:var(--text-h);border-radius:8px;padding:4px 8px}.class-exam-awaiting{color:#b45309;font-size:12px;font-weight:700}:root[data-theme=dark] .class-exam-awaiting{color:#fbbf24}.class-exam-marked{color:#15803d;font-size:12px;font-weight:700}:root[data-theme=dark] .class-exam-marked{color:#4ade80}.seo-learning-page{padding:44px 20px 80px}.seo-page-shell{width:min(1040px,100%);margin:0 auto}.seo-breadcrumb{color:var(--text-muted);gap:9px;margin-bottom:34px;font-size:14px;display:flex}.seo-breadcrumb a{color:#6366f1;font-weight:700;text-decoration:none}.seo-page-hero{max-width:820px}.seo-page-hero h1{color:var(--text-h);letter-spacing:-.045em;margin:16px 0;font-size:clamp(2.25rem,6vw,4.6rem);line-height:1.02}.seo-page-hero>p{max-width:720px;color:var(--text-muted);margin:0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.7}.seo-primary-cta{margin-top:28px;text-decoration:none;display:inline-flex}.seo-content-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:56px;display:grid}.seo-content-card,.seo-page-section{border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow);border-radius:22px}.seo-content-card{padding:30px}.seo-content-card h2,.seo-page-section h2,.seo-bottom-cta h2,.seo-related h2{color:var(--text-h);margin:0 0 16px}.seo-content-card ul,.seo-page-section ul{color:var(--text);margin:0;padding-left:22px;line-height:1.75}.seo-content-card li+li,.seo-page-section li+li{margin-top:8px}.seo-card-label{color:#6366f1;letter-spacing:.12em;margin-bottom:12px;font-size:12px;font-weight:800;display:block}.seo-example-answer{color:#4f46e5;font-size:1.15rem;font-weight:800}.seo-example-card>p:last-child,.seo-page-section p{color:var(--text);line-height:1.75}.seo-page-section{margin-top:22px;padding:30px}.seo-bottom-cta{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:22px;justify-content:space-between;align-items:center;gap:28px;margin-top:38px;padding:30px;display:flex}.seo-bottom-cta h2,.seo-bottom-cta p{color:#fff}.seo-bottom-cta p{opacity:.9;margin:0}.seo-bottom-cta .cta-btn{color:#4338ca;background:#fff;flex:none;text-decoration:none}.seo-related{margin-top:48px}.seo-related-links{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.seo-related-links a{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:14px;padding:18px;font-weight:700;text-decoration:none}.seo-related-links a:hover{border-color:#818cf8;transform:translateY(-1px)}.seo-discovery-section{max-width:1280px;margin:0 auto;padding:60px 20px}.seo-discovery-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.seo-discovery-card{border:1px solid var(--border);background:var(--card-bg);min-height:154px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;padding:22px;text-decoration:none;display:flex}.seo-discovery-card span{color:#6366f1;letter-spacing:.08em;font-size:11px;font-weight:800}.seo-discovery-card strong{color:var(--text-h);margin:12px 0;font-size:1.05rem;line-height:1.35}.seo-discovery-card small{color:var(--text-muted);margin-top:auto;font-weight:700}.seo-discovery-card:hover{border-color:#818cf8;transform:translateY(-2px)}@media (width<=800px){.seo-content-grid,.seo-related-links{grid-template-columns:1fr}.seo-discovery-grid{grid-template-columns:repeat(2,1fr)}.seo-bottom-cta{flex-direction:column;align-items:flex-start}}@media (width<=520px){.seo-learning-page{padding:28px 16px 56px}.seo-page-hero h1{font-size:2.35rem}.seo-content-card,.seo-page-section,.seo-bottom-cta{padding:22px}.seo-discovery-section{padding:44px 0}.seo-discovery-grid{grid-template-columns:1fr}}.class-exam-answer-actions{margin-top:4px}.class-exam-answer-actions button{border-radius:10px;min-height:40px;padding:0 18px;font-weight:700}.issues-field-hint{color:var(--text-muted);font-size:12px;font-weight:400}.starting-point-page{place-items:center;min-height:min(760px,100vh);padding:28px 18px;display:grid}.starting-point-intro,.starting-point-result,.starting-point-check{border:2px solid var(--border);background:var(--card-bg);width:min(100%,760px);box-shadow:var(--shadow-lg);border-radius:26px;padding:clamp(24px,5vw,44px)}.starting-point-intro,.starting-point-result{text-align:center}.starting-point-icon{font-size:48px;display:block}.starting-point-eyebrow,.next-action-eyebrow{color:var(--purple);letter-spacing:.12em;margin:8px 0 4px;font-size:12px;font-weight:900}.starting-point-intro h1,.starting-point-result h1,.starting-point-check h1{color:var(--text-h);margin:5px 0 12px;line-height:1.2}.starting-point-intro>p,.starting-point-result>p{max-width:610px;margin:10px auto}.starting-point-intro ul{color:var(--text-h);flex-wrap:wrap;justify-content:center;gap:20px;margin:24px 0;padding:0;font-size:14px;font-weight:700;list-style:none;display:flex}.starting-point-intro li:before{content:"✓";color:var(--green-dark);margin-right:6px}.starting-point-primary{background:var(--purple-gradient);color:#fff;min-width:220px;min-height:52px;font:inherit;cursor:pointer;border:0;border-radius:14px;margin:24px auto 0;padding:0 22px;font-weight:900;display:block}.starting-point-link{color:var(--purple);font:inherit;cursor:pointer;background:0 0;border:0;margin:12px auto 0;padding:4px;font-size:14px;font-weight:800;display:block}.starting-point-check header{justify-content:space-between;align-items:center;gap:20px;display:flex}.starting-point-check header>span{color:var(--text-muted);font-size:14px;font-weight:800}.starting-point-progress{background:var(--border);border-radius:999px;height:8px;margin:10px 0 28px;overflow:hidden}.starting-point-progress span{border-radius:inherit;background:var(--purple-gradient);height:100%;transition:width .25s;display:block}.starting-point-check .question-card{box-shadow:none}.starting-point-reassurance{color:var(--text-muted);text-align:center;margin:18px 0 0;font-size:14px}.next-action-card{background:linear-gradient(135deg, var(--card-bg), #6366f117);width:min(100% - 40px,1180px);box-shadow:var(--shadow);border:2px solid #6366f152;border-radius:22px;justify-content:space-between;align-items:center;gap:28px;margin:-28px auto 0;padding:26px 30px;display:flex}.next-action-copy h2{color:var(--text-h);margin:2px 0 4px;font-size:clamp(22px,3vw,30px);line-height:1.2}.next-action-copy>p:not(.next-action-eyebrow){margin:0 0 7px}.next-action-copy>span{color:var(--text-muted);font-size:13px;font-weight:700}.next-action-actions{flex:none;gap:8px;display:grid}.next-action-actions button{background:var(--purple-gradient);color:#fff;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:13px;padding:0 22px;font-size:15px;font-weight:900}.next-action-actions .next-action-secondary{min-height:36px;color:var(--purple);background:0 0;padding:0 8px;font-size:13px}.native-practice-home>.next-action-card{width:100%;margin:0;padding:20px}.next-action-card.compact .next-action-copy h2{font-size:21px}@media (width<=680px){.next-action-card{flex-direction:column;align-items:stretch;margin-top:-34px;padding:22px}.next-action-actions{width:100%}.starting-point-intro ul{text-align:left;gap:8px;display:grid}}.teacher-connect-existing,.student-connected-adults,.parent-connect-card,.parent-empty,.parent-student-card{border:2px solid var(--border);background:var(--card-bg);border-radius:18px;padding:20px}.teacher-connect-existing{background:linear-gradient(135deg, var(--card-bg), #6366f114);margin:18px 0 22px}.teacher-connect-existing h4,.teacher-connect-existing p{margin:0}.teacher-connect-existing form,.parent-connect-card form{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.teacher-connect-existing input,.parent-connect-card input{border:2px solid var(--border);background:var(--card-bg);min-width:190px;min-height:48px;color:var(--text-h);font:inherit;letter-spacing:.08em;text-transform:uppercase;border-radius:12px;flex:1;padding:0 14px;font-weight:800}.teacher-connect-existing .teacher-generate-btn{margin:0}.teacher-connect-success,.student-access-message,.parent-message{color:var(--green-dark);font-weight:700}.student-sync-status{color:var(--text-muted);margin:10px 0 0;font-size:13px}.teacher-connect-error,.parent-error{color:var(--red);font-weight:700}.teacher-connect-intent{color:var(--text);background:#6366f117;border:1px solid #6366f14d;border-radius:12px;gap:3px;margin-bottom:18px;padding:13px 15px;display:grid}.teacher-connect-intent strong{color:var(--text-h)}.teacher-or-divider{color:var(--text-muted);text-transform:uppercase;align-items:center;gap:12px;margin:22px 0;font-size:13px;font-weight:800;display:flex}.teacher-or-divider:before,.teacher-or-divider:after{content:"";background:var(--border);flex:1;height:1px}.student-connected-adults{margin-top:14px}.student-connected-header,.parent-header,.parent-connect-card,.parent-student-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.student-connected-header h3,.student-connected-header p,.parent-header h1,.parent-header p,.parent-connect-card h2,.parent-connect-card p,.parent-student-title h2,.parent-student-title p{margin:0}.student-connected-header>div:last-child,.parent-header>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.student-connected-header button,.student-connected-adults li button,.parent-header button,.parent-student-title button{border:1px solid var(--border);background:var(--card-bg);min-height:40px;color:var(--purple);border-radius:10px;padding:0 14px;font-weight:800}.student-connected-adults ul{margin:16px 0 0;padding:0;list-style:none}.student-connected-adults li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.student-connected-adults li span{display:grid}.student-connected-adults li small{color:var(--text-muted)}.student-adult-invite{background:#6366f114;border-radius:14px;align-items:center;gap:18px;margin-top:16px;padding:16px;display:flex}.student-adult-invite>div{gap:6px;display:grid}.parent-page{min-height:70vh;padding:clamp(22px,5vw,60px) 18px}.parent-login-card{border:2px solid var(--border);background:var(--card-bg);width:min(100%,560px);box-shadow:var(--shadow-lg);text-align:center;border-radius:24px;margin:0 auto;padding:clamp(24px,5vw,42px)}.parent-login-card>span{font-size:48px;display:block}.parent-login-card h1{color:var(--text-h);margin:4px 0 10px}.parent-eyebrow{color:var(--purple);letter-spacing:.12em;margin:8px 0 0;font-size:12px;font-weight:900}.parent-back,.parent-text-button{color:var(--purple);font:inherit;background:0 0;border:0;font-weight:800}.parent-back{margin-bottom:8px;display:block}.parent-login-card form{text-align:left;gap:12px;margin-top:22px;display:grid}.parent-login-card label{color:var(--text-h);gap:6px;font-weight:800;display:grid}.parent-login-card input{border:2px solid var(--border);background:var(--card-bg);min-height:50px;color:var(--text-h);font:inherit;border-radius:12px;padding:0 14px}.parent-login-card form>button:not(.parent-text-button),.parent-connect-card form button{background:var(--purple-gradient);color:#fff;min-height:50px;font:inherit;border:0;border-radius:12px;padding:0 18px;font-weight:900}.parent-code-ready{background:#6366f11a;border-radius:12px;margin-top:18px;padding:12px}.parent-shell{width:min(100%,980px);margin:0 auto}.parent-header{margin-bottom:24px}.parent-connect-card,.parent-empty,.parent-student-card{box-shadow:var(--shadow);margin-bottom:18px}.parent-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.parent-stats div{background:#6366f112;border-radius:14px;padding:16px;display:grid}.parent-stats strong{color:var(--text-h);font-size:26px}.parent-stats span{color:var(--text-muted);font-size:13px}.parent-mastery-track{background:var(--border);border-radius:999px;height:9px;overflow:hidden}.parent-mastery-track span{background:var(--purple-gradient);height:100%;display:block}.parent-student-card ul{margin:0;padding:0;list-style:none}.parent-student-card li{border-top:1px solid var(--border);justify-content:space-between;padding:9px 0;display:flex}@media (width<=680px){.student-connected-header,.parent-header,.parent-connect-card,.parent-student-title{flex-direction:column;align-items:stretch}.parent-connect-card form{flex-direction:column}.parent-stats{grid-template-columns:1fr}.student-adult-invite{flex-direction:column;align-items:flex-start}}.answer-select-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;margin:.75rem 0;display:grid}.answer-select{border:1px solid var(--border);background:var(--card-bg);min-width:0;color:var(--text-h);border-radius:.65rem;gap:.3rem;padding:.55rem;display:grid}.answer-select span{color:var(--text-h);font-size:.8rem;font-weight:750;line-height:1.25}.answer-select select{border:1px solid var(--border);background:var(--bg);width:100%;min-width:0;min-height:2.45rem;color:var(--text-h);font:inherit;border-radius:.5rem;padding:.4rem .55rem;font-size:.88rem}.answer-select select option{background:var(--card-bg);color:var(--text-h)}.notation-answer-rows{gap:.85rem;margin-top:.85rem;display:grid}.notation-answer-row{border:1px solid var(--border);background:color-mix(in srgb, var(--card-bg) 92%, var(--purple));border-radius:.8rem;min-width:0;padding:.65rem}.notation-answer-row-label{color:var(--text-h);margin-bottom:.3rem;font-size:.85rem;display:block}.notation-answer-row .staff{margin:0}.notation-answer-row .answer-select-grid{grid-template-columns:repeat(var(--answer-columns,6), minmax(0, 1fr));margin-bottom:0}.notation-answer-row .answer-select{padding:.4rem}.notation-answer-row .answer-select span{text-align:center}.structured-answer-help{color:var(--text-muted);margin:.7rem 0}.notation-targets{gap:.8rem;display:grid}.notation-target-row{grid-template-columns:minmax(240px,1fr) minmax(210px,.8fr);align-items:center;gap:.75rem;display:grid}.notation-target{border:2px dashed var(--text-muted);background:var(--card-bg);min-height:4.4rem;color:var(--text-h);border-radius:.8rem;place-content:center;gap:.25rem;display:grid}.notation-target.filled{border-style:solid;border-color:var(--purple);background:color-mix(in srgb, var(--purple) 12%, var(--card-bg))}.notation-target span{color:var(--text-muted);font-size:.82rem}.notation-tile-bank{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem;margin-top:1rem;display:grid}.notation-tile{border:2px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:.75rem;place-items:center;gap:.25rem;padding:.35rem;display:grid}.notation-tile.selected{border-color:#7c5cff;box-shadow:0 0 0 3px #7c5cff24}.notation-tile .staff{max-width:100%;overflow:hidden}.notation-tile span{font-size:.8rem;font-weight:700}.stacked-staff-editors{gap:.8rem;margin-top:.85rem;display:grid}.stacked-staff-editor{background:#fff;border:1px solid #dedbe8;border-radius:.8rem;min-width:0;padding:.65rem .75rem .2rem;overflow:hidden}.stacked-staff-editor>strong{color:#575269;margin-bottom:.2rem;font-size:.85rem;display:block}.stacked-staff-editor .staff-editor{min-height:145px}@media (width<=640px){.notation-target-row{grid-template-columns:1fr}.answer-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notation-answer-row .answer-select-grid{grid-template-columns:repeat(var(--mobile-answer-columns,2), minmax(0, 1fr))}.answer-select select{padding:.35rem .3rem;font-size:.8rem}}.tutor-page{background:var(--bg);color:var(--text);min-height:100vh;font:18px/1.6 var(--sans)}.tutor-page *{box-sizing:border-box}.tutor-page-header{z-index:10;background:var(--bg);border-bottom:1px solid var(--border);padding:14px 20px;position:sticky;top:0}.tutor-page-header-inner{grid-template-columns:auto minmax(300px,620px) auto;justify-content:space-between;align-items:center;gap:clamp(18px,4vw,64px);width:100%;max-width:1100px;margin:0 auto;display:grid}.tutor-page-header-brand{color:var(--text-h);align-items:center;gap:8px;font-size:1.2rem;font-weight:800;text-decoration:none;display:flex}.tutor-page-header-nz{color:var(--purple);font-size:.75em}.tutor-page-container{max-width:1100px;margin:0 auto;padding:0 20px}.tutor-page>.app-footer{margin-top:0}.tutor-layout{grid-template-columns:1fr 360px;gap:28px;padding:28px 0 60px;display:grid}@media (width<=920px){.tutor-layout{grid-template-columns:1fr}}.tutor-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:24px;padding:28px}.tutor-hero-flex{align-items:flex-start;gap:22px;display:flex}@media (width<=560px){.tutor-hero-flex{text-align:center;flex-direction:column;align-items:center}}.tutor-avatar{object-fit:cover;border:3px solid var(--purple);border-radius:50%;flex-shrink:0;width:120px;height:120px}.tutor-avatar-fallback{width:120px;height:120px;color:var(--purple);border:3px solid var(--purple);background:#6366f11f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2.4rem;font-weight:800;display:flex}.tutor-title{color:var(--text-h);margin:0 0 8px;font-size:1.5rem;font-weight:800}.tutor-meta-line{color:var(--text);flex-wrap:wrap;gap:12px;margin-bottom:12px;font-size:.92rem;display:flex}.tutor-tags-row{flex-wrap:wrap;gap:8px;display:flex}.tutor-tag{color:var(--purple);background:#6366f11f;border-radius:6px;padding:4px 12px;font-size:.78rem;font-weight:700}.tutor-tag.green{color:var(--green-dark);background:#10b9811f}.tutor-section-h2{color:var(--text-h);margin:0 0 12px;font-size:1.2rem;font-weight:800}.tutor-body-text{color:var(--text);white-space:pre-wrap;font-size:.96rem;line-height:1.7}.tutor-highlights-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px;display:grid}.tutor-highlight-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.tutor-highlight-title{margin-bottom:4px;font-size:.92rem;font-weight:700}.tutor-highlight-desc{color:var(--text);font-size:.85rem}.tutor-highlight-card.accent-0 .tutor-highlight-title{color:var(--purple)}.tutor-highlight-card.accent-1 .tutor-highlight-title{color:var(--green-dark)}.tutor-highlight-card.accent-2 .tutor-highlight-title{color:var(--yellow)}.tutor-timeline{flex-direction:column;display:flex}.tutor-timeline-item{gap:16px;display:flex}.tutor-timeline-marker{flex-direction:column;align-items:center;display:flex}.tutor-timeline-dot{border:2px solid var(--purple);background:#6366f11f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;display:flex}.tutor-timeline-line{background:var(--border);flex:1;width:2px;min-height:20px;margin:4px 0}.tutor-timeline-content{padding-bottom:22px}.tutor-timeline-year{color:var(--purple);letter-spacing:.02em;font-size:.78rem;font-weight:700}.tutor-timeline-title{color:var(--text-h);margin-top:2px;font-size:.98rem;font-weight:700}.tutor-timeline-institution{color:var(--text);margin-top:2px;font-size:.88rem}.tutor-slideshow{margin-top:12px}.tutor-slide-frame{aspect-ratio:16/10;background:#000;border-radius:14px;width:100%;position:relative;overflow:hidden}.tutor-slide-frame img{object-fit:cover;width:100%;height:100%;display:block}.tutor-slide-frame iframe{border:none;width:100%;height:100%}.tutor-slide-nav-btn{color:#fff;cursor:pointer;background:#0f172a8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.tutor-slide-nav-btn:hover{background:#0f172acc}.tutor-slide-nav-btn.prev{left:10px}.tutor-slide-nav-btn.next{right:10px}.tutor-slide-caption{color:var(--text);padding:12px 4px 0;font-size:.9rem;font-weight:600}.tutor-slide-dots{justify-content:center;gap:8px;margin-top:12px;display:flex}.tutor-slide-dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0}.tutor-slide-dot.active{background:var(--purple)}.tutor-review-item{border-bottom:1px solid var(--border);padding:16px 0}.tutor-review-item:last-child{border-bottom:none}.tutor-review-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tutor-review-name{color:var(--text-h);font-weight:700}.tutor-review-stars{color:var(--yellow);font-size:.85rem}.tutor-verified-badge{color:var(--green-dark);background:#10b9811f;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.7rem;font-weight:700}.tutor-review-text{color:var(--text);margin-top:6px;font-size:.92rem}.tutor-header-recommendation{width:min(100%,260px);min-width:0;color:var(--text-h);background:#6366f114;border:1.5px solid #6366f14d;border-radius:14px;justify-self:center;gap:7px;padding:9px 18px;display:flex;box-shadow:none!important}.tutor-header-recommendation:hover{border-color:var(--purple);background:#6366f126;box-shadow:none!important}.tutor-header-recommendation strong{font-size:.86rem;line-height:1.25}.tutor-recommendation-overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172ab8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tutor-recommendation-dialog{border:1px solid var(--border);background:var(--card-bg);width:min(100%,640px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);border-radius:20px;padding:30px;position:relative;overflow-y:auto}.tutor-recommendation-dialog>.tutor-body-text{margin:0}.tutor-recommendation-close{border:1px solid var(--border);background:var(--bg);width:36px;height:36px;color:var(--text-h);border-radius:50%;padding:0;font-size:1.4rem;line-height:1;position:absolute;top:12px;right:12px;box-shadow:none!important}.tutor-recommendation-btn{background:var(--purple-gradient);color:#fff;border:none;border-radius:12px;flex-shrink:0;padding:11px 18px;font-weight:800}.tutor-recommendation-form{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.tutor-recommendation-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.tutor-recommendation-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.tutor-btn-secondary{color:var(--text);border:1px solid var(--border);box-shadow:none;background:0 0}.tutor-private-note{color:var(--text-muted);font-weight:500}@media (width<=620px){.tutor-recommendation-fields{grid-template-columns:1fr;gap:0}.tutor-recommendation-overlay{padding:12px}.tutor-recommendation-dialog{max-height:calc(100vh - 24px);padding:24px 18px}}@media (width<=760px){.tutor-page-header{padding:10px 12px}.tutor-page-header-inner{grid-template-columns:1fr auto;gap:8px 12px}.tutor-header-recommendation{grid-area:2/1/auto/-1;padding:7px 12px}}.tutor-booking-card{position:sticky;top:80px}.tutor-price-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:14px;padding-bottom:14px;display:flex}.tutor-price-amount{color:var(--text-h);font-size:1.6rem;font-weight:800}.tutor-form-field{color:var(--text);margin-bottom:12px;font-size:.85rem;font-weight:600;display:block}.tutor-form-field input,.tutor-form-field select,.tutor-form-field textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);border-radius:10px;margin-top:4px;padding:10px 12px;font-family:inherit;font-size:.92rem}:root[data-theme=light] .tutor-form-field input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark] .tutor-form-field input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.tutor-form-field input[type=date]{cursor:pointer}.tutor-profile-editor-grid{grid-template-columns:minmax(0,1fr)}.tutor-profile-testimonials{grid-column:1/-1}.tutor-btn-primary{background:var(--purple-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px;font-size:1rem;font-weight:800}.tutor-btn-primary:disabled{opacity:.6;cursor:not-allowed}.tutor-empty-state{color:var(--text-muted);font-size:.9rem}.tutor-success-box{color:var(--green-dark);background:#10b9811a;border-radius:12px;padding:14px;font-size:.92rem;font-weight:600}.tutor-error-box{color:var(--red);margin-top:8px;font-size:.85rem}
