:root{--blue:#315edb;--blue-2:#6385ef;--ink:#17213d;--muted:#66708a;--line:#dfe6f4;--paper:#f7f9fd;--white:#fff;--green:#139f91;--purple:#7559d9;--orange:#e98b25;--radius:22px;--radius-sm:14px;--shadow:0 18px 50px rgba(36,61,124,.09);--max:1240px;--ease:cubic-bezier(.2,.8,.2,1);font-family:Inter,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:linear-gradient(180deg,#f7f9fd 0,#fff 28%,#f7f9fd 100%);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid rgba(49,94,219,.28);outline-offset:3px}.math-atmosphere{position:absolute;inset:90px 0 auto;height:680px;overflow:hidden;pointer-events:none;opacity:.025}.math-atmosphere span{position:absolute;left:var(--x);top:var(--y);font-size:clamp(28px,4vw,64px);font-weight:700;animation:float 12s ease-in-out var(--delay) infinite}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:76px;padding:12px max(24px,calc((100% - var(--max))/2));background:rgba(249,251,255,.93);border-bottom:1px solid rgba(217,225,241,.85);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#315edb,#7796f4);color:#fff;font-size:21px;font-weight:800;box-shadow:0 9px 24px rgba(49,94,219,.22)}.brand strong,.brand small{display:block}.brand strong{font-size:18px;letter-spacing:.03em}.brand small{color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:4px}.nav-btn,.ghost,.auth-btn,.hero-text-button{border:0;background:transparent;border-radius:12px;padding:10px 14px;cursor:pointer;white-space:nowrap;font-weight:650}.nav-btn{color:#5e6881}.nav-btn:hover,.nav-btn.active{color:var(--blue);background:#edf2ff}.ghost,.secondary{border:1px solid var(--line);background:rgba(255,255,255,.84)}.auth-btn{margin-left:4px;border:1px solid var(--line)}.menu-toggle{display:none}.view{display:none}.view.active{display:block}.library-hero{position:relative;display:grid;grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr);align-items:center;gap:48px;max-width:var(--max);min-height:590px;margin:auto;padding:68px 24px 58px;isolation:isolate}.library-hero:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(49,94,219,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(49,94,219,.035) 1px,transparent 1px),radial-gradient(circle at 75% 35%,rgba(91,127,238,.12),transparent 38%);background-size:36px 36px,36px 36px,auto;mask-image:linear-gradient(to bottom,#000,transparent 95%)}.eyebrow{margin:0 0 10px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.live-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#20b89b;box-shadow:0 0 0 5px rgba(32,184,155,.12)}h1,h2,h3,p{margin-top:0}.hero-copy h1{margin-bottom:22px;font-size:clamp(48px,5.3vw,76px);line-height:1.06;letter-spacing:-.055em}.hero-copy h1 span{color:var(--blue)}.hero-lead{max-width:560px;color:#59647e;font-size:18px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:16px;margin:28px 0}.primary,.secondary,.strip-action{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;border-radius:13px;padding:10px 18px;border:0;cursor:pointer;text-decoration:none;font-weight:750;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}.primary{color:#fff;background:linear-gradient(135deg,#315edb,#7059da);box-shadow:0 10px 22px rgba(63,82,195,.2)}.secondary{color:var(--blue)}.primary:hover,.secondary:hover,.strip-action:hover{transform:translateY(-2px)}.primary:active,.secondary:active,.strip-action:active{transform:scale(.98);transition-duration:80ms}.hero-text-button{font-size:15px}.hero-proof{display:flex;gap:0;margin-top:34px}.hero-proof span{display:flex;flex-direction:column;min-width:112px;padding:0 18px;border-left:1px solid var(--line)}.hero-proof span:first-child{padding-left:0;border-left:0}.hero-proof b{font-size:14px}.hero-proof small{color:#8891a7;font-size:11px;letter-spacing:.09em}.lab-console{position:relative;padding:24px;border:1px solid rgba(206,216,239,.9);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 30px 80px rgba(40,65,130,.13)}.lab-console-head,.lab-footer,.lab-controls label{display:flex;align-items:center;justify-content:space-between;gap:16px}.lab-console-head strong{display:block;font-size:22px}.lab-kicker{display:block;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.08em}.experiment-code{border:1px solid #cfdbf6;border-radius:999px;padding:5px 10px;color:#4968b5;font-size:12px;font-weight:800}.guess-panel{margin:16px 0 4px;padding:13px 15px;border-radius:15px;background:#f2f6ff}.guess-panel p{margin-bottom:9px;font-size:14px}.guess-options{display:flex;gap:8px}.guess-options button{flex:1;min-height:36px;border:1px solid #d5def1;border-radius:10px;background:#fff;cursor:pointer;font-size:14px;font-weight:700}.guess-options button:hover,.guess-options button.active{border-color:var(--blue);color:var(--blue);background:#eaf0ff}.cup-experiment{position:relative;display:grid;grid-template-columns:1fr 72px 1fr;align-items:end;height:174px;margin:8px 0}.water-level-guide{position:absolute;left:12%;right:12%;bottom:72px;border-top:1px dashed rgba(49,94,219,.42)}.lab-cup-wrap{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.volume-value{position:relative;z-index:2;margin-bottom:8px;color:#49546e;font-size:14px;font-weight:750}.volume-value em{font-style:normal}.lab-cup{position:relative;width:80px;height:105px;border:3px solid #7483a8;border-top-width:2px;border-radius:5px 5px 24px 24px;overflow:hidden;transform-origin:bottom center;transition:width .2s var(--ease)}.lab-cup.cup-b{width:calc(var(--cup-b-width,110)*1px)}.lab-cup i{position:absolute;inset:33px 3px 3px;background:linear-gradient(180deg,rgba(84,175,255,.55),rgba(49,94,219,.72));border-radius:2px 2px 19px 19px}.lab-cup i:before{content:"";position:absolute;left:0;right:0;top:-3px;height:7px;border-radius:50%;background:#8ac9ff}.lab-cup b{position:absolute;left:14px;top:15px;width:10px;height:44px;border-radius:10px;background:rgba(255,255,255,.55)}.compare-mark{align-self:center;text-align:center;color:#77839e}.compare-mark span{display:block;font-size:20px;font-weight:800}.compare-mark i{display:block;width:46px;border-top:1px dashed #c5cee1}.lab-controls{padding:14px;border-radius:15px;background:#f5f7fc}.lab-controls.is-locked{opacity:.52}.lab-controls label{font-size:14px;font-weight:750}.lab-controls output{color:var(--blue)}.slider-wrap{display:flex;align-items:center;gap:10px}.slider-wrap input{width:100%;accent-color:var(--blue)}.slider-wrap span{white-space:nowrap;color:var(--blue);font-size:13px}.lab-scale{display:flex;justify-content:space-between;color:#8a93a8;font-size:12px}.lab-observation{display:flex;align-items:center;gap:12px;min-height:55px;margin-top:12px;padding:10px 14px;border-left:3px solid var(--green);background:#eef9f7;border-radius:5px 13px 13px 5px}.lab-observation p{margin:0;font-size:14px}.observe-icon{flex:none;color:#087d71;font-size:12px;font-weight:850}.lab-footer{margin-top:14px;color:#7d879e;font-size:13px}.lab-footer button{font-size:14px}.search-panel,.math-paths,.dashboard-strip,.growth-path,.gallery-section,.teacher-cta{max-width:var(--max);margin:0 auto;padding-left:24px;padding-right:24px}.search-panel{padding-top:52px;padding-bottom:52px}.section-heading,.resource-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.section-heading h2,.resource-heading h2,.growth-copy h2,.teacher-cta h2{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-.025em}.section-heading>span,.resource-heading>span{color:var(--muted);font-size:14px}.searchbox{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 18px;border:1px solid #d9e1f2;border-radius:17px;background:#fff;box-shadow:0 12px 32px rgba(39,68,135,.07)}.search-icon{width:18px;height:18px;border:2px solid #71809f;border-radius:50%;position:relative}.search-icon:after{content:"";position:absolute;width:7px;border-top:2px solid #71809f;right:-5px;bottom:-3px;transform:rotate(45deg)}.searchbox input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:16px}.searchbox kbd{padding:3px 7px;border:1px solid #dce2ee;border-radius:7px;color:#7a849c;background:#f8f9fc}.hot-searches,.filter-row,.quick-filters{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.hot-searches{margin-top:14px}.hot-searches span,.filter-row>b{margin-right:4px;color:#717b91;font-size:14px}.hot-searches button,.filter-chip{min-height:34px;padding:6px 12px;border:1px solid #e0e6f2;border-radius:999px;background:#fff;cursor:pointer;color:#5d6880;font-size:14px}.hot-searches button:hover,.filter-chip:hover,.filter-chip.active{border-color:#9db2ed;color:var(--blue);background:#eef3ff}.filter-row{margin-top:14px}.filter-row>b{width:68px}.math-paths{padding-top:58px;padding-bottom:66px;border-top:1px solid #edf0f6}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.path-card{display:flex;flex-direction:column;align-items:flex-start;min-height:245px;padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-align:left;cursor:pointer;transition:transform .18s var(--ease),border-color .18s,box-shadow .18s}.path-card:hover{transform:translateY(-4px);border-color:#c0cdf0;box-shadow:var(--shadow)}.path-icon{display:grid;place-items:center;min-width:76px;height:50px;margin-bottom:22px;border-radius:15px;background:#edf3ff;color:var(--blue);font-size:19px;font-weight:800}.path-shape .path-icon{background:#f0ecff;color:var(--purple)}.path-measure .path-icon{background:#e9f8f5;color:var(--green)}.path-card strong{font-size:22px}.path-card small{min-height:48px;margin:6px 0;color:var(--muted);font-size:15px}.path-card>span:not(.path-icon){color:#7b859c;font-size:13px}.path-card em{margin-top:auto;color:var(--blue);font-style:normal;font-weight:800}.dashboard-strip{display:grid;grid-template-columns:1.28fr 1fr 1fr;gap:16px;padding-top:54px;padding-bottom:54px;background:linear-gradient(135deg,transparent,#f2f6ff 45%,transparent)}.dashboard-strip article{display:flex;flex-direction:column;min-height:220px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.dashboard-strip article>span{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.08em}.dashboard-strip strong{margin-top:12px;font-size:22px}.dashboard-strip p{color:var(--muted);font-size:14px}.strip-action{align-self:flex-start;margin-top:auto;padding:0;color:var(--blue);background:transparent}.growth-path{display:grid;grid-template-columns:300px 1fr;align-items:center;gap:36px;padding-top:58px;padding-bottom:58px}.growth-copy p:not(.eyebrow){color:var(--muted);font-size:15px}.path-badge{display:inline-block;padding:7px 11px;border-radius:999px;background:#eef3ff;color:var(--blue);font-size:12px;font-weight:800}.growth-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0;list-style:none}.growth-steps button{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:104px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;cursor:pointer}.growth-steps button[aria-pressed="true"]{border-color:#95adeb;background:#eef3ff;box-shadow:0 8px 20px rgba(49,94,219,.09)}.growth-steps span{color:var(--blue);font-size:12px;font-weight:850}.growth-steps b{font-size:18px}.growth-steps small{color:var(--muted);font-size:13px}.growth-steps .challenge button{background:#fff6ea;border-color:#f3d8b3}.growth-steps .challenge span{color:var(--orange)}.gallery-section{padding-top:62px;padding-bottom:72px;background:#fff}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{min-width:0;overflow:hidden;border:1px solid #e0e6f2;border-radius:var(--radius);background:#fff;cursor:pointer;box-shadow:0 8px 26px rgba(39,61,115,.055);transition:transform .18s var(--ease),box-shadow .18s,border-color .18s}.resource-card:hover{transform:translateY(-5px) scale(1.01);border-color:#bdcbed;box-shadow:0 18px 42px rgba(39,61,115,.11)}.cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:#eef3ff}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s var(--ease)}.resource-card:hover .cover img{transform:scale(1.035)}.lab-code,.badge,.cover-bottom{position:absolute;z-index:3}.lab-code{left:13px;top:13px;padding:4px 8px;border-radius:8px;background:rgba(255,255,255,.9);color:#465675;font-size:11px;font-weight:800}.badge{right:13px;top:13px;padding:4px 9px;border-radius:999px;background:#315edb;color:#fff;font-size:12px;font-weight:750}.cover-bottom{display:flex;justify-content:space-between;left:0;right:0;bottom:0;padding:24px 15px 12px;color:#fff;background:linear-gradient(transparent,rgba(22,36,72,.72));font-size:13px}.card-body{padding:18px}.resource-kicker,.ability-row,.card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.resource-kicker{color:var(--blue);font-size:12px;font-weight:750}.resource-kicker b{color:#73809c}.card-body h3{display:-webkit-box;min-height:56px;margin:9px 0 7px;overflow:hidden;font-size:20px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-body>p{display:-webkit-box;min-height:66px;margin-bottom:12px;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.6;-webkit-line-clamp:3;-webkit-box-orient:vertical}.tag-row{display:flex;flex-wrap:wrap;gap:6px;min-height:27px}.tag-row span,.ability-row span{padding:3px 8px;border-radius:999px;background:#f1f4fa;color:#67728a;font-size:12px}.ability-row{justify-content:flex-start;margin-top:10px}.difficulty.medium{color:#9a5b14;background:#fff3df}.card-actions{margin-top:15px;padding-top:14px;border-top:1px solid #edf0f5}.resource-context{color:#778198;font-size:12px}.card-open{min-height:38px;padding:7px 12px;font-size:13px}.empty-state{grid-column:1/-1;padding:60px 24px;border:1px dashed #cfd8eb;border-radius:var(--radius);text-align:center;background:#f8faff}.empty-state strong{font-size:22px}.empty-state p{color:var(--muted)}.teacher-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:72px;margin-bottom:72px;padding-top:38px;padding-bottom:38px;border:1px solid #dce5f5;border-radius:26px;background:linear-gradient(135deg,#eef4ff,#f5f2ff)}.teacher-cta h2{font-size:30px}.teacher-cta p{margin:8px 0 0;color:var(--muted)}.site-note{padding:26px;text-align:center;border-top:1px solid var(--line);color:#7c869c;background:#f7f9fd;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* cover illustrations */.cover-scene,.cover-shape{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#e7efff,#f7f3ff)}.scene-label{position:absolute;top:38px;color:#5570b3;font-size:11px;font-weight:800;letter-spacing:.12em}.scene-caption{margin-top:18px;color:#56637f;font-size:12px;font-style:normal}.sugar-line,.cup-line,.pattern-line,.share-line,.fraction-line,.rope-line{display:flex;align-items:end;gap:18px}.sugar-line i,.scene-cup{position:relative;width:42px;height:68px;border:2px solid #61749e;border-radius:4px 4px 12px 12px}.sugar-line i b,.scene-cup b{position:absolute;inset:27px 2px 2px;border-radius:0 0 8px 8px;background:#70b7ed}.sugar-line u{position:relative;display:block;width:6px;height:6px;margin:5px auto;border-radius:50%;background:#fff}.cup-wide{width:64px}.cup-narrow{width:34px}.rope-line{align-items:center}.rope-line i{width:50px;border-top:4px solid #7283ab}.rope-line b{font-size:22px}.fraction-line i{width:28px;height:60px;border-radius:5px;background:#668bf0}.fraction-line i:nth-child(even){height:42px;background:#b9c8f3}.stone-beaker{position:relative;width:88px;height:92px;border:3px solid #7182aa;border-top:0;border-radius:0 0 20px 20px}.stone-beaker i{position:absolute;inset:38px 3px 3px;background:#69afe8;border-radius:0 0 15px 15px}.stone-beaker b{position:absolute;width:30px;height:24px;left:28px;bottom:10px;border-radius:50%;background:#667086}.pattern-line{font-size:28px;color:#5479dd}.share-line{align-items:center;font-size:20px}.share-line b{color:var(--blue)}.cover-shape:after{content:"π  △  ∞";font-size:34px;font-weight:800;color:#6683d5}
/* workspaces */.workspace,.admin-shell{max-width:var(--max);margin:38px auto 80px;padding:0 24px}.workspace{display:grid;grid-template-columns:1.4fr .8fr;gap:24px}.upload-panel,.teacher-list,.admin-card,.edit-dialog form{padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow)}.section-head span{color:var(--blue);font-size:12px;font-weight:800}.section-head h1,.section-head h2{margin:4px 0 20px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.upload-panel label,.edit-dialog label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:14px;font-weight:700}.upload-panel input,.upload-panel select,.upload-panel textarea,.edit-dialog input,.edit-dialog textarea{width:100%;padding:11px;border:1px solid #dbe2ef;border-radius:11px;background:#fff}.file-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-tile{padding:18px;border:1px dashed #bfcbe3;border-radius:14px;background:#f8faff}.mini-card{position:relative;padding:16px 0;border-bottom:1px solid var(--line)}.status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:12px}.status.published{color:#087b6f;background:#e8f8f5}.status.pending{color:#956016;background:#fff4de}.status.archived{color:#687187;background:#edf0f5}.card-meta{color:var(--muted);font-size:13px}.admin-head{display:flex;justify-content:space-between}.admin-list{display:grid;gap:14px}.admin-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-card p{color:var(--muted)}.admin-actions{display:flex;flex-wrap:wrap;gap:7px}.danger{padding:9px 13px;border:1px solid #f1c9c9;border-radius:11px;color:#b74747;background:#fff2f2}.edit-dialog{width:min(680px,calc(100% - 32px));padding:0;border:0;border-radius:var(--radius);background:transparent}.edit-dialog::backdrop{background:rgba(20,28,49,.45)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.player-view{position:fixed;z-index:60;inset:0;background:#fff}.player-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:68px;padding:10px 18px;border-bottom:1px solid var(--line)}.player-bar div{display:flex;flex-direction:column;text-align:center}.player-bar span{color:var(--muted);font-size:12px}.player-view iframe{width:100%;height:calc(100vh - 68px);border:0}
@keyframes float{50%{transform:translateY(-12px) rotate(2deg)}}
@media (max-width:1100px){.library-hero{grid-template-columns:1fr 1.15fr;gap:28px}.hero-copy h1{font-size:52px}.resource-grid{grid-template-columns:repeat(2,1fr)}.dashboard-strip{grid-template-columns:1.2fr 1fr}.dashboard-strip article:last-child{grid-column:1/-1;min-height:180px}.growth-path{grid-template-columns:1fr}.growth-copy{display:grid;grid-template-columns:1fr auto;align-items:end}.growth-copy p{grid-column:1/-1}.workspace{grid-template-columns:1fr}.topbar{padding-inline:20px}}
@media (max-width:860px){.topbar{min-height:68px}.brand small{display:none}.menu-toggle{display:flex;align-items:center;gap:5px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.menu-toggle span{display:block;width:16px;border-top:2px solid #52617e}.menu-toggle b{margin-left:3px;font-size:13px}.top-actions{display:none;position:absolute;left:16px;right:16px;top:62px;align-items:stretch;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.top-actions.is-open{display:flex}.top-actions button{flex:1}.library-hero{grid-template-columns:1fr;padding-top:48px}.hero-copy{max-width:650px}.hero-art{max-width:650px;width:100%;margin:auto}.path-grid{grid-template-columns:1fr}.path-card{min-height:210px}.dashboard-strip{grid-template-columns:1fr 1fr}.growth-steps{display:flex;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.growth-steps li{flex:0 0 140px;scroll-snap-align:start}.teacher-cta{margin-inline:20px}.form-grid{grid-template-columns:1fr}.admin-card{align-items:flex-start;flex-direction:column}}
@media (max-width:600px){body{font-size:15px}.topbar{padding-inline:14px}.brand-mark{width:38px;height:38px}.brand strong{font-size:16px}.top-actions.is-open{display:grid;grid-template-columns:1fr}.auth-btn{margin-left:0}.library-hero{padding:38px 16px 42px;min-height:0}.hero-copy h1{font-size:43px}.hero-lead{font-size:16px}.hero-proof span{min-width:0;padding:0 10px}.hero-proof b{font-size:12px}.hero-proof small{font-size:9px}.lab-console{padding:17px;border-radius:22px}.lab-console-head{align-items:flex-start}.lab-console-head strong{font-size:18px}.experiment-code{font-size:10px}.guess-options{display:grid;grid-template-columns:repeat(3,1fr)}.guess-options button{padding:5px;font-size:12px}.cup-experiment{grid-template-columns:1fr 40px 1fr;height:160px}.lab-cup{height:92px}.lab-cup.cup-b{max-width:120px}.volume-value{font-size:12px}.lab-footer{align-items:flex-start;flex-direction:column}.search-panel,.math-paths,.dashboard-strip,.growth-path,.gallery-section{padding-left:16px;padding-right:16px}.search-panel{padding-top:38px;padding-bottom:40px}.section-heading,.resource-heading{align-items:flex-start;flex-direction:column;gap:4px}.searchbox kbd{display:none}.filter-row{align-items:flex-start}.filter-row>b{width:100%}.quick-filters{flex-wrap:nowrap;width:100%;overflow-x:auto;padding-bottom:4px}.filter-chip{flex:none}.math-paths{padding-top:42px;padding-bottom:46px}.path-card{min-height:195px}.dashboard-strip{grid-template-columns:1fr;padding-top:36px;padding-bottom:36px}.dashboard-strip article:last-child{grid-column:auto}.dashboard-strip article{min-height:180px}.growth-path{padding-top:42px;padding-bottom:42px}.growth-copy{display:block}.growth-steps{display:grid;grid-template-columns:1fr;overflow:visible}.growth-steps li{position:relative;flex:auto}.growth-steps li:not(:last-child):after{content:"";position:absolute;left:28px;bottom:-11px;height:11px;border-left:2px solid #c8d5f1}.growth-steps button{display:grid;grid-template-columns:40px 1fr;min-height:68px;align-items:center}.growth-steps b,.growth-steps small{text-align:left}.growth-steps small{grid-column:2}.resource-grid{grid-template-columns:1fr}.gallery-section{padding-top:46px;padding-bottom:54px}.card-body h3{min-height:auto}.teacher-cta{align-items:flex-start;flex-direction:column;margin:54px 16px;padding:28px 20px}.teacher-cta h2{font-size:25px}.site-note{padding-inline:20px}.workspace,.admin-shell{padding:0 14px}.file-row{grid-template-columns:1fr}.player-bar{gap:6px;padding-inline:8px}.player-bar .ghost{padding:8px}.player-bar div{max-width:45%;overflow:hidden}.player-bar strong,.player-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.library-hero{min-height:560px;padding-top:50px;padding-bottom:46px}.lab-console{padding:20px}.cup-experiment{height:154px}.guess-panel{padding-top:10px;padding-bottom:10px}.lab-observation{min-height:49px}
@media (max-width:860px){.library-hero{padding-top:42px;padding-bottom:44px}}
@media (max-width:600px){.library-hero{padding-top:34px;padding-bottom:38px}.lab-console{padding:16px}.cup-experiment{height:148px}}

/* Compact discovery navigation, recommendation brief and collapsible method */
.math-paths{padding-top:24px;padding-bottom:18px;border-top:1px solid #edf0f6}.compact-heading{align-items:center;margin-bottom:16px}.compact-heading h2{font-size:28px}.path-grid{gap:18px}.path-card{display:grid;grid-template-columns:58px minmax(0,1fr) 24px;align-items:center;gap:14px;min-height:120px;height:120px;padding:20px;border-color:#e1e7f2;border-radius:18px;box-shadow:none}.path-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(39,61,115,.07)}.path-icon{min-width:58px;width:58px;height:54px;margin:0;border-radius:14px;font-size:16px}.path-card>.path-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0;color:inherit;font-size:inherit}.path-card .path-copy strong{font-size:18px;line-height:1.25}.path-card .path-copy small{min-height:0;margin:3px 0 1px;color:#747f96;font-size:12px;line-height:1.45}.path-card .path-copy em{margin:0;color:#5d6880;font-size:13px;font-style:normal;font-weight:500;line-height:1.4}.path-arrow{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--blue);background:#eef3ff;font-size:16px;transition:transform .18s var(--ease)}.path-card:hover .path-arrow{transform:translateX(3px)}
.recommend-brief,.method-panel{max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.recommend-brief{display:grid;grid-template-columns:3fr 2fr;min-height:150px;margin-top:0}.brief-feature{display:grid;grid-template-columns:1fr auto;align-content:center;column-gap:20px;padding:22px 28px;border-radius:20px 0 0 20px;background:#edf3ff}.brief-feature>span{grid-column:1;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.06em}.brief-feature>strong{grid-column:1;margin:3px 0;font-size:21px;line-height:1.35}.brief-feature>p{grid-column:1;margin:0;color:var(--muted);font-size:13px}.brief-feature>.primary{grid-column:2;grid-row:1/4;align-self:center;min-height:42px;padding:9px 16px}.brief-links{display:grid;grid-template-rows:1fr 1fr;border:1px solid #e2e8f4;border-left:0;border-radius:0 20px 20px 0;background:#fff}.brief-links button{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 22px;border:0;background:transparent;text-align:left;cursor:pointer}.brief-links button+button{border-top:1px solid #edf0f6}.brief-links span,.brief-links b,.brief-links small{display:block}.brief-links b{font-size:15px}.brief-links small{color:var(--muted);font-size:12px}.brief-links small em{color:inherit;font-style:normal}.brief-links i{white-space:nowrap;color:var(--blue);font-size:12px;font-style:normal;font-weight:750}.brief-links button:hover{background:#f8faff}
.method-panel{margin-top:16px}.method-summary{display:grid;grid-template-columns:160px minmax(0,1fr) auto;align-items:center;gap:24px;width:100%;min-height:78px;padding:16px 22px;border:0;border-top:1px solid #dfe6f3;border-bottom:1px solid #edf0f6;background:#f9fbff;text-align:left;cursor:pointer}.method-summary strong{font-size:16px}.method-flow{overflow-x:auto;color:#4f5e7d;font-size:14px;font-weight:650;white-space:nowrap;scrollbar-width:none}.method-flow::-webkit-scrollbar{display:none}.method-flow i{margin:0 8px;color:#a2adc2;font-style:normal}.method-toggle-label{white-space:nowrap;color:var(--blue);font-size:13px;font-weight:750}.method-toggle-label i{display:inline-block;font-style:normal;transition:transform .24s var(--ease)}.method-details{display:grid;grid-template-columns:245px 1fr;align-items:center;gap:28px;max-height:0;padding:0 22px;overflow:hidden;opacity:0;transition:max-height .25s var(--ease),padding .25s var(--ease),opacity .2s ease}.method-details.is-open{max-height:310px;padding-top:22px;padding-bottom:22px;opacity:1}.method-details .growth-copy h2{font-size:23px}.method-details .growth-copy p{margin:4px 0 10px;color:var(--muted);font-size:13px}.method-details .growth-steps{grid-template-columns:repeat(7,1fr);gap:8px}.method-details .growth-steps button{min-height:88px;padding:11px}.method-details .growth-steps b{font-size:15px}.method-details .growth-steps small{font-size:11px}.gallery-section{padding-top:38px}.method-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.method-tags span{padding:3px 8px;border-radius:999px;color:#315edb;background:#edf3ff;font-size:12px;font-weight:700}.player-method{color:var(--blue)!important;font-weight:700}.player-bar{height:76px}.player-view iframe{height:calc(100vh - 76px)}
@media (max-width:1100px){.recommend-brief{grid-template-columns:1fr}.brief-feature{border-radius:20px 20px 0 0}.brief-links{grid-template-columns:1fr 1fr;grid-template-rows:auto;border-left:1px solid #e2e8f4;border-top:0;border-radius:0 0 20px 20px}.brief-links button+button{border-top:0;border-left:1px solid #edf0f6}.method-details{grid-template-columns:1fr}.method-details.is-open{max-height:350px}.method-details .growth-steps{display:flex;overflow-x:auto}.method-details .growth-steps li{flex:0 0 118px}}
@media (max-width:860px){.path-grid{display:flex;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x mandatory}.path-card{flex:0 0 330px;min-height:116px;height:116px;scroll-snap-align:start}.recommend-brief,.method-panel{padding-left:20px;padding-right:20px}.method-summary{grid-template-columns:135px minmax(0,1fr) auto;gap:14px}.method-details .growth-steps{display:flex;overflow-x:auto}.method-details .growth-steps li{flex:0 0 118px}.method-details .growth-steps li:after{display:none}}
@media (max-width:600px){.math-paths{padding-top:22px;padding-bottom:16px}.compact-heading{margin-bottom:14px}.compact-heading h2{font-size:25px}.path-grid{display:grid;grid-template-columns:1fr;overflow:visible;gap:10px}.path-card{width:100%;min-height:104px;height:104px;padding:15px;grid-template-columns:52px minmax(0,1fr) 24px}.path-icon{min-width:52px;width:52px;height:48px}.path-card .path-copy strong{font-size:16px}.recommend-brief,.method-panel{padding-left:16px;padding-right:16px}.recommend-brief{display:block;min-height:0}.brief-feature{display:block;min-height:142px;padding:20px;border-radius:18px 18px 0 0}.brief-feature>strong,.brief-feature>p{display:block}.brief-feature>.primary{margin-top:12px;min-height:38px}.brief-links{display:block;border-top:0;border-radius:0 0 18px 18px}.brief-links button{width:100%;min-height:70px;padding:13px 18px}.brief-links button+button{border-left:0;border-top:1px solid #edf0f6}.method-panel{margin-top:14px}.method-summary{grid-template-columns:1fr auto;gap:6px;min-height:82px;padding:13px 16px}.method-summary strong{font-size:15px}.method-flow{grid-column:1/3;grid-row:2;font-size:12px}.method-flow i{margin:0 4px}.method-toggle-label{grid-column:2;grid-row:1;font-size:12px}.method-details{display:block;padding-left:16px;padding-right:16px}.method-details.is-open{max-height:330px;padding-top:18px;padding-bottom:18px}.method-details .growth-copy h2{font-size:20px}.method-details .growth-steps{display:flex;overflow-x:auto;margin-top:14px}.method-details .growth-steps li{flex:0 0 92px}.method-details .growth-steps button{display:flex;min-height:70px}.method-details .growth-steps small{display:none}.gallery-section{padding-top:32px}.method-tags{margin-top:8px}.player-bar{height:82px}.player-view iframe{height:calc(100vh - 82px)}}

/* Course Showcase hero */
:root{--blue:#4e73ff;--ink:#18233d;--paper:#f8fafd;--muted:#6d7385;--showcase-shadow:0 20px 80px rgba(0,0,0,.06)}
.topbar{background:rgba(248,250,253,.9)}
.brand{animation:heroReveal .55s both}
.library-hero{--showcase-glow:78,115,255;position:relative;display:grid;grid-template-columns:minmax(380px,2fr) minmax(0,3fr);gap:clamp(36px,4vw,64px);align-items:center;width:min(100%,1520px);max-width:1520px;min-height:clamp(650px,calc(100svh - 76px),780px);padding:clamp(32px,4vh,52px) clamp(24px,3vw,48px);overflow:hidden}
.library-hero:before{inset:0;background-image:linear-gradient(rgba(78,115,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(78,115,255,.025) 1px,transparent 1px),radial-gradient(circle at calc(72% + var(--showcase-glow-x,0px)) calc(43% + var(--showcase-glow-y,0px)),rgba(var(--showcase-glow),.08),transparent 42%);background-size:42px 42px,42px 42px,auto;mask-image:linear-gradient(to bottom,#000 65%,transparent)}
.hero-copy{position:relative;z-index:2;max-width:560px}
.hero-copy>*{animation:heroReveal .62s var(--ease) both}
.hero-copy .eyebrow{animation-delay:.12s}.hero-copy h1{animation-delay:.25s;margin-bottom:26px;font-size:clamp(52px,5.1vw,76px);line-height:1.04}.hero-copy .hero-lead{animation-delay:.38s;color:#616a7d;line-height:1.85}.hero-copy .hero-actions{animation-delay:.52s;margin:32px 0}.hero-copy .hero-proof{animation-delay:.66s;margin-top:40px}
.hero-actions .primary{background:#4e73ff;box-shadow:0 12px 30px rgba(78,115,255,.2)}
.hero-actions .primary:hover{transform:translateY(-2px);box-shadow:0 17px 36px rgba(78,115,255,.28)}
.hero-text-button{transition:color .2s ease,transform .2s ease}.hero-text-button:hover{color:#4e73ff;transform:translateX(3px)}
.course-showcase{--showcase-accent:#4e73ff;--showcase-glow:78,115,255;--showcase-x:0px;--showcase-y:0px;--showcase-copy-x:0px;--showcase-copy-y:0px;--showcase-glow-x:0px;--showcase-glow-y:0px;position:relative;z-index:2;width:100%;max-width:880px;min-width:0;margin-left:auto;padding:6px 0 0;animation:heroReveal .7s .82s var(--ease) both;isolation:isolate}
.showcase-glow{position:absolute;z-index:-1;inset:8% 2% 17%;border-radius:50%;background:rgba(var(--showcase-glow),.08);filter:blur(64px);transform:translate3d(var(--showcase-glow-x),var(--showcase-glow-y),0);transition:background-color .8s ease-in-out,transform .25s ease-out;pointer-events:none}
.showcase-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px;padding:0 2%}
.showcase-head>div:first-child span,.showcase-head>div:first-child strong{display:block}.showcase-head>div:first-child span{color:var(--showcase-accent);font-size:10px;font-weight:800;letter-spacing:.18em;transition:color .8s ease-in-out}.showcase-head>div:first-child strong{margin-top:2px;font-size:20px;letter-spacing:-.025em}
.showcase-library-meta{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:66%}.showcase-library-meta span{padding:5px 9px;border:1px solid rgba(218,225,239,.86);border-radius:999px;color:#727a8e;background:rgba(255,255,255,.7);font-size:9px;font-weight:700;white-space:nowrap;backdrop-filter:blur(10px)}
.showcase-cover{display:block;width:92%;aspect-ratio:16/9;margin:0 auto;padding:0;overflow:hidden;border:0;border-radius:32px;background:transparent;cursor:pointer;text-align:left;box-shadow:var(--showcase-shadow);transition:box-shadow .35s ease,transform .35s ease;transform:translateZ(0)}
.showcase-cover:hover{box-shadow:0 30px 90px rgba(17,29,59,.13)}
.showcase-cover-inner{position:relative;display:block;width:100%;height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.76);border-radius:inherit;background:#f3f6fb;transform:translate3d(var(--showcase-x),var(--showcase-y),0) scale(1);opacity:1;filter:blur(0);transition:transform .4s ease-in-out,opacity .4s ease-in-out,filter .4s ease-in-out,background .8s ease-in-out;will-change:transform,opacity,filter}
.showcase-cover-backdrop{position:absolute;inset:-7%;width:114%;height:114%;object-fit:cover;filter:blur(24px) saturate(.72);opacity:.28;transform:scale(1.08);pointer-events:none}.showcase-cover-image{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain}.showcase-loading{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:#7b8498;font-size:12px;font-weight:700}.showcase-cover-inner:not(.is-loading) .showcase-loading{display:none}
.showcase-cover:hover .showcase-cover-inner{transform:translate3d(var(--showcase-x),var(--showcase-y),0) scale(1.02)}
.course-showcase.is-leaving .showcase-cover-inner{transform:translate3d(var(--showcase-x),var(--showcase-y),0) scale(1.03);opacity:0;filter:blur(8px)}
.course-showcase.is-entering .showcase-cover-inner{transform:translate3d(var(--showcase-x),var(--showcase-y),0) scale(.95);opacity:0;filter:blur(8px);transition:none}
.showcase-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(24,35,61,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(24,35,61,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(135deg,#000,transparent 72%)}
.showcase-cover-inner:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 22%,rgba(255,255,255,.34) 43%,transparent 58%);transform:translateX(-120%);transition:transform .8s ease;pointer-events:none}.showcase-cover:hover .showcase-cover-inner:after{transform:translateX(120%)}
.showcase-cover-brand{position:absolute;left:7%;top:7%;font-size:12px;font-weight:800;letter-spacing:.04em}.showcase-cover-brand i{display:block;margin-top:2px;color:#798297;font-size:8px;font-style:normal;letter-spacing:.17em}
.showcase-cover-copy{position:absolute;z-index:3;left:8%;bottom:10%;max-width:64%;transform:translate3d(var(--showcase-copy-x),var(--showcase-copy-y),0);transition:transform .25s ease-out}.showcase-cover-copy small,.showcase-cover-copy strong,.showcase-cover-copy em{display:block}.showcase-cover-copy small{color:var(--showcase-accent);font-size:10px;font-weight:850;letter-spacing:.14em;transition:color .8s ease-in-out}.showcase-cover-copy strong{margin:8px 0 5px;font-size:clamp(34px,4vw,58px);line-height:1;letter-spacing:-.055em}.showcase-cover-copy em{color:#687186;font-size:13px;font-style:normal}
.showcase-grade-mark{position:absolute;right:5%;bottom:-7%;color:rgba(var(--showcase-glow),.1);font-size:clamp(150px,18vw,250px);font-weight:850;line-height:1;letter-spacing:-.1em;transition:color .8s ease-in-out}
.showcase-axis{position:absolute;right:13%;top:18%;width:30%;height:34%;border-left:1px solid rgba(24,35,61,.14);border-bottom:1px solid rgba(24,35,61,.14);transform:rotate(-7deg)}.showcase-axis i,.showcase-axis b{position:absolute;display:block;background:var(--showcase-accent);transition:background-color .8s ease-in-out}.showcase-axis i{left:12%;right:7%;bottom:14%;height:2px;transform:rotate(-33deg);transform-origin:left center}.showcase-axis b{right:13%;top:15%;width:7px;height:7px;border-radius:50%;box-shadow:-70px 76px 0 rgba(var(--showcase-glow),.5),-35px 43px 0 rgba(var(--showcase-glow),.72)}
.showcase-orbit{position:absolute;border:1px solid rgba(var(--showcase-glow),.28);border-radius:50%;transition:border-color .8s ease-in-out}.orbit-one{right:8%;top:12%;width:34%;aspect-ratio:1;transform:rotate(22deg)}.orbit-two{right:18%;top:21%;width:17%;aspect-ratio:1;transform:rotate(-18deg)}
.showcase-symbols i{position:absolute;color:rgba(24,35,61,.34);font-style:normal;font-weight:700}.showcase-symbols i:nth-child(1){right:35%;top:12%;font-size:20px}.showcase-symbols i:nth-child(2){right:10%;top:42%;font-size:30px}.showcase-symbols i:nth-child(3){right:36%;top:47%;font-size:15px}.showcase-symbols i:nth-child(4){right:23%;top:9%;font-size:18px}.showcase-symbols i:nth-child(5){right:8%;top:18%;font-size:14px}
.showcase-hover-action{position:absolute;z-index:5;right:6%;bottom:6%;display:flex;align-items:center;gap:7px;padding:9px 13px;border-radius:999px;color:#fff;background:#18233d;font-size:11px;font-weight:750;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease}.showcase-cover:hover .showcase-hover-action,.showcase-cover:focus-visible .showcase-hover-action{opacity:1;transform:translateY(0)}
.showcase-info{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:26px;width:92%;min-height:70px;margin:10px auto 0;transform:translate3d(var(--showcase-copy-x),var(--showcase-copy-y),0);opacity:1;filter:blur(0);transition:transform .4s ease-in-out,opacity .4s ease-in-out,filter .4s ease-in-out;will-change:transform,opacity,filter}.course-showcase.is-leaving .showcase-info{transform:translate3d(var(--showcase-copy-x),calc(var(--showcase-copy-y) - 5px),0);opacity:0;filter:blur(8px)}.course-showcase.is-entering .showcase-info{transform:translate3d(var(--showcase-copy-x),calc(var(--showcase-copy-y) + 5px),0);opacity:0;filter:blur(8px);transition:none}
.showcase-course-copy span,.showcase-course-copy strong,.showcase-course-copy small,.showcase-duration span,.showcase-duration strong{display:block}.showcase-course-copy span{color:var(--showcase-accent);font-size:11px;font-weight:800;transition:color .8s ease-in-out}.showcase-course-copy strong{font-size:20px;line-height:1.35}.showcase-course-copy small{color:#71798b;font-size:12px}.showcase-duration{padding-left:22px;border-left:1px solid #e0e5ee}.showcase-duration span{color:#8990a0;font-size:10px}.showcase-duration strong{font-size:14px}.showcase-explore{color:#18233d;font-size:12px;font-weight:800;white-space:nowrap}.showcase-explore i{font-style:normal}
.showcase-pagination{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:5px}.showcase-pagination button{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:#d7dce6;cursor:pointer;transition:width .3s ease,background-color .3s ease}.showcase-pagination button.is-active{width:22px;border-radius:999px;background:var(--showcase-accent)}
@keyframes heroReveal{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media (max-width:1100px){.library-hero{grid-template-columns:minmax(330px,44%) minmax(0,56%);gap:28px;padding-inline:24px}.course-showcase{max-width:700px}.showcase-cover,.showcase-info{width:96%}.showcase-library-meta{max-width:58%}.showcase-library-meta span:nth-child(2){display:none}.showcase-info{gap:16px}}
@media (max-width:860px){.library-hero{grid-template-columns:1fr;min-height:auto;gap:56px;padding-top:56px;padding-bottom:64px;overflow:visible}.hero-copy{max-width:660px}.course-showcase{max-width:720px;margin:0 auto}.showcase-library-meta span:nth-child(2){display:inline-block}}
@media (max-width:600px){.library-hero{gap:46px;padding:38px 16px 50px}.hero-copy h1{font-size:46px}.hero-copy .hero-proof{margin-top:32px}.course-showcase{padding:0}.showcase-head{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:15px;padding:0}.showcase-library-meta{justify-content:flex-start;max-width:100%;overflow:hidden;flex-wrap:nowrap}.showcase-library-meta span{font-size:8px}.showcase-library-meta span:nth-child(2){display:none}.showcase-cover,.showcase-info{width:100%}.showcase-cover{border-radius:26px}.showcase-cover-copy{left:7%;bottom:10%;max-width:72%}.showcase-cover-copy strong{font-size:39px}.showcase-cover-copy em{font-size:11px}.showcase-grade-mark{right:3%;font-size:142px}.showcase-info{grid-template-columns:1fr auto;gap:12px;min-height:78px}.showcase-duration{padding-left:14px}.showcase-explore{display:none}.showcase-hover-action{opacity:1;transform:none}.showcase-pagination{margin-top:8px}}
@media (prefers-reduced-motion:reduce){.brand,.hero-copy>*,.course-showcase{animation:none}.showcase-cover-inner,.showcase-info,.showcase-glow{transition:none}.showcase-cover:hover .showcase-cover-inner{transform:none}}

/* Guided curriculum sequence */
.learning-route{display:grid;grid-template-columns:1.08fr repeat(4,1fr);gap:10px;margin:0 0 14px}.learning-route button{display:grid;grid-template-columns:1fr auto;align-content:center;min-width:0;min-height:86px;padding:13px 15px;border:1px solid #e2e7f1;border-radius:16px;background:#fbfcff;text-align:left;cursor:pointer;transition:border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.learning-route button:hover{transform:translateY(-2px);border-color:#bfccee}.learning-route button.is-active{border-color:#aabced;background:#eef3ff;box-shadow:0 8px 22px rgba(49,94,219,.07)}.learning-route small,.learning-route strong{grid-column:1}.learning-route small{color:#818ba0;font-size:10px;font-weight:800;letter-spacing:.06em}.learning-route strong{font-size:15px}.learning-route span{grid-column:1/3;color:#707b92;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learning-route button>span:last-child{align-self:end}.learning-route button:first-child>span:last-child{grid-column:2;grid-row:1/3;align-self:center;color:var(--blue);font-size:13px;font-weight:800}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.gallery-toolbar p{margin:0;color:#758097;font-size:13px}.sort-switch{display:flex;padding:3px;border-radius:11px;background:#f0f3f8}.sort-switch button{min-height:34px;padding:6px 12px;border:0;border-radius:8px;color:#6c768c;background:transparent;cursor:pointer;font-size:12px;font-weight:750}.sort-switch button.is-active{color:var(--blue);background:#fff;box-shadow:0 3px 10px rgba(39,61,115,.08)}.learning-kicker.number{color:#315edb}.learning-kicker.reasoning{color:#7659d9}.learning-kicker.measurement{color:#128c7f}.learning-kicker.space{color:#c06d18}.learning-kicker.extension{color:#6f788c}.player-next{flex:none;min-height:40px;padding:8px 13px;font-size:13px}.player-next[hidden]{display:none}
@media (max-width:860px){.learning-route{display:flex;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity;scrollbar-width:none}.learning-route::-webkit-scrollbar{display:none}.learning-route button{flex:0 0 190px;scroll-snap-align:start}.gallery-toolbar{align-items:flex-start}.player-bar{gap:10px}.player-bar div{flex:1;min-width:0}}
@media (max-width:600px){.learning-route{margin-right:-16px;padding-right:16px}.learning-route button{flex-basis:168px;min-height:80px}.gallery-toolbar{flex-direction:column;gap:10px;margin-bottom:16px}.sort-switch{width:100%}.sort-switch button{flex:1}.player-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;height:82px}.player-bar div{max-width:none;text-align:left}.player-bar #fullscreenButton{display:none}.player-next{padding:7px 10px}.player-next span{display:inline}}

/* Persistent curriculum manager */
.curriculum-manager{margin:8px 0 30px;padding:24px;border:1px solid #dfe6f4;border-radius:22px;background:linear-gradient(180deg,#f8faff,#fff);box-shadow:0 16px 42px rgba(39,61,115,.06)}
.curriculum-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.curriculum-manager-head h2{margin:3px 0 6px;font-size:27px}.curriculum-manager-head p{max-width:650px;margin:0;color:var(--muted);font-size:14px}.curriculum-eyebrow{color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.12em}.curriculum-save-area{display:flex;align-items:center;gap:14px;white-space:nowrap}.curriculum-save-area strong{color:#68738a;font-size:13px}.curriculum-grade-picker{display:flex!important;align-items:center;gap:8px!important;margin:0!important;color:#68738a;font-size:12px;font-weight:750}.curriculum-grade-picker select{min-height:38px;padding:7px 30px 7px 11px;border:1px solid #dce3ef;border-radius:10px;background:#fff;color:var(--ink);font-weight:750}.curriculum-status{min-height:22px;margin:12px 0 0;color:var(--green);font-size:13px;font-weight:700}.curriculum-list{display:grid;gap:22px;margin-top:12px}.curriculum-group{display:grid;gap:8px}.curriculum-group-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:7px;border-bottom:1px solid #e8edf6}.curriculum-group-head strong{font-size:15px}.curriculum-group-head span{color:#80899d;font-size:12px}.curriculum-row{display:grid;grid-template-columns:82px minmax(250px,1fr) 150px 92px auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid #e4e9f2;border-radius:15px;background:#fff}.curriculum-row.is-unassigned{grid-template-columns:82px minmax(250px,1fr) 150px auto;background:#fbfcfe}.curriculum-station{display:grid;place-items:center;min-height:34px;border-radius:10px;color:var(--blue);background:#edf3ff;font-size:12px;font-weight:800}.is-unassigned .curriculum-station{color:#747e92;background:#eef1f5}.curriculum-course{min-width:0}.curriculum-course strong,.curriculum-course small{display:block}.curriculum-course strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.curriculum-course small{margin-top:3px;color:#7a8498;font-size:11px}.curriculum-course .status{display:inline-flex;padding:2px 6px;font-size:10px}.curriculum-stage,.curriculum-position{display:grid;gap:3px;margin:0!important}.curriculum-stage span,.curriculum-position span{color:#8992a5;font-size:10px;font-weight:700}.curriculum-stage select,.curriculum-position input{width:100%;min-height:35px;padding:6px 9px;border:1px solid #dce3ef;border-radius:9px;background:#fff;font-size:12px}.curriculum-position input{text-align:center}.curriculum-actions{display:flex;justify-content:flex-end;gap:5px}.curriculum-actions .ghost,.curriculum-actions .secondary{min-height:35px;padding:6px 9px;font-size:11px}.curriculum-actions button:disabled{opacity:.35;cursor:not-allowed}.curriculum-actions .path-remove{color:#8b5960}.curriculum-empty{margin:4px 0;padding:16px;border:1px dashed #dce3ef;border-radius:13px;color:#7d879a;text-align:center;font-size:13px}
@media (max-width:1050px){.curriculum-row,.curriculum-row.is-unassigned{grid-template-columns:74px minmax(220px,1fr) 145px}.curriculum-position{grid-column:1}.curriculum-actions{grid-column:2/4;justify-content:flex-start}.curriculum-row.is-unassigned .curriculum-actions{grid-column:2/4}}
@media (max-width:700px){.curriculum-manager{padding:18px 14px}.curriculum-manager-head{display:block}.curriculum-save-area{align-items:flex-start;flex-direction:column;margin-top:16px}.curriculum-group-head{align-items:flex-start;flex-direction:column;gap:2px}.curriculum-row,.curriculum-row.is-unassigned{grid-template-columns:74px minmax(0,1fr);gap:9px}.curriculum-course strong{white-space:normal}.curriculum-stage{grid-column:1/3}.curriculum-position{grid-column:1}.curriculum-actions,.curriculum-row.is-unassigned .curriculum-actions{grid-column:1/3;justify-content:flex-start;flex-wrap:wrap}.curriculum-save-area .primary{width:100%}}

/* ICP filing footer */
.site-note{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px}.site-note span:first-child{color:#5f6b84;font-weight:700}.site-note a{color:#5f6fa0;text-decoration:none}.site-note a:hover{text-decoration:underline}
