:root{--surface:#fff;--canvas:#f5f7fb;--ink:#17233a;--muted:#627086;--line:#dfe5ef;--brand:#315ee8;--brand-dark:#2349bd;--success:#14765e;--warning:#8a6415;--danger:#9b2635;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--shadow-soft:0 14px 38px rgba(19,35,63,.08)}
*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
button,a,input,select,summary{touch-action:manipulation}
button,a[role="button"],input,select{min-height:44px}
:focus-visible{outline:3px solid #86a5ff!important;outline-offset:3px}
.home-page{min-height:100dvh;background:var(--canvas);color:var(--ink)}
.site-header{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 clamp(18px,5vw,72px);background:#fff;border-bottom:1px solid var(--line)}
.site-brand{display:flex;align-items:center;gap:10px;color:#13233f;text-decoration:none}.site-brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--brand);color:#fff;font:800 1.1rem Georgia,serif}
.site-header nav{display:flex;align-items:center;gap:10px}.site-header nav a{display:grid;place-items:center;padding:0 15px;border-radius:11px;color:#263753;text-decoration:none;font-weight:750}.site-header .header-cta{background:#13233f;color:#fff}
.home-hero{min-height:calc(100dvh - 72px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:center;gap:clamp(32px,6vw,88px);width:min(1240px,calc(100% - 36px));margin:auto;padding:clamp(52px,9vw,110px) 0}
.hero-copy h1{max-width:760px;margin:0;color:#13233f;font-size:clamp(2.45rem,6vw,5rem);line-height:1.02;letter-spacing:-.055em}.hero-copy>p:not(.eyebrow){max-width:650px;margin:24px 0;color:#58667c;font-size:clamp(1rem,2vw,1.22rem);line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-actions a{display:grid;place-items:center;min-height:48px;padding:0 22px;border-radius:12px;text-decoration:none;font-weight:800}.primary-link{background:var(--brand);color:#fff;box-shadow:0 12px 30px rgba(49,94,232,.2)}.secondary-link{border:1px solid #cbd5e4;background:#fff;color:#13233f}
.hero-board{position:relative;min-height:360px;display:grid;align-content:center;padding:clamp(28px,5vw,54px);border:1px solid #dbe3f0;border-radius:28px;background:linear-gradient(145deg,#0f1d33,#183054);color:#fff;box-shadow:0 28px 80px rgba(19,35,63,.2)}.hero-board-bar{position:absolute;top:24px;left:28px;display:flex;align-items:center;gap:9px;color:#b9c9e2;font-size:.82rem}.hero-board-bar span:first-child{width:9px;height:9px;border-radius:50%;background:#57d4ab}.hero-equation{font:700 clamp(1.8rem,4vw,3.2rem) "Cambria Math",serif}.hero-board p{color:#c3d1e5;line-height:1.6}
.student-dashboard{background:var(--canvas)}.student-shell{width:min(1320px,100%);padding:clamp(14px,3vw,36px)}.student-panel{padding:clamp(18px,3vw,34px);border-radius:var(--radius-lg)}.student-heading{padding-bottom:18px;border-bottom:1px solid var(--line)}.student-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;margin:34px 0}.student-overview h1{margin:0;color:var(--ink);font-size:clamp(1.8rem,4vw,3rem)}.student-overview .access-copy{max-width:680px;margin:8px 0 0}.current-lesson{min-width:240px;padding:15px 18px;border-radius:var(--radius-md);background:#eef3ff;color:#2349bd}.current-lesson strong,.current-lesson span{display:block}.current-lesson span{margin-top:3px;color:#52627d;font-size:.82rem}
.catalog-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(170px,230px);gap:12px;margin:18px 0 24px}.catalog-field{display:grid;gap:7px}.catalog-field label{font-size:.78rem;font-weight:800;color:#44526a}.catalog-field input,.catalog-field select{width:100%;padding:11px 13px;border:1px solid #cbd5e4;border-radius:11px;background:#fff;font:inherit}.lesson-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:16px!important}.lesson-card{display:flex!important;flex-direction:column;min-height:280px;padding:22px!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-soft)!important}.lesson-card .lesson-state{align-self:flex-start!important;order:-1;margin-bottom:12px}.lesson-card h3,.lesson-card .lesson-meta,.lesson-card .lesson-copy,.lesson-card .lesson-cta{grid-column:auto!important;grid-row:auto!important}.lesson-card .lesson-copy{flex:1}.lesson-card .lesson-cta{width:100%!important;margin-top:auto}.lesson-preparing{box-shadow:none!important}.profile-details{margin-top:44px}.profile-details summary{min-height:44px;display:flex;align-items:center}
.product-header{position:sticky;top:0;z-index:40;min-height:68px;height:auto}.product-header .brand small{color:#bdc9dc}.back-link,.quiet-button{min-height:44px;display:flex;align-items:center}.learning-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
#learning-shell{max-width:1680px;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:16px;padding:16px}.progress-panel{display:none}.chat{grid-column:1;min-height:calc(100dvh - 100px);border-radius:18px}.insights{grid-column:2;min-width:0;top:84px;max-height:calc(100dvh - 100px);overflow:auto}.insights.panel-closed{display:none}.chat.immersive-ready .intro{display:none}.lesson-stage-header{margin:12px 16px 0}.lesson-phases{margin:0 16px}.smart-board{margin:12px 16px 0}.board-stage{height:clamp(420px,56dvh,720px)}.presentation-player{position:sticky;bottom:10px;z-index:8;margin:10px 12px 12px;box-shadow:0 14px 34px rgba(19,35,63,.12)}.presentation-controls{display:flex;flex-wrap:wrap;gap:8px}.presentation-controls button{min-height:44px}.question-break{border-radius:14px}.question-break button{min-height:44px}.question-mode-actions{display:flex;flex-wrap:wrap;gap:8px}.question-mode-actions button{flex:1 1 150px}.side-panel-tabs{display:flex;gap:6px;margin-bottom:14px}.side-panel-tabs button{flex:1;min-height:44px;border-radius:10px;background:#edf2fa;color:#34445e;font-weight:800}.side-panel-tabs button[aria-selected="true"]{background:#13233f;color:#fff}body.side-panel-collapsed #learning-shell{grid-template-columns:1fr}body.side-panel-collapsed #lesson-side-panel{display:none}body.side-panel-collapsed .chat{grid-column:1}
.canonical-question{padding:16px;border:1px solid var(--line);border-radius:14px}.canonical-choices{display:grid;gap:9px}.canonical-choices button{min-height:48px;text-align:left}.canonical-check{width:100%;margin-top:12px;background:var(--brand);color:#fff;border-radius:11px;font-weight:800}.content-review-message{padding:16px;border-radius:12px;background:#fff8e6;color:#765814}
@media(max-width:800px){.site-header{padding:0 14px}.site-header nav a:first-child{display:none}.home-hero{grid-template-columns:1fr;padding:46px 0 64px}.hero-copy h1{font-size:clamp(2.3rem,12vw,3.6rem)}.hero-board{min-height:280px;border-radius:20px}.hero-actions a{flex:1 1 150px}.student-overview{grid-template-columns:1fr}.current-lesson{min-width:0}.catalog-toolbar{grid-template-columns:1fr}.lesson-grid{grid-template-columns:1fr!important}.product-header{gap:7px;padding:8px 10px}.product-header .brand small,.product-header .brand>span:last-child,.product-header .session-status,#new-session{display:none}.product-header .brand{flex:0 0 38px}.learning-tools{margin-left:auto;gap:7px}.learning-tools .quiet-button{padding-inline:10px}.back-link{font-size:.78rem}#learning-shell{display:block;padding:8px}.chat{min-height:calc(100dvh - 84px)}.intro{padding:18px}.intro h1{font-size:1.4rem}.intro>p:last-child{font-size:.86rem}.insights{position:fixed;z-index:60;inset:auto 0 0;display:block!important;max-height:78dvh;border-radius:20px 20px 0 0;transform:translateY(105%);transition:transform .2s ease;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.insights:not(.panel-closed){transform:translateY(0)}.smart-board{margin:8px 0}.board-stage{height:56dvh;margin:0 8px}.lesson-stage-header{margin:8px 0}.lesson-phases{margin:0}.presentation-player{position:relative;bottom:auto;margin:8px}.presentation-controls{display:grid;grid-template-columns:repeat(2,1fr)}.presentation-controls button,.presentation-controls label{min-width:0}.question-break{position:fixed;z-index:70;inset:auto 0 0;max-height:86dvh;overflow:auto;border-radius:20px 20px 0 0;background:#fff;box-shadow:0 -16px 50px rgba(19,35,63,.22);padding-bottom:calc(16px + env(safe-area-inset-bottom))}.composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
