@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";.concept-map{--map-ink: #29283d;--map-muted: #6c6a7d;--map-indigo: #5951bb;--map-green: #27765b;--map-amber: #925911;position:relative;min-width:0;overflow:hidden;border:1px solid #e6e3df;border-radius:20px;background:#fbfaf7;color:var(--map-ink);font-family:inherit;isolation:isolate}.concept-map *,.concept-map *:before,.concept-map *:after{box-sizing:border-box}.concept-map button{font:inherit}.concept-map-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:18px 22px;border-bottom:1px solid #e9e6e1;background:#fffdf9}.concept-map-caption{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:12px}.concept-map-caption strong{font-size:13px;font-weight:600}.concept-map-caption>span:last-child{color:var(--map-muted);margin-left:6px}.concept-map-live-dot{width:7px;height:7px;border-radius:50%;background:var(--map-indigo);box-shadow:0 0 0 4px #eeeaf9}.concept-map-controls{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid #e5e1db;border-radius:12px;background:#fff}.concept-map-controls button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:10px;border:0;border-radius:8px;background:transparent;color:#5a576e;cursor:pointer;transition:background .14s ease,color .14s ease}.concept-map-controls button:hover:not(:disabled){color:#4940a4;background:#f1eefb}.concept-map-controls button:disabled{opacity:.36;cursor:default}.concept-map-controls button svg{width:20px;height:20px}.concept-map button:focus-visible{outline:3px solid #6253ca;outline-offset:3px}.concept-map-zoom{min-width:45px;text-align:center;font-size:11px;color:var(--map-muted);font-variant-numeric:tabular-nums}.concept-map-control-divider{width:1px;height:22px;background:#e7e4ed;margin:0 4px}.concept-map-stage{position:relative;height:clamp(400px,52vh,560px);overflow:hidden;touch-action:none;cursor:grab;outline-offset:-4px;background-color:#f8f7f3;background-image:radial-gradient(ellipse at 55% 44%,#e8e4f433,transparent 66%),radial-gradient(circle,#d5d0c9 .7px,transparent .9px);background-size:100% 100%,22px 22px}.concept-map-stage:focus-visible{outline:3px solid #6253ca}.concept-map-stage.is-dragging{cursor:grabbing}.concept-map-svg{display:block;overflow:hidden}.concept-map-layer{fill:#807a8e;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:1.7px}.concept-map-edge{fill:none;stroke:#b6afc4;stroke-width:1.8;opacity:.72;transition:stroke .18s ease,opacity .18s ease}.concept-map-edge.is-mastered{stroke:#6eab91;opacity:.85}.concept-map-edge.is-selected{stroke:#776ac5;stroke-width:2.6;opacity:1}.concept-map-node-wrap{padding:8px;width:100%;height:100%}.concept-map-node{--status-color: #706b7e;--status-tint: #f0eef3;--status-border: #e1dce7;display:flex;position:relative;flex-direction:column;width:236px;height:154px;padding:14px 16px 15px;text-align:left;border:1px solid var(--status-border);border-radius:15px;background:linear-gradient(155deg,#fff,#fffdfa);color:var(--map-ink);box-shadow:0 3px #e5e0d966,0 5px 7px #3c315309;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.concept-map-node.status-mastered{--status-color: var(--map-green);--status-tint: #eaf5ed;--status-border: #c9decc}.concept-map-node.status-learning{--status-color: var(--map-indigo);--status-tint: #efebfc;--status-border: #d6ccef}.concept-map-node.status-available{--status-color: var(--map-amber);--status-tint: #fbf1df;--status-border: #e8d6b6}.concept-map-node.status-locked{background:linear-gradient(155deg,#fdfcfa,#f5f3f0)}.concept-map-node:hover{border-color:#a59bd4;box-shadow:0 3px #ded7ed99,0 5px 8px #3c315315}.concept-map-node.is-recommended{border-color:#9182d6;background:linear-gradient(155deg,#fff,#f6f2ff)}.concept-map-node.is-selected{border:2px solid #6253ba;padding:13px 15px 14px;box-shadow:0 0 0 3px #ded7f3,0 4px #ded7ed99}.concept-map-node-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}.concept-map-status-icon{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:9px;background:var(--status-tint);color:var(--status-color)}.concept-map-status-icon svg{width:19px;height:19px}.concept-map-node-tag{color:#7d778b;font-size:8px;letter-spacing:1.2px;font-weight:650;line-height:1.5}.concept-map-node-tag.is-next{padding:4px 7px;background:#eee8fc;border-radius:5px;color:#5b489c;letter-spacing:.8px}.concept-map-node-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere;margin-top:8px;margin-bottom:auto;color:#302c43;font-size:14px;font-weight:600;line-height:1.3;letter-spacing:-.15px}.concept-map-node-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:6px;color:var(--status-color);font-size:10px;line-height:1.4;flex:none}.concept-map-node-footer>span:last-child{font-size:9px;font-variant-numeric:tabular-nums}.concept-map-mastery-track{display:block;height:3px;overflow:hidden;margin-top:7px;background:#ece9e4;border-radius:4px;flex:none}.concept-map-mastery-track>span{display:block;width:var(--mastery);height:100%;border-radius:inherit;background:var(--status-color);transition:width .24s ease}.concept-map-surface-note{position:absolute;left:20px;bottom:17px;display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:6px;background:#f8f7f3ee;color:#746c83;font-size:8px;letter-spacing:1px;pointer-events:none}.concept-map-surface-note svg{width:34px;height:10px;fill:none;stroke:#9a91af;stroke-width:1.2}.concept-map-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 22px;border-top:1px solid #e9e6e1;background:#fffdf9}.concept-map-legend{display:flex;flex-wrap:wrap;gap:16px;list-style:none;padding:0;margin:0}.concept-map-legend li{display:flex;align-items:center;gap:5px;color:#686175;font-size:10px;line-height:1.5}.concept-map-legend svg{width:15px;height:15px}.concept-map-legend .status-mastered svg{color:var(--map-green)}.concept-map-legend .status-learning svg{color:var(--map-indigo)}.concept-map-legend .status-available svg{color:var(--map-amber)}.concept-map-legend .status-locked svg{color:#7c7389}.concept-map-help{margin:0;max-width:380px;color:#777182;font-size:10px;line-height:1.7}.concept-map--empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:370px;padding:48px 28px;text-align:center;background:radial-gradient(ellipse at center,#f0edf8,transparent 75%),#fbfaf7}.concept-map--empty h3{max-width:310px;margin:24px 0 10px;color:#3c3657;font-size:20px;font-weight:550;line-height:1.4;letter-spacing:-.4px}.concept-map--empty p{max-width:340px;margin:0;color:var(--map-muted);font-size:13px;line-height:1.7}.concept-map-empty-icon{display:flex;align-items:center;gap:18px}.concept-map-empty-icon span{position:relative;display:block;width:30px;height:30px;border:1px solid #c5bcdf;border-radius:9px;background:#fbf9ff;box-shadow:0 3px #e5deef}.concept-map-empty-icon span+span:before{position:absolute;top:14px;right:29px;width:19px;height:1px;background:#c5bcdf;content:""}.concept-map-empty-icon span:nth-child(2){width:38px;height:38px;background:#e9e3f7;border-color:#ac9ed0}.concept-map-empty-icon span:nth-child(2):before{top:18px;right:37px}@media(max-width:640px){.concept-map{border-radius:15px}.concept-map-toolbar{padding:14px;gap:10px}.concept-map-caption{width:100%}.concept-map-caption>span:last-child{margin-left:auto}.concept-map-controls{margin-left:auto}.concept-map-controls button{width:44px;height:44px}.concept-map-stage{height:420px}.concept-map-bottom{padding:14px}.concept-map-legend{gap:9px 13px}.concept-map-help{max-width:100%}.concept-map-surface-note{bottom:12px;left:12px}}@media(prefers-reduced-motion:reduce){.concept-map *,.concept-map *:before,.concept-map *:after{transition:none!important}}.bank-revision{padding:12px 16px;margin-bottom:16px;border:1px solid #e7dfeb;border-radius:12px;background:#faf7fc;overflow-wrap:anywhere}.bank-revision p{margin:0 0 8px}.bank-revision dl{margin:0;font-size:12px}.bank-revision dl div{margin:6px 0}.bank-revision dt{font-weight:600}.bank-revision dd{margin:2px 0 0}.bank-roles{min-width:0;margin:18px 0;padding:12px 16px;border:1px solid #e7dfeb;border-radius:12px}.bank-roles legend{font-weight:600}.bank-roles label,.bank-approval{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer}.bank-roles input,.bank-approval input{flex:0 0 auto;width:18px;height:18px;accent-color:#775395}.bank-approval{padding:8px 12px;background:#f3edf8;border-radius:10px;font-weight:600}.bank-coverage{margin-top:20px;overflow-wrap:anywhere}.bank-coverage h2{font-size:20px}.bank-coverage h3{font-size:15px;margin-top:20px}.bank-counts{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 12px;font-size:12px;margin:16px 0}.bank-counts>div{display:contents}.bank-counts>div>span:not(:first-child){text-align:center}.bank-coverage-concept{padding:12px 0;border-top:1px solid #e7dfeb;font-size:12px}.bank-coverage-concept summary,.bank-local-coverage>summary{min-height:44px;cursor:pointer;line-height:1.6}.bank-coverage-roles{margin:0 0 12px}.bank-coverage-roles div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;margin:6px 0}.bank-coverage-roles dd{margin:0}.bank-outcome{padding:10px 0;border-top:1px dashed #e7dfeb}.bank-local-coverage{margin-top:16px}.bank-coverage .editor-hint{line-height:1.7}.bank-coverage summary:focus-visible,.bank-roles input:focus-visible,.bank-approval input:focus-visible{outline:2px solid #775395;outline-offset:3px}.landing-page{--landing-secondary:#5d5e70;background:var(--cream);color:var(--ink);overflow-wrap:break-word}.landing-page a{color:inherit;text-decoration:none}.landing-width{width:min(1240px,calc(100% - 96px));margin-inline:auto}.landing-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:32px}.landing-brand{display:inline-flex;align-items:center;min-height:48px;width:fit-content}.landing-header nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.landing-header nav a{display:inline-flex;align-items:center;min-height:48px;gap:18px}.landing-header nav a:hover,.landing-footer>a:last-child:hover{color:var(--indigo)}.landing-header .landing-login{padding-inline:20px;border:1px solid #d9d5e6;border-radius:999px}.landing-skip{position:absolute;left:24px;top:12px;background:var(--ink);color:#fff!important;padding:14px 20px;border-radius:10px;z-index:2;transform:translateY(-180%)}.landing-skip:focus{transform:translateY(0)}.landing-page :is(button,a,summary):focus-visible{outline:3px solid #5146ba;outline-offset:5px}.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:70px;padding-block:46px 94px}.landing-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.8;color:var(--indigo)}.landing-hero h1{font-size:clamp(42px,4.75vw,68px);font-weight:650;line-height:1.12;letter-spacing:-.06em;margin:24px 0}.landing-hero h1 em{font-style:normal;color:var(--indigo)}.landing-lead{font-size:21px;line-height:1.55;letter-spacing:-.025em;max-width:440px;margin-bottom:18px}.landing-intro{font-size:15px;line-height:1.85;color:var(--landing-secondary);max-width:465px;margin-bottom:30px}.landing-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:56px;padding:8px 9px 8px 24px;background:var(--indigo);color:#fff!important;border-radius:999px;font-size:14px;font-weight:650;transition:transform .25s cubic-bezier(.32,.72,0,1),background .25s cubic-bezier(.32,.72,0,1)}.landing-cta>span{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:#ffffff20;font-size:22px}.landing-cta:hover{background:var(--indigo-dark);transform:translateY(-2px)}.landing-cta:active{transform:translateY(1px)}.landing-admission{font-size:11px;line-height:1.8;color:var(--landing-secondary);max-width:350px;margin:14px 0 18px}.landing-text-link{display:inline-flex;align-items:center;gap:16px;min-height:48px;font-size:13px;font-weight:600;color:var(--indigo)!important}.landing-text-link:hover{text-decoration:underline;text-underline-offset:5px}.landing-example-shell{background:#e7e4f2;padding:7px;border-radius:28px;min-width:0;box-shadow:0 18px 60px #4039930a}.landing-learning-example{background:var(--indigo);color:#fff;border-radius:22px;padding:30px}.landing-learning-example>.landing-eyebrow{color:#e2dfff;font-size:9px}.landing-learning-example h2{font-size:30px;line-height:1.25;font-weight:600;letter-spacing:-.04em;margin:14px 0}.landing-example-intro{font-size:13px;line-height:1.8;color:#edeaff;margin-bottom:24px}.landing-learning-scenario{padding:20px;background:var(--cream);color:var(--ink);border-radius:13px;margin-top:12px}.landing-scenario-label{display:block;font-size:9px;letter-spacing:.09em;line-height:1.8;color:#5750a5;font-weight:700}.landing-learning-scenario h3{font-size:19px;font-weight:650;letter-spacing:-.03em;line-height:1.4;margin:10px 0}.landing-learning-scenario p{font-size:12px;line-height:1.85;color:#59566c;margin-bottom:14px}.landing-scenario-next{display:block;font-size:11px;line-height:1.7;font-weight:650;color:#403993;border-top:1px solid #e0dcea;padding-top:12px}.landing-example-notice{font-size:10px;line-height:1.8;color:#e8e4ff;margin:18px 0 0}.landing-section{padding-block:90px;scroll-margin-top:24px}.landing-section:focus{outline:none}.landing-section:focus-visible{outline:3px solid #5146ba;outline-offset:8px;border-radius:8px}.landing-section h2{font-size:clamp(30px,3vw,42px);font-weight:600;line-height:1.25;letter-spacing:-.05em;margin:17px 0 22px}.landing-section-intro>p{max-width:340px;font-size:15px;line-height:1.85;color:var(--landing-secondary)}.landing-process{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:100px;border-top:1px solid #dedcd4}.landing-process-list{list-style:none;margin:0;padding:0}.landing-process-list li{display:flex;align-items:start;gap:24px;padding-block:25px;border-bottom:1px solid #dedcd4}.landing-process-list li:first-child{padding-top:0}.landing-process-list li:last-child{border:0;padding-bottom:0}.landing-step-number{font-size:11px;color:var(--indigo);padding-top:5px;font-weight:650}.landing-process-list h3{font-size:18px;font-weight:650;letter-spacing:-.025em;margin:0 0 10px;line-height:1.5}.landing-process-list p{font-size:13px;line-height:1.85;color:var(--landing-secondary);margin:0}.landing-teachers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:100px;border-top:1px solid #dedcd4}.landing-teacher-story>p{font-size:15px;line-height:1.85;color:var(--landing-secondary);max-width:480px}.landing-privacy-shell{background:#eae7f0;padding:7px;border-radius:25px}.landing-privacy{padding:38px;background:#efedf7;border-radius:19px}.landing-privacy h3{font-size:28px;font-weight:600;line-height:1.35;letter-spacing:-.04em;margin:18px 0}.landing-privacy p{font-size:14px;line-height:1.85;color:#514b66}.landing-privacy-divider{height:1px;background:#d8d3e6;margin:25px 0}.landing-privacy .landing-privacy-note{color:#403993;font-weight:550}.landing-privacy-caption{display:block;font-size:11px;line-height:1.8;color:#5d5770}.landing-faq{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:100px;border-top:1px solid #dedcd4}.landing-faq-list details{border-bottom:1px solid #dedcd4}.landing-faq-list summary{cursor:pointer;padding:23px 28px 23px 0;font-size:15px;font-weight:600;line-height:1.6;min-height:64px;position:relative;list-style:none}.landing-faq-list summary::-webkit-details-marker{display:none}.landing-faq-list summary:after{content:"+";position:absolute;right:2px;top:22px;font-size:22px;font-weight:400;color:var(--indigo)}.landing-faq-list details[open] summary:after{content:"−"}.landing-faq-list p{font-size:13px;line-height:1.9;color:var(--landing-secondary);margin:0 0 24px;padding-right:20px}.landing-final{padding:68px 24px 72px;text-align:center;background:#eeecf6;border-radius:26px;margin-top:25px;margin-bottom:70px}.landing-final h2{font-size:clamp(34px,4vw,52px);font-weight:600;line-height:1.2;letter-spacing:-.05em;margin:20px 0}.landing-final p{color:var(--landing-secondary);font-size:15px;margin-bottom:26px}.landing-final small{display:block;font-size:11px;color:var(--landing-secondary);margin-top:14px;line-height:1.8}.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:0 30px}.landing-footer .brand{font-size:21px}.landing-footer p{margin:0;font-size:11px;color:var(--landing-secondary)}.landing-footer>a:last-child{display:flex;align-items:center;min-height:48px;font-size:11px;color:var(--landing-secondary)}.auth-home-link{display:inline-flex;align-items:center;width:fit-content;min-height:48px;color:inherit;text-decoration:none}@media(min-width:1400px){.landing-hero{gap:95px;padding-top:60px}.landing-learning-example{padding:35px}}@media(max-width:1000px){.landing-width{width:calc(100% - 64px)}.landing-hero{gap:34px;padding-top:32px}.landing-hero h1{font-size:46px}.landing-lead{font-size:18px}.landing-intro{font-size:13px}.landing-learning-example{padding:24px}.landing-learning-example h2{font-size:27px}.landing-learning-scenario{padding:18px}.landing-section{padding-block:70px}.landing-process,.landing-teachers,.landing-faq{gap:48px}.landing-privacy{padding:28px}.landing-privacy h3{font-size:25px}}@media(max-width:767px){.landing-width{width:calc(100% - 40px)}.landing-header{padding-block:20px;gap:12px;flex-wrap:wrap}.landing-header .brand{font-size:24px}.landing-header nav{gap:18px;font-size:11px}.landing-header .landing-login{padding-inline:14px;gap:10px}.landing-hero{grid-template-columns:minmax(0,1fr);gap:38px;padding-block:36px 56px}.landing-hero h1{font-size:clamp(40px,8.5vw,60px);margin:20px 0}.landing-lead{font-size:20px;max-width:500px}.landing-intro{font-size:14px;max-width:520px}.landing-example-shell{max-width:520px;width:100%;margin-inline:auto}.landing-learning-example{padding:26px}.landing-learning-example h2{font-size:30px}.landing-section{padding-block:56px}.landing-process,.landing-teachers,.landing-faq{grid-template-columns:minmax(0,1fr);gap:30px}.landing-section h2{font-size:34px}.landing-section-intro>p{max-width:520px}.landing-privacy-shell{max-width:520px}.landing-privacy{padding:28px}.landing-process-list li{gap:20px}.landing-final{padding-block:50px;margin-top:0;margin-bottom:40px;border-radius:20px}.landing-footer{flex-wrap:wrap;gap:8px 20px}.landing-footer p{margin-left:auto}.landing-footer>a:last-child{width:100%;justify-content:center}}@media(max-width:420px){.landing-header nav{width:100%;justify-content:space-between;gap:12px}.landing-header .landing-login{margin-left:auto}.landing-hero{padding-top:25px}.landing-hero h1{font-size:39px}.landing-lead{font-size:18px}.landing-learning-example{padding:20px}.landing-learning-example h2{font-size:27px}.landing-learning-scenario{padding:18px}.landing-learning-scenario h3{font-size:18px}.landing-section h2{font-size:30px}.landing-process-list h3{font-size:17px}.landing-privacy{padding:24px}.landing-privacy h3{font-size:25px}.landing-footer .brand{font-size:19px}.landing-footer p{font-size:10px}}@media(prefers-reduced-motion:reduce){.landing-page *,.landing-page *:before,.landing-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.landing-cta:hover{transform:none}}:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#25283b;background:#f7f6f0;font-synthesis:none;font-weight:400;--ink:#25283b;--muted:#77798a;--indigo:#5750ba;--indigo-dark:#403993;--line:#e7e6df;--cream:#f7f6f0;--white:#fff;--radius:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,textarea,select{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #aca4f1;outline-offset:3px}button:focus:not(:focus-visible){outline:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,DM Sans,sans-serif;letter-spacing:-.045em}h1{font-size:38px;font-weight:750;line-height:1.25}h2{font-size:23px;font-weight:700;line-height:1.35}h3{font-size:18px;line-height:1.5}p{line-height:1.7}svg{flex-shrink:0}::selection{background:#dcd7ff}button{border:0}.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}.muted{color:var(--muted);font-size:14px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;color:#77758e;display:block;line-height:1.7}.brand{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-1.4px;font-size:26px;display:inline-flex;align-items:center;white-space:nowrap}.brand-mark{display:inline-flex;background:var(--indigo);color:#fff;width:31px;height:33px;border-radius:10px 10px 10px 3px;align-items:center;justify-content:center;font-size:26px;margin-right:11px;letter-spacing:-3px;padding-right:3px}.brand-mark span{color:#d9d6ff;margin-left:1px}.brand-period{color:var(--indigo)}.brand-button{background:none;text-align:left;padding:0}.button{border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:650;min-height:43px;padding:11px 17px;transition:background .15s,transform .15s;text-decoration:none}.button:active:not(:disabled){transform:translateY(1px)}.primary{background:var(--indigo);color:#fff}.primary:hover:not(:disabled){background:var(--indigo-dark)}.secondary{background:#fff;border:1px solid #dddce5;color:#4f497c}.secondary:hover:not(:disabled){background:#f3f1fb;border-color:#b7afd9}.ghost{background:transparent;color:var(--muted)}.ghost:hover{background:#eeece4;color:var(--ink)}.full{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:8px;padding:9px;min-width:36px;min-height:36px}.icon-button:hover{background:#ebe8f5}.icon-button.primary:hover{background:var(--indigo-dark)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.error{border:1px solid #ead0cd;color:#8e403d;background:#fff4f0;border-radius:8px;padding:12px 14px;font-size:13px;line-height:1.6;margin:12px 0}.field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:#505366;margin-bottom:18px}.field input,.field textarea,.field select{width:100%;border:1px solid #dddee6;background:#fff;color:var(--ink);border-radius:8px;padding:12px 13px;font-size:14px;font-weight:400;line-height:1.5;min-width:0}.field textarea{resize:vertical;min-height:90px}.field input::placeholder,.field textarea::placeholder{color:#a1a1ae}.field small{font-weight:400;color:var(--muted)}.segmented{display:inline-flex;gap:3px;background:#f2f1f5;padding:4px;border-radius:8px}.segmented button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;padding:9px 13px;border-radius:6px;color:#838191;font-size:11px;font-weight:600;white-space:nowrap;min-height:34px}.segmented button[aria-pressed=true]{background:#fff;color:#51499e;box-shadow:0 1px 4px #2720380d}.segmented button:hover{color:var(--indigo)}.progress-track{height:5px;overflow:hidden;background:#eeedf5;border-radius:10px}.progress-track>span{display:block;height:100%;background:#7870ce;border-radius:10px;transition:width .35s}.avatar{display:flex;align-items:center;justify-content:center;background:#e8e5f7;color:#6960a6;border-radius:50%;width:36px;height:36px;font-size:14px;font-weight:650;flex-shrink:0}.subject-tag{padding:5px 9px;font-size:10px;letter-spacing:.02em;background:#f3f2f7;color:#858096;border-radius:5px;white-space:nowrap}.status-pill{font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:6px;letter-spacing:.01em;white-space:nowrap;background:#f1f1f3;color:#93929f;text-transform:capitalize}.status-pill.mastered{background:#eaf3ed;color:#45826b}.status-pill.learning{background:#f6efd9;color:#947d36}.status-pill.available{background:#eeecfb;color:#6c61b8}.status-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#acacb4;flex-shrink:0}.status-dot.mastered{background:#5f9a7e}.status-dot.learning{background:#d3ac4f}.status-dot.available{background:#8376d1}.auth-page{display:grid;grid-template-columns:1.03fr 1fr;min-height:100vh}.auth-story{background:#eeede7;padding:44px 8.5%;display:flex;flex-direction:column;min-height:100vh;position:relative;overflow:hidden}.auth-story:after{content:"";position:absolute;width:450px;height:450px;border-radius:50%;border:1px solid #e3e0dc;right:-275px;top:28%;pointer-events:none}.auth-story-content{margin:auto 0;padding:62px 0 50px;z-index:1}.auth-story h1{font-size:clamp(39px,4.7vw,67px);letter-spacing:-.06em;line-height:1.15;margin:20px 0 22px;font-weight:650}.auth-story h1 em{font-style:normal;color:var(--indigo)}.auth-story-content>p{color:#7c7b88;font-size:14px;line-height:1.9}.auth-footnote{font-size:11px;color:#94919b;padding-top:22px}.story-map{margin-top:42px;width:270px;max-width:100%;padding-left:12px}.story-node{display:flex;align-items:center;gap:14px;border-radius:11px;padding:13px 16px;border:1px solid #dbd7e9;color:#71648b;background:#f8f7f3;font-size:12px;width:230px;box-shadow:0 7px 18px #46366005}.story-node span{font-size:10px;font-weight:650;border:1px solid #e2deec;border-radius:50%;width:25px;height:25px;display:flex;align-items:center;justify-content:center}.story-node.second{margin-left:22px}.story-node.third{margin-left:44px;background:#e9e5f8;border-color:#d7d0ee;color:#6252a7}.story-connector{width:1px;height:20px;margin-left:40px;background:#c5bddc;transform:rotate(-35deg)}.auth-form-section{padding:65px 10%;display:flex;align-items:center;justify-content:center;position:relative;flex-direction:column}.auth-form-wrap{width:100%;max-width:350px}.auth-form-wrap>h2{font-size:30px;margin:13px 0 9px;line-height:1.4}.auth-form-wrap>.muted{margin-bottom:28px}.auth-tabs{width:100%;margin-bottom:28px}.auth-tabs button{flex:1;font-size:12px}.auth-form-wrap form .button{margin-top:4px;justify-content:space-between;padding:14px 17px;font-size:13px}.demo-block{margin-top:29px;border-top:1px solid var(--line);padding-top:27px}.demo-block>p{font-size:12px;color:var(--muted);margin:7px 0 14px}.demo-buttons{display:flex;gap:10px}.demo-buttons .button{flex:1;padding:10px 8px;font-size:11px;white-space:nowrap}.auth-bottom{position:absolute;bottom:27px;font-size:10px;color:#aaa6ad}.app-shell{display:flex;min-height:100vh}.sidebar{width:228px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:34px 23px 20px;border-right:1px solid var(--line);background:#f3f2ec;z-index:20}.sidebar .brand{font-size:24px}.sidebar .brand-mark{width:29px;height:31px;font-size:24px}.workspace-label{font-size:8px;font-weight:700;letter-spacing:.16em;color:#99969f;margin:43px 10px 17px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:11px;background:transparent;padding:13px 12px;text-align:left;border-radius:8px;font-size:12px;color:#858291;min-height:44px}.nav-item.active{background:#e8e5f5;color:#6152a4;font-weight:650}.nav-item:hover{background:#eae7f0}.nav-item>span{margin-left:auto;background:#dcd5ee;min-width:19px;height:19px;display:flex;justify-content:center;align-items:center;border-radius:5px;font-size:10px}.sidebar-note{margin-top:auto;padding:28px 10px 38px}.note-icon{color:#9a8cbe;display:block;margin-bottom:15px}.sidebar-note h3{font-size:13px;font-weight:650;color:#6d677e;line-height:1.6;margin-bottom:8px;letter-spacing:-.02em}.sidebar-note p{font-size:11px;line-height:1.8;color:#a09ba8;max-width:160px;margin:0}.profile{display:flex;align-items:center;gap:9px;padding-top:17px;border-top:1px solid #e3e0d9}.profile .avatar{width:30px;height:30px;font-size:11px}.profile>div{min-width:0;flex:1}.profile strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile span:not(.avatar){display:block;color:#9b94a4;font-size:9px;margin-top:3px}.profile .icon-button{padding:5px;min-width:26px;color:#9b95a4}.app-main{margin-left:228px;flex:1;min-width:0}.content-page{padding:51px 52px 25px;max-width:1420px;margin:0 auto}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}.dashboard-heading h1{margin:12px 0 8px;font-size:35px}.dashboard-heading p{font-size:13px;color:#86818e;margin:0}.dashboard-heading .button{margin-top:13px;font-size:11px}.dashboard-intro{padding:36px 38px;background:#efedf6;border:1px solid #e7e3f0;display:flex;justify-content:space-between;gap:25px;border-radius:15px;overflow:hidden;position:relative;margin-bottom:40px}.dashboard-intro>div:first-child{max-width:520px;z-index:1}.dashboard-intro .eyebrow{font-size:9px;color:#8e80ac;letter-spacing:.13em}.dashboard-intro h2{font-size:28px;line-height:1.4;white-space:pre-line;font-weight:650;color:#4f456c;margin:12px 0 13px;letter-spacing:-.035em}.dashboard-intro p{font-size:12px;color:#9488a8;line-height:1.85;margin:0;max-width:410px}.intro-orbit{position:relative;flex-shrink:0;width:215px;height:215px;border:1px solid #d7d0e7;border-radius:50%;margin:-8px 10px;align-self:center;transform:rotate(-15deg)}.intro-orbit:before{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;border:1px solid #ded8eb;border-radius:50%}.orbit-center{position:absolute;top:63px;right:63px;bottom:63px;left:63px;background:#e3dcef;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#a18abd;transform:rotate(15deg)}.orbit-label{position:absolute;background:#f7f5fb;padding:8px 17px;box-shadow:0 3px 10px #6a507908;border:1px solid #e2dced;border-radius:7px;font-size:10px;color:#a090b6;transform:rotate(15deg)}.orbit-label.top{top:11px;right:-2px}.orbit-label.bottom{bottom:6px;left:-3px}.orbit-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:#c3b1db;border:3px solid #eee8f4}.orbit-dot.one{left:2px;top:68px}.orbit-dot.two{right:15px;bottom:38px}.orbit-dot.three{left:91px;top:18px;width:8px;height:8px;border:2px solid #eee8f4}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.section-heading h2{font-size:19px;margin:0;letter-spacing:-.035em}.section-heading h2 span{display:inline-flex;align-items:center;justify-content:center;font-family:DM Sans,sans-serif;background:#ece9e0;color:#93909d;font-size:10px;min-width:22px;height:22px;border-radius:5px;margin-left:8px;vertical-align:middle;letter-spacing:0}.section-heading>.muted{font-size:10px}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:22px}.course-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:13px;padding:25px 24px;text-align:left;min-height:285px;transition:border-color .18s,box-shadow .18s,transform .18s;max-width:100%;width:100%}.course-card:hover{border-color:#bdb5dd;box-shadow:0 8px 24px #4b3d6509;transform:translateY(-2px)}.course-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.course-symbol{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;width:47px;height:47px}.course-card h3{font-size:18px;letter-spacing:-.035em;margin:0 0 9px}.course-card>p{font-size:11px;color:#928d9b;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 24px}.course-card-meta{font-size:10px;color:#a6a0af;display:flex;justify-content:space-between;gap:8px;margin-top:auto;margin-bottom:14px}.course-card .progress-track{height:4px}.course-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:9px;color:#9b95a6;gap:10px}.course-card-action{display:flex;align-items:center;gap:7px;color:#7160b2;font-size:10px;font-weight:600}.empty-state{padding:46px 30px;text-align:center}.empty-icon{display:inline-flex;align-items:center;justify-content:center;width:65px;height:65px;border-radius:18px;background:#eeebf8;color:#9584bd;margin-bottom:21px}.empty-state h3{font-size:24px;margin-bottom:10px}.empty-state p{max-width:490px;margin:0 auto 22px;color:var(--muted);font-size:13px}.page-footer{display:flex;justify-content:space-between;align-items:center;margin-top:55px;border-top:1px solid var(--line);padding-top:23px;color:#b2abb9}.page-footer .brand{font-size:17px;opacity:.45}.page-footer .brand-mark{height:22px;width:21px;font-size:18px;border-radius:6px;margin-right:7px}.page-footer>span{font-size:9px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:100vh}.workspace-main{padding:30px 34px 40px;min-width:0}.teacher-workspace{grid-template-columns:minmax(0,1fr);max-width:1340px;margin:0 auto}.teacher-workspace .workspace-main{padding:35px 52px}.breadcrumb{display:flex;align-items:center;gap:10px;color:#aba5b3;font-size:10px;margin-bottom:27px}.breadcrumb button{background:none;padding:2px 0;color:#968baf;font-size:10px}.breadcrumb button:hover{color:var(--indigo)}.course-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.course-header h1{font-size:32px;margin:9px 0 8px;line-height:1.35}.course-header p{font-size:12px;color:#9b94a6;max-width:630px;margin:0}.course-header .eyebrow{font-size:8px}.course-header-icon{width:58px;height:58px;display:flex;justify-content:center;align-items:center;background:#eeebf7;color:#9d8fbd;border-radius:14px;flex-shrink:0}.course-stats{display:flex;gap:27px;align-items:center;padding:0 0 26px;margin-bottom:25px;border-bottom:1px solid var(--line)}.course-stats>div:not(.stat-message){min-width:115px}.course-stats>div>strong{display:block;font-size:26px;font-weight:650;letter-spacing:-.04em;color:#5f5479}.course-stats>div>strong>small{font-size:14px;font-weight:400;color:#b0a5bd;margin-left:4px}.course-stats>div>span{font-size:9px;color:#a39aad}.stat-message{display:flex;align-items:center;gap:9px;margin-left:auto;color:#afa0c1}.stat-message>span{font-size:10px!important;line-height:1.6;max-width:145px}.share-course{margin-left:auto}.share-course>span{display:block;margin-bottom:7px}.share-course>button{display:flex;align-items:center;gap:18px;padding:8px 13px;border-radius:7px;background:#ece8f6;color:#7360a8;font-size:10px}.share-course code{font-size:14px;-webkit-user-select:all;user-select:all;font-weight:700;letter-spacing:.07em}.share-course button:hover{background:#e3ddee}.recommendation-banner{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:#f0edf8;border:1px solid #e8e1f1;border-radius:10px;padding:16px 18px;margin-bottom:25px;color:#a99abc}.recommendation-icon{background:#e8e1f4;color:#9b87be;width:35px;height:35px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.recommendation-banner>span:nth-child(2){flex:1;min-width:0}.recommendation-banner .eyebrow{font-size:8px;color:#a398b5}.recommendation-banner strong{display:block;font-size:13px;letter-spacing:-.01em;color:#70608c;margin:2px 0}.recommendation-banner small{display:block;color:#a398b5;font-size:10px;line-height:1.6}.recommendation-banner:hover{background:#e9e4f4}.map-panel{overflow:hidden;margin-bottom:24px}.panel-heading{padding:23px 24px 19px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h2{font-size:17px;margin:0 0 6px;letter-spacing:-.025em}.panel-heading p{font-size:10px;color:#a29aaa;margin:0}.map-footnote{font-size:9px;color:#ada4b6;padding:14px 23px;border-top:1px solid #f0edf4;line-height:1.8}.linear-list{padding:0 16px 13px}.linear-concept{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;padding:18px 13px;width:100%;border-top:1px solid #f0edf4;border-radius:7px;color:#a79caf}.linear-concept:hover{background:#f8f6fc}.linear-concept.selected{background:#f2eff9}.linear-number{width:28px;font-size:10px;color:#b0a7bf;flex-shrink:0}.linear-text{flex:1;min-width:0}.linear-text>strong{display:block;font-size:12px;color:#71637f;margin-bottom:5px}.linear-text>small{font-size:10px;color:#a297b0;display:block;line-height:1.7}.linear-deps{font-size:9px;color:#b2a8be;display:block;margin-top:7px}.concept-detail{padding:24px 25px;margin-bottom:24px}.concept-detail-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.concept-detail-heading h2{font-size:21px;margin:5px 0 12px;color:#62556f}.concept-detail-heading .eyebrow{font-size:8px}.concept-detail>.muted{font-size:12px;line-height:1.8;color:#9c8eaa}.concept-evidence{display:flex;gap:20px;font-size:10px;color:#b0a3bc;margin:18px 0}.concept-evidence strong{color:#8b789f;font-weight:600}.prerequisite-section{background:#f9f7fc;border:1px solid #f1edf6;border-radius:8px;padding:14px 15px;margin:18px 0}.prerequisite-section>.eyebrow{font-size:8px;color:#b3a6c0;margin-bottom:9px}.prerequisite-list{display:flex;flex-wrap:wrap;gap:8px}.prerequisite-chip{display:flex;align-items:center;gap:7px;border:1px solid #e8e0f0;background:#fff;border-radius:6px;padding:8px 10px;font-size:10px;color:#8e7ca3}.prerequisite-chip>span:last-of-type{color:#b3a4c4;font-size:8px}.prerequisite-chip:hover{border-color:#ae9ac8}.prerequisite-explanation{font-size:10px;color:#a796b8;line-height:1.8;margin:12px 0 0}.concept-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:19px}.concept-actions .button{font-size:10px;min-height:37px;padding:10px 13px}.lesson-content{border-top:1px solid #ece7f2;padding-top:25px;margin-top:23px;scroll-margin:20px}.lesson-content>.eyebrow{font-size:9px;margin-bottom:13px}.lesson-prose{font-size:13px;line-height:1.85;color:#746783}.lesson-prose p{white-space:pre-line;margin-bottom:15px}.assessment{margin-top:30px;border:1px solid #e8e1f0;border-radius:11px;background:#faf9fd;padding:20px}.assessment-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}.assessment-heading .eyebrow{font-size:8px}.assessment-heading>small{font-size:8px;color:#b3a8bf}.assessment fieldset{padding:0;border:0;margin:0 0 18px;min-width:0}.assessment legend{font-size:15px;line-height:1.8;color:#6a567e;padding:0;margin-bottom:17px;width:100%;font-weight:600}.answer-options{display:flex;flex-direction:column;gap:9px}.answer-option{background:#fff;border:1px solid #eae4f1;border-radius:8px;padding:12px;display:flex;align-items:center;gap:11px;font-size:12px;color:#8e7f9f;cursor:pointer;line-height:1.7}.answer-option.chosen{background:#f2eefb;border-color:#aea0cf;color:#665386}.answer-option input{accent-color:var(--indigo)}.answer-letter{font-size:9px;color:#ad9cbe;font-weight:650;background:#f4f0f8;padding:3px 7px;border-radius:4px}.answer-feedback{padding:16px;border-radius:8px;border:1px solid #e4e1ed;background:#f0eef7}.answer-feedback.correct{background:#f0f6f1;border-color:#ddebe1}.answer-feedback.incorrect{background:#faf3e9;border-color:#ecdfce}.answer-feedback h3{font-size:14px;color:#75876f;margin:0 0 8px}.answer-feedback.incorrect h3{color:#9a8260}.answer-feedback p{font-size:12px;color:#8c8299;margin-bottom:12px}.answer-feedback small{display:block;font-size:10px;line-height:1.8;color:#a497b2;margin-bottom:15px}.answer-feedback .button{font-size:11px}.tutor-panel{border-left:1px solid var(--line);background:#fcfbf8;padding:29px 22px 17px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;min-height:500px;min-width:0}.tutor-heading{display:flex;align-items:center;gap:10px;margin-bottom:17px}.tutor-symbol{display:flex;width:35px;height:35px;align-items:center;justify-content:center;background:#eee8f6;border-radius:10px;color:#a78fc4;flex-shrink:0}.tutor-heading h2{font-size:12px;color:#78638e;margin:0 0 6px;letter-spacing:-.02em}.mode-badge{font-size:8px;letter-spacing:.03em;color:#af9dbf;display:flex;align-items:center;gap:5px}.mode-badge:before{content:"";width:4px;height:4px;background:#b4a1c7;border-radius:50%;display:block}.tutor-description{font-size:9px;line-height:1.8;color:#b0a2ba;margin-bottom:16px}.tutor-context{font-size:9px;color:#b5a6be;padding:11px 0;border-top:1px solid #eee9f1;border-bottom:1px solid #eee9f1;line-height:1.8}.tutor-context strong{font-weight:500;color:#9b86af;display:block;font-size:10px}.tutor-messages{flex:1;overflow:auto;min-height:90px;scrollbar-width:thin;padding:21px 2px 9px}.tutor-welcome{color:#c7b6d3;text-align:left;padding-top:25px}.tutor-welcome>svg{margin-bottom:12px}.tutor-welcome h3{font-size:16px;color:#9f85b4;margin-bottom:9px;letter-spacing:-.02em}.tutor-welcome p{font-size:10px;line-height:1.8;color:#baa9c7;margin-bottom:18px}.tutor-prompt{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;background:#fff;border:1px solid #e8e0ee;color:#a28ab7;border-radius:7px;padding:11px 12px;font-size:9px;width:100%;margin-bottom:8px;line-height:1.8}.tutor-prompt:hover{background:#f4eef8}.tutor-message{margin-bottom:21px}.tutor-message>span{font-size:7px;font-weight:650;letter-spacing:.13em;color:#b3a0c3;display:block;margin-bottom:7px}.tutor-message p{font-size:11px;line-height:1.9;color:#9f88b1;white-space:pre-line;overflow-wrap:anywhere;margin:0}.tutor-message.user{padding:13px;border-radius:9px;background:#f0eaf7;margin-left:20px}.tutor-message.user p{color:#9278a8}.tutor-thinking{font-size:10px;color:#ad94c1}.tutor-next{display:flex;flex-direction:column;align-items:stretch;gap:5px;text-align:left;background:#f4eef9;border:1px solid #eae0f1;border-radius:8px;padding:13px 12px;margin:10px 0;color:#b1a0c1}.tutor-next .eyebrow{font-size:7px;color:#b7a2c7}.tutor-next strong{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#9980b1;font-weight:600}.tutor-next small{font-size:8px;color:#b3a0c4;line-height:1.8}.tutor-composer{position:relative;border:1px solid #e7deee;border-radius:8px;background:#fff;padding:11px 8px 8px;display:flex;gap:5px;align-items:flex-end;margin-top:8px}.tutor-composer textarea{border:0;outline:none;resize:none;background:transparent;min-width:0;flex:1;color:#a286b8;font-size:10px;line-height:1.9;padding:0 3px}.tutor-composer textarea::placeholder{color:#c0accf}.tutor-composer .icon-button{min-width:28px;min-height:28px;padding:5px;border-radius:6px;background:#a587c1}.tutor-composer .icon-button:hover{background:#8c6ba9}.tutor-footnote{font-size:7px;color:#c2b0cd;text-align:center;margin-top:9px}.roster .panel-heading{padding:25px 26px}.roster .panel-heading .eyebrow{font-size:8px;margin-bottom:6px}.empty-small{text-align:center;padding:25px 30px 35px;color:#b3a4c0}.empty-small h3{font-size:18px;color:#8d779f;margin:12px 0 8px}.empty-small p{font-size:12px;max-width:460px;margin:0 auto;color:#b19abd}.roster-list{padding:0 24px 13px}.roster-row{display:flex;align-items:center;gap:12px;padding:17px 0;border-top:1px solid #eee8f3}.roster-row>div:nth-child(2){min-width:0;flex:1}.roster-row>div>strong{display:block;font-size:12px;color:#8e769f}.roster-row>div>small{font-size:10px;color:#b4a0c2;overflow-wrap:anywhere}.roster-progress{width:180px;max-width:25%}.roster-progress>span{font-size:9px;color:#b3a0c1;display:block;margin-bottom:9px}.roster-row>strong{font-size:12px;color:#9f85b2;font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#28243766;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.modal{max-width:440px;width:100%;padding:28px;box-shadow:0 15px 70px #24223333}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.modal-heading h2{font-size:25px;margin:0}.modal>.muted{font-size:12px;margin-bottom:24px}.code-input{text-transform:uppercase;letter-spacing:.12em}.loading-page,.boot-page{display:flex;align-items:center;justify-content:center;gap:18px;min-height:100vh;color:#a898b5;font-size:13px}.boot-page{flex-direction:column}.boot-page .brand{color:var(--ink)}.boot-page .loading-orbit{margin-top:24px}.loading-courses{padding:55px;text-align:center;color:#a698b2;font-size:12px}.loading-orbit{display:block;width:26px;height:26px;border:2px solid #e7dff0;border-top-color:#9280b7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.editor-workspace{padding:36px 46px 45px;max-width:1380px;margin:0 auto}.editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.editor-header h1{font-size:30px;margin:8px 0 11px}.editor-header p{font-size:12px;color:#a291b0;max-width:650px}.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:22px;align-items:start}.editor-main{min-width:0}.editor-sidebar{position:sticky;top:25px}.editor-section{padding:25px;margin-bottom:20px}.editor-section h2{font-size:19px;margin:0 0 17px}.editor-sidebar .card,.editor-summary{padding:20px}.editor-summary h2,.editor-summary h3{font-size:17px}.editor-summary ul{padding-left:17px}.editor-summary li{font-size:11px;line-height:1.9;color:#a591b5}.editor-hint{font-size:11px;line-height:1.8;color:#a393b0}.editor-concept{margin-bottom:17px;border:1px solid #e9e2f0;border-radius:10px;background:#fff;overflow:hidden}.editor-concept>summary{padding:18px 20px;cursor:pointer;background:#f9f7fc;font-size:14px;font-weight:600;color:#89739b}.editor-concept>summary .editor-hint{font-weight:400}.editor-concept>div{padding:20px}.editor-question{border:1px solid #eae3f0;background:#fbf9fd;border-radius:8px;padding:17px;margin-bottom:14px}.editor-question h3{font-size:14px;color:#a48ab7;margin-bottom:14px}.editor-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.editor-options .field{margin-bottom:10px}.editor-options label{font-size:11px}.editor-prerequisites{display:flex;flex-wrap:wrap;gap:10px;border:0;padding:0;margin-bottom:20px;min-width:0}.editor-prerequisites legend{font-size:12px;font-weight:600;color:#a28bb3;margin-bottom:11px}.editor-prerequisites label{display:flex;align-items:center;gap:7px;border:1px solid #e8e0ee;background:#f8f5fb;padding:9px 11px;border-radius:7px;font-size:11px;color:#a38bb6}.editor-prerequisites input{accent-color:var(--indigo)}.editor-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:17px 0}.editor-actions .button{font-size:11px}.editor-section>.field:last-child{margin-bottom:0}.editor-workspace details summary::marker{color:#b19bc4}.editor-workspace fieldset{min-width:0}.editor-workspace textarea{min-height:115px}.editor-workspace .field input,.editor-workspace .field select,.editor-workspace .field textarea{font-size:12px;color:#766883}.editor-workspace .field{color:#94819f}.editor-workspace .error{font-size:11px}.editor-workspace .button.ghost{border:1px solid #e9e0ee}.editor-workspace .button.full{margin-top:14px}.auth-form-wrap .field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:47px;padding-right:40px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#77798a 50%),linear-gradient(135deg,#77798a 50%,transparent 50%);background-position:right 16px center,right 10px center;background-size:6px 6px;background-repeat:no-repeat}.muted,.auth-story-content>p,.dashboard-heading p,.dashboard-intro p,.course-card>p,.course-header p,.concept-detail>.muted{color:#747080}.course-card-meta,.course-card-bottom,.map-footnote,.linear-text>small,.linear-deps,.concept-evidence,.prerequisite-explanation,.lesson-prose,.assessment-heading>small,.answer-feedback p,.answer-feedback small{color:#787181}.tutor-heading h2{color:#655373}.tutor-description,.tutor-context,.tutor-welcome p,.tutor-message p,.tutor-footnote,.tutor-next small{color:#81708e}.tutor-context strong,.tutor-welcome h3,.tutor-prompt,.tutor-message.user p,.tutor-next strong,.tutor-composer textarea{color:#746086}.tutor-composer textarea::placeholder{color:#95829f}.roster-row>div>small,.roster-progress>span,.empty-small p,.editor-hint,.editor-header p,.editor-summary li{color:#80718b}.eyebrow,.mode-badge,.tutor-message>span,.tutor-next .eyebrow,.recommendation-banner .eyebrow,.recommendation-banner small{color:#82748f}.status-pill.locked{color:#777480}.panel-heading p,.section-heading>.muted,.profile span:not(.avatar),.workspace-label,.sidebar-note p,.page-footer>span,.auth-footnote,.auth-bottom{color:#807989}.prerequisite-chip>span:last-of-type{color:#81718f}.linear-text>strong,.concept-detail-heading h2,.roster-row>div>strong{color:#655571}.sidebar-note h3{color:#6c6276}@media(min-width:1500px){.workspace{grid-template-columns:minmax(0,1fr) 350px}.workspace-main{padding:36px 50px}.tutor-panel{padding:34px 27px}.tutor-messages{padding-top:30px}.tutor-message p{font-size:12px}.tutor-description{font-size:10px}.teacher-workspace{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1180px){.sidebar{width:198px;padding:30px 18px 18px}.app-main{margin-left:198px}.content-page{padding:38px 32px 24px}.workspace{grid-template-columns:minmax(0,1fr) 275px}.workspace-main{padding:25px 25px 35px}.tutor-panel{padding:25px 16px 15px}.panel-heading{flex-wrap:wrap;padding:21px}.panel-heading .segmented{margin-left:auto}.course-header h1{font-size:27px}.stat-message{display:none}.course-stats{gap:20px}.course-stats>div:not(.stat-message){min-width:90px}.intro-orbit{width:175px;height:175px;margin-right:0}.orbit-center{top:48px;right:48px;bottom:48px;left:48px}.dashboard-intro{padding:30px}.dashboard-intro h2{font-size:25px}.editor-workspace{padding:30px 28px}.editor-grid{grid-template-columns:minmax(0,1fr) 210px}.teacher-workspace{grid-template-columns:1fr}.teacher-workspace .workspace-main{padding:30px 35px}}@media(max-width:960px){.workspace{grid-template-columns:minmax(0,1fr)}.tutor-panel{position:static;height:650px;max-height:85vh;border-left:0;border-top:1px solid var(--line);padding:26px;display:flex}.tutor-heading h2{font-size:15px}.tutor-description,.tutor-context{font-size:11px}.tutor-message p{font-size:12px}.tutor-welcome{padding-top:10px}.tutor-welcome p{font-size:12px}.tutor-prompt{font-size:11px;max-width:400px}.tutor-next small{font-size:10px}.tutor-next strong,.tutor-composer textarea{font-size:12px}.tutor-footnote{font-size:9px}.tutor-messages{padding:18px 0;min-height:110px}.tutor-next{margin:0 0 10px}.tutor-heading{margin-bottom:10px}.tutor-description{margin-bottom:12px}.course-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.intro-orbit{display:none}.dashboard-intro>div:first-child{max-width:none}.dashboard-intro p{max-width:480px}.auth-story{padding:35px 8%}.auth-form-section{padding:55px 8%}.auth-story h1{font-size:46px}.auth-story-content>p{font-size:12px}.editor-grid{grid-template-columns:minmax(0,1fr)}.editor-sidebar{position:static}.editor-summary{display:flex;flex-direction:column}.teacher-workspace .workspace-main{padding:30px}.course-header h1{font-size:30px}}@media(max-width:700px){.app-shell{display:block}.sidebar{position:sticky;top:0;width:100%;height:auto;display:grid;grid-template-columns:1fr auto;padding:15px 20px 12px;gap:12px;background:#f3f2ecf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand{font-size:23px}.sidebar .brand-mark{width:27px;height:29px;font-size:23px}.workspace-label,.sidebar-note{display:none}.sidebar nav{grid-column:1 / -1;grid-row:2;flex-direction:row;gap:6px}.nav-item{padding:9px 13px;font-size:11px;min-height:37px}.nav-item svg{width:17px;height:17px}.nav-item>span{min-width:16px;height:16px;font-size:8px}.profile{padding:0;border:0;gap:7px;grid-column:2;grid-row:1}.profile>div{display:none}.profile .avatar{width:28px;height:28px}.app-main{margin-left:0}.content-page{padding:28px 22px}.dashboard-heading{align-items:flex-start;gap:15px;margin-bottom:27px}.dashboard-heading h1{font-size:28px;margin-top:9px}.dashboard-heading p{font-size:11px}.dashboard-heading .eyebrow{font-size:8px}.dashboard-heading>.button{font-size:9px;padding:10px;min-height:37px;margin-top:25px;white-space:nowrap}.dashboard-heading>.button svg{width:14px;height:14px}.dashboard-intro{padding:26px;margin-bottom:30px}.dashboard-intro h2{font-size:25px}.dashboard-intro .eyebrow{font-size:8px}.dashboard-intro p{font-size:11px}.section-heading{margin-bottom:18px}.section-heading>.muted{display:none}.course-grid{gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.course-card{padding:24px;min-height:280px}.page-footer{margin-top:38px}.page-footer>span{font-size:8px;text-align:right;max-width:130px}.workspace-main,.teacher-workspace .workspace-main{padding:22px 20px 30px}.breadcrumb{margin-bottom:22px}.course-header h1{font-size:27px}.course-header-icon{width:48px;height:48px}.course-header-icon svg{width:25px}.course-header p{font-size:11px}.course-stats{gap:28px}.course-stats>div>strong{font-size:24px}.course-stats>div>span{font-size:9px}.panel-heading{padding:20px;gap:14px}.panel-heading h2{font-size:17px}.panel-heading p{font-size:10px}.panel-heading .segmented{margin-left:0}.segmented button{font-size:10px;padding:8px 11px}.concept-detail{padding:21px}.concept-detail-heading h2{font-size:21px}.linear-list{padding:0 10px 10px}.linear-concept{gap:9px;padding:16px 9px}.linear-number{width:20px;font-size:9px}.linear-text>strong{font-size:11px}.linear-text>small{font-size:9px}.linear-deps{font-size:8px}.linear-concept>.status-pill{padding:5px 7px;font-size:8px}.linear-concept>svg{display:none}.recommendation-banner{padding:14px;gap:11px}.recommendation-banner strong{font-size:12px}.recommendation-banner small{font-size:9px}.course-stats .share-course{min-width:0}.share-course>button{gap:8px;padding:8px}.share-course code{font-size:12px}.share-course button>span{font-size:8px}.roster-list{padding:0 18px 12px}.roster-row{gap:9px}.roster-row .avatar{width:30px;height:30px;font-size:11px}.roster-row>div>strong{font-size:11px}.roster-row>div>small{font-size:8px}.roster-progress{display:none}.roster-row>strong{font-size:10px}.tutor-panel{padding:22px;max-height:none;height:620px;min-height:520px}.auth-page{grid-template-columns:1fr}.auth-story{padding:25px 25px 28px;min-height:0}.auth-story-content{padding:28px 0 0}.auth-story-content>.eyebrow{font-size:8px}.auth-story h1{font-size:39px;margin:14px 0;line-height:1.2}.auth-story h1 br:nth-child(2){display:none}.auth-story-content>p{font-size:12px;margin-bottom:0}.story-map,.auth-footnote{display:none}.auth-form-section{padding:36px 26px 60px;min-height:0}.auth-form-wrap{max-width:440px}.auth-form-wrap>h2{font-size:27px;margin-top:10px}.auth-form-wrap>.muted{font-size:12px;margin-bottom:23px}.auth-tabs{margin-bottom:25px}.auth-bottom{bottom:21px}.demo-block{margin-top:25px;padding-top:23px}.demo-buttons .button{font-size:12px}.editor-workspace{padding:25px 20px}.editor-header{flex-wrap:wrap}.editor-header h1{font-size:26px}.editor-header p{font-size:11px}.editor-section{padding:20px}.editor-concept>summary{padding:16px;font-size:13px}.editor-concept>div{padding:16px}.editor-options{grid-template-columns:minmax(0,1fr)}.editor-question{padding:15px}.editor-prerequisites{gap:7px}.editor-prerequisites label{font-size:10px;padding:8px}.empty-state{padding:35px 23px}.empty-state h3{font-size:22px}.empty-state p{font-size:12px}.modal-backdrop{padding:18px}.modal{padding:24px}.modal-heading h2{font-size:23px}}@media(max-width:380px){.sidebar{padding:13px 16px 10px}.content-page{padding:25px 17px}.dashboard-heading{display:block}.dashboard-heading>.button{margin-top:17px;font-size:10px;padding:10px 14px}.dashboard-intro{padding:22px}.dashboard-intro h2{font-size:23px}.dashboard-intro h2{white-space:normal}.course-grid{grid-template-columns:minmax(0,1fr)}.workspace-main,.teacher-workspace .workspace-main{padding:20px 15px 25px}.course-header h1{font-size:24px}.course-header-icon{display:none}.course-stats{gap:24px}.teacher-workspace .course-stats{flex-wrap:wrap;gap:18px}.teacher-workspace .course-stats .share-course{margin-left:0;width:100%}.share-course>button{width:100%;justify-content:space-between}.concept-evidence{gap:13px;font-size:9px}.concept-detail{padding:19px 16px}.concept-detail-heading{gap:8px}.concept-detail-heading h2{font-size:20px}.concept-actions .button{flex:1;font-size:9px;padding:9px 10px;gap:7px;white-space:nowrap}.concept-actions .button svg{width:15px}.assessment{padding:15px}.assessment-heading>small{display:none}.answer-option{padding:11px 8px;gap:7px;font-size:11px}.answer-letter{display:none}.linear-concept{flex-wrap:wrap}.linear-concept>.status-pill{margin-left:29px}.linear-text{flex-basis:calc(100% - 36px)}.page-footer .brand{font-size:15px}.page-footer>span{font-size:7px;max-width:115px}.auth-story h1{font-size:34px}.auth-form-section{padding:30px 22px 57px}.auth-form-wrap>h2{font-size:25px}.editor-workspace{padding:24px 15px}.editor-section{padding:17px}.editor-concept>div{padding:13px}.tutor-panel{padding:21px 18px}.modal{padding:22px}.empty-state h3{font-size:20px}.nav-item{font-size:10px;padding:9px 11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.course-header-actions{display:flex;align-items:center;gap:15px}.course-header-actions .button{font-size:11px;white-space:nowrap}.workspace-error{padding:10px 30px 0;font-size:12px;color:#81718b}.editor-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.editor-section-heading h2,.editor-section-heading h3{margin:0 0 8px}.editor-section-heading p{font-size:11px;color:#81718b;line-height:1.8;margin-bottom:0}.editor-section-heading>.button{white-space:nowrap;font-size:11px;background:#ece7f5;color:#78618d}.editor-section-heading .editor-actions{margin-top:0}.editor-confirm{background:#f6eff0;border:1px solid #e8d9de;padding:15px;border-radius:8px;margin-bottom:17px}.editor-confirm p{font-size:12px;color:#8a6471;margin-bottom:10px}.editor-confirm .editor-actions{margin:0}.editor-confirm .button:not(.ghost){background:#89647b;color:#fff}.editor-concept-summary{list-style-position:inside}.editor-concept-summary>strong{display:block;font-size:17px;letter-spacing:-.02em;margin:4px 0}.editor-concept-summary>span:last-child{display:block;font-size:10px;font-weight:400;color:#908098;margin-top:4px}.editor-question>summary{cursor:pointer;color:#8b759b;font-size:12px;line-height:1.8}.editor-question>summary>span{display:block;font-size:11px;font-weight:400;color:#9c87ad;margin-top:5px;overflow-wrap:anywhere}.editor-question-body{margin-top:22px}.editor-options>h4{grid-column:1/-1;font-size:12px;font-weight:600;color:#93809f;margin:2px 0}.editor-options>.editor-hint{grid-column:1/-1;margin:0 0 20px}.editor-option{display:flex;flex-direction:column;align-items:stretch;gap:0;border:1px solid #eee8f4;border-radius:7px;padding:11px;background:#fff;min-width:0}.editor-option>.button{font-size:9px;padding:6px 9px;min-height:29px;align-self:flex-end}.editor-options>.button{font-size:11px;align-self:end;min-height:38px;max-width:130px}.editor-prerequisites>.editor-hint{flex-basis:100%;margin:0 0 2px}.editor-prerequisite small{font-size:9px}.editor-colors{border:0;padding:0;min-width:0}.editor-colors legend{font-size:12px;font-weight:600;color:#94819f}.editor-color{display:flex;align-items:center;gap:5px;font-size:10px;color:#887493}.editor-color input{accent-color:var(--indigo)}.editor-color>span{width:10px;height:10px;display:block;border-radius:50%}.editor-summary dl{display:grid;grid-template-columns:1fr auto;font-size:11px;gap:10px;color:#9a85ab;border-top:1px solid #ede7f3;border-bottom:1px solid #ede7f3;padding:16px 0;margin:17px 0}.editor-summary dd{margin:0;color:#78648b;font-weight:650}.editor-summary>p:not(.eyebrow):not(.editor-hint){font-size:12px;color:#9682a7}.editor-readiness{font-size:11px!important;line-height:1.8}.editor-summary>.button{width:100%;margin:5px 0 14px}.editor-empty{padding:30px;text-align:center}.editor-empty h3{font-size:21px;color:#81718b}.editor-empty p{font-size:12px;color:#9a86a9}.editor-errors h2{font-size:17px}.editor-errors>p{font-size:12px}.editor-errors ul{padding-left:17px}.editor-errors li .button{display:inline-block;text-align:left;font-size:11px;padding:5px 7px;min-height:29px}.editor-concept-body .field textarea{min-height:80px}.editor-concept-body .field textarea[rows='"8"']{min-height:175px}@media(max-width:700px){.editor-section-heading{flex-direction:column;gap:13px}.editor-section-heading .editor-actions{margin-bottom:0}.course-header-actions{flex-direction:column;gap:10px}.course-header-actions .course-header-icon{display:none}.course-header-actions .button{font-size:10px;padding:9px 11px;min-height:36px}.editor-colors .editor-actions{gap:12px}.editor-errors li .button{font-size:10px}}@media(max-width:380px){.course-header{align-items:flex-start}.course-header-actions .button{font-size:9px;padding:8px}.editor-colors .editor-actions{gap:10px}.editor-color{font-size:9px}.editor-section-heading>.button{font-size:10px}}.tutor-message,.tutor-markdown{min-width:0;max-width:100%}.tutor-markdown{font-size:12px;line-height:1.8;color:#81708e;overflow-wrap:anywhere}.tutor-markdown p{font-size:inherit;line-height:inherit;white-space:pre-line;margin:0 0 12px}.tutor-markdown h1,.tutor-markdown h2,.tutor-markdown h3,.tutor-markdown h4,.tutor-markdown h5,.tutor-markdown h6{font-family:Manrope,DM Sans,sans-serif;color:#655373;font-weight:700;letter-spacing:-.025em;line-height:1.5;margin:18px 0 8px}.tutor-markdown h1{font-size:19px}.tutor-markdown h2{font-size:17px}.tutor-markdown h3{font-size:15px}.tutor-markdown h4,.tutor-markdown h5,.tutor-markdown h6{font-size:13px}.tutor-markdown strong{font-weight:700;color:#655373}.tutor-markdown ul,.tutor-markdown ol{padding-left:21px;margin:0 0 12px}.tutor-markdown li{margin:5px 0}.tutor-markdown li>p{margin-bottom:5px}.tutor-markdown blockquote{margin:12px 0;padding:8px 12px;border-left:3px solid #c8bddf;background:#f4f0f8;border-radius:0 6px 6px 0}.tutor-markdown a{color:var(--indigo);text-decoration:underline;text-underline-offset:3px}.tutor-markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#eee9f4;color:#655373;padding:2px 4px;border-radius:4px}.tutor-markdown pre{max-width:100%;overflow-x:auto;white-space:pre;overflow-wrap:normal;background:#f2eef7;border:1px solid #e6deee;border-radius:8px;padding:12px;margin:12px 0;line-height:1.7}.tutor-markdown pre code{background:none;padding:0;border-radius:0;white-space:pre;overflow-wrap:normal}.tutor-table-scroll{max-width:100%;overflow-x:auto;margin:12px 0;border:1px solid #e6deee;border-radius:8px}.tutor-markdown table{width:100%;border-collapse:collapse;font-size:11px;line-height:1.7}.tutor-markdown th,.tutor-markdown td{padding:8px 10px;min-width:110px;border-bottom:1px solid #e6deee;text-align:left;vertical-align:top}.tutor-markdown th{background:#f0ebf6;color:#655373;font-weight:700}.tutor-markdown tr:last-child td{border-bottom:0}.tutor-markdown hr{border:0;border-top:1px solid #e6deee;margin:16px 0}.tutor-image-description{font-style:italic}.tutor-markdown>:first-child{margin-top:0}.tutor-markdown>:last-child,.tutor-markdown blockquote>:last-child{margin-bottom:0}.course-information{padding:24px;margin-bottom:24px;overflow-wrap:anywhere}.course-information h2{font-size:18px;margin:8px 0 16px}.course-information h3{font-size:12px;margin:15px 0 7px}.course-information p,.course-information li{font-size:12px;line-height:1.8;white-space:pre-wrap}.course-information ul{padding-left:20px;margin:0}.course-information small{display:block;font-size:10px;line-height:1.7;margin-top:16px}.editor-summary>.button+.button{margin-top:10px}@media(max-width:700px){.sidebar nav{flex-wrap:wrap}.course-information{padding:19px}}.plan-conflict{margin:24px 30px;padding:24px;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.plan-conflict h2{font-size:20px}.plan-conflict h3{font-size:14px;margin-top:18px}.plan-conflict details{margin:12px 0}.plan-conflict summary{cursor:pointer;font-weight:600}.plan-conflict p{white-space:pre-wrap}.plan-conflict>.button{margin:12px 0}@media(max-width:700px){.plan-conflict{margin:20px;padding:19px}}.session-gated-workspace{grid-template-columns:minmax(0,1fr)}.learning-controls{min-width:0;margin:0;padding:0;border:0}.session-panel{padding:26px;margin-bottom:24px;overflow-wrap:anywhere}.session-heading,.session-recap-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.session-heading h2{font-size:22px;margin:8px 0 10px;letter-spacing:-.035em}.session-heading p,.session-panel>p,.refresher-selector>p{font-size:12px;line-height:1.8;color:#635c70;margin-bottom:14px}.session-heading>.button{flex-shrink:0;min-height:44px}.session-started{font-size:11px!important;margin-top:4px}.session-recap{padding:22px 0;margin:8px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.session-recap-heading h3,.refresher-selector h3{font-size:15px;margin:0 0 14px}.session-recap-heading time{font-size:11px;color:#635c70;line-height:1.8}.session-recap>p{font-size:13px;line-height:1.8;white-space:pre-wrap;color:var(--ink)}.session-evidence{display:flex;flex-wrap:wrap;gap:14px 28px;margin:20px 0}.session-evidence>div{display:flex;flex-direction:column-reverse;gap:5px}.session-evidence dt{font-size:11px;color:#635c70}.session-evidence dd{font-family:Manrope,sans-serif;font-size:22px;font-weight:750;margin:0;color:var(--indigo-dark)}.session-recap-list{list-style:none;padding:0;margin:20px 0}.session-recap-list li{border:1px solid var(--line);border-radius:10px;padding:15px 17px;margin-top:10px;background:var(--cream)}.session-recap-list strong{font-size:13px}.session-recap-list p{font-size:12px;line-height:1.7;color:#635c70;margin:6px 0 9px}.session-recap-list span,.session-recap-list small,.session-note{display:block;font-size:11px;line-height:1.8;color:#635c70}.session-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.session-actions .button,.session-panel>.button{min-height:44px}.refresher-selector{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.refresher-options{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 16px}.refresher-option{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--line);border-radius:10px;background:var(--white);padding:12px 15px;font-size:12px;text-align:left}.refresher-option[aria-pressed=true]{background:#efedf9;border-color:var(--indigo);color:var(--indigo-dark)}.session-saving{margin:18px 0 0!important;font-size:11px!important;color:var(--indigo-dark)!important}@media(max-width:700px){.session-panel{padding:20px}.session-heading,.session-recap-heading{flex-wrap:wrap;gap:10px}.session-heading>.button{margin-bottom:12px}.session-heading h2{font-size:20px}.session-actions{flex-direction:column}.session-actions .button{justify-content:center;width:100%}.refresher-options{flex-direction:column}.refresher-option{width:100%}.refresher-option>span{flex:1}.session-recap-heading time{margin-bottom:12px}.session-evidence{gap:14px 20px}}.session-tasks{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);overflow-wrap:anywhere}.session-tasks h3{font-size:15px;margin:0 0 10px}.session-task-list{list-style:none;padding:0;margin:16px 0 0}.session-task-list>li{padding:16px;border:1px solid var(--line);border-radius:10px;margin-top:12px;background:var(--white)}.session-task-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px}.session-tasks .recommendation-banner{margin:10px 0 0}.review-task summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;cursor:pointer;font-size:14px}.review-task summary>span:first-child:before{content:"+";margin-right:10px;font-weight:700;color:var(--indigo-dark)}.review-task[open] summary>span:first-child:before{content:"−"}.review-task summary:focus-visible{outline:2px solid var(--indigo);outline-offset:5px;border-radius:6px}.review-task>p{margin-top:14px}.review-task-complete{background:#efedf9!important;color:var(--indigo-dark);font-size:13px}.review-task-complete p{font-size:12px;line-height:1.8;margin:8px 0 0}.review-count{display:inline-flex;align-items:center;flex-shrink:0;align-self:flex-start;padding:6px 10px;border-radius:20px;background:var(--cream);color:#635c70;font-size:11px;font-weight:650}.review-count.due,.review-label.due{background:#efedf9;color:var(--indigo-dark)}.course-card>.review-count{margin:14px 0 4px}.concept-review-status{font-size:12px;line-height:1.8;color:#635c70}.concept-review-status{padding:10px 14px;background:var(--cream);border-radius:8px}.review-queue{list-style:none;padding:0;margin:18px 0 0}.review-queue li{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:18px 0}.review-queue li:last-child{padding-bottom:0}.review-queue li>div{min-width:0}.review-queue strong{display:block;font-size:14px;margin-bottom:7px}.review-label{display:inline-block;font-size:11px;line-height:1.6;border-radius:12px;padding:3px 8px;background:var(--cream);color:#635c70}.review-queue p{font-size:12px;line-height:1.8;margin:8px 0 3px;color:#635c70}.review-queue small{display:block;font-size:11px;line-height:1.8;color:#635c70}.review-queue .button{flex-shrink:0;min-height:44px}@media(max-width:700px){.session-task-list>li{padding:14px}.review-task summary{gap:10px}.review-queue li{align-items:stretch;flex-direction:column;gap:12px}.review-queue .button{width:100%;justify-content:center}}.tutor-teaching-controls{flex-shrink:0;min-width:0;margin:0 0 12px;padding:0;border:0}.tutor-teaching-selectors{display:flex;flex-wrap:wrap;gap:10px}.tutor-teaching-selectors label{display:flex;flex:1 1 110px;min-width:0;flex-direction:column;gap:5px;font-size:11px;font-weight:600;color:#655373}.tutor-teaching-selectors select{width:100%;min-width:0;min-height:48px;border:1px solid #d8cede;border-radius:8px;padding:9px 8px;background:#fffafc;color:#655373;font-size:12px}.tutor-teaching-selectors select:disabled{cursor:not-allowed;opacity:.6}.tutor-teaching-controls p{margin:8px 0 0;font-size:11px;line-height:1.6;color:#746086;overflow-wrap:anywhere}.tutor-teaching-controls .tutor-teaching-note{padding:8px 10px;border-radius:8px;background:#f0ebf6}.reading-paragraph{min-width:0;margin-bottom:20px}.reading-paragraph>p{margin-bottom:6px;scroll-margin-block:130px;overflow-wrap:anywhere}.reading-paragraph>p:focus-visible{outline:3px solid #aca4f1;outline-offset:5px;border-radius:4px}.reading-paragraph-action,.reading-citation{min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--cream);padding:10px 14px;color:var(--indigo-dark);font-size:12px;text-align:left;white-space:normal;overflow-wrap:anywhere}.reading-source-highlight{background:#efedf9;box-shadow:0 0 0 7px #efedf9;border-radius:4px}.reading-companion{min-width:0;margin:26px 0;padding:22px;border:1px solid #ddd9ed;border-radius:12px;background:#faf9fd;color:var(--ink);overflow-wrap:anywhere}.reading-heading h3{font-size:19px;margin:8px 0 12px}.reading-description,.reading-mode,.reading-notice,.reading-companion>p{font-size:12px;line-height:1.8;color:#635c70}.reading-quote{margin:16px 0;padding:14px 16px;border-left:3px solid var(--indigo);background:#efedf9;border-radius:0 8px 8px;overflow-wrap:anywhere}.reading-quote>span{display:block;font-size:11px;font-weight:600;color:var(--indigo-dark);margin-bottom:7px}.reading-quote>p{font-size:13px;line-height:1.8;white-space:pre-wrap;margin:0}.reading-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.reading-actions .button,.reading-composer .button,.reading-companion>.button,.reading-availability-error .button{min-height:44px;white-space:normal}.reading-history,.reading-composer>label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600;color:#635c70}.reading-history{margin-top:22px}.reading-history select,.reading-composer textarea{width:100%;min-width:0;min-height:48px;border:1px solid #ddd9ed;border-radius:8px;padding:12px;background:var(--white);color:var(--ink);font-size:13px}.reading-history select{max-width:100%}.reading-messages{max-height:480px;overflow:auto;overscroll-behavior:contain;margin:18px 0;padding:0 4px}.reading-message{padding:16px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.8;overflow-wrap:anywhere}.reading-message.user{background:var(--cream);padding:16px;border-radius:8px}.reading-message>p{white-space:pre-wrap;margin:8px 0 0}.reading-message .tutor-markdown{margin-top:8px;color:var(--ink)}.reading-citation{display:block;margin-top:12px;max-width:100%}.reading-composer{display:flex;flex-direction:column;gap:10px;margin-top:20px}.reading-composer textarea{resize:vertical;line-height:1.7}.reading-composer .button{align-self:flex-start}.reading-notice{margin:16px 0 0;min-height:1.8em}.reading-availability-error{margin:20px 0}.reading-companion .error{color:#943d49}@media(max-width:700px){.reading-companion{padding:16px}.reading-actions{flex-direction:column}.reading-actions .button,.reading-composer .button{width:100%;justify-content:center}.reading-quote{padding:12px}.reading-history select,.reading-composer textarea{font-size:16px}}.reading-draft-notice .button{min-height:44px;white-space:normal}.visual-entry{margin-top:22px;min-width:0}.visual-entry>.button{min-height:44px;white-space:normal;max-width:100%}.visual-entry>.button:focus-visible{outline:2px solid #514298;outline-offset:3px}.notebook-host{padding:24px;margin-bottom:24px;min-width:0;overflow-wrap:anywhere}.notebook-host-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.notebook-host-heading h2{font-size:20px;margin:8px 0 12px}.notebook-host-heading p{font-size:12px;line-height:1.8;color:#635c70;margin:0}.notebook-host .button,.notebook-availability .button,.notebook-save .button{min-height:44px;white-space:normal;max-width:100%}.notebook-host-heading>.button{flex-shrink:0}.notebook-host>.button{margin-top:12px}.notebook-save{margin-top:12px;min-width:0;overflow-wrap:anywhere}.notebook-save p{font-size:12px;line-height:1.7;white-space:pre-wrap;margin:10px 0;color:#473b66}.notebook-save .error{color:#943d49}.tutor-reply-source{margin-top:12px;overflow-wrap:anywhere}.tutor-reply-source summary{min-height:44px;cursor:pointer;font-size:12px;font-weight:600}.tutor-reply-source p{white-space:pre-wrap}.tutor-used-notebook{padding:12px;margin-top:12px;border:1px solid #d8cede;border-radius:8px;font-size:11px;line-height:1.7;color:#473b66;overflow-wrap:anywhere}.tutor-used-notebook ul{padding-left:18px}.tutor-used-notebook small{font-size:11px}.tutor-notebook-context{flex-shrink:0;min-width:0;font-size:11px;line-height:1.7;color:#473b66;margin:0 0 12px;max-height:210px;overflow:auto;overflow-wrap:anywhere}.tutor-notebook-context>strong{display:block}.tutor-notebook-context p{margin:6px 0}.tutor-notebook-context ul{padding:0;margin:8px 0;list-style:none}.tutor-notebook-context li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid #e0d9e9}.tutor-notebook-context li>span{min-width:0}.tutor-notebook-context button{min-height:44px;border:1px solid #d8cede;border-radius:7px;background:#fffafc;color:#473b66;padding:8px;font-size:11px}.tutor-notebook-context li>button{flex-shrink:0}.notebook-availability{margin-bottom:20px}@media(max-width:700px){.notebook-host{padding:20px}.notebook-host-heading{flex-direction:column;gap:14px}.notebook-host-heading>.button{width:100%;justify-content:center}.tutor-notebook-context{max-height:180px}}.tutor-used-notebook summary{min-height:44px;cursor:pointer;font-weight:600}.tutor-panel--notebook-attached .tutor-notebook-context{max-height:150px;overscroll-behavior:contain}@media(max-width:960px){.tutor-panel{height:auto;max-height:none}.tutor-panel .tutor-messages{flex:0 0 clamp(280px,45vh,380px);height:clamp(280px,45vh,380px);min-height:280px;max-height:380px}}.instructor-insights{min-width:0;margin-bottom:26px;overflow-wrap:anywhere}.instructor-insights .card{margin-bottom:24px}.instructor-insights .panel-heading p{font-size:12px;line-height:1.7;color:#655e73}.instructor-insights .panel-heading .eyebrow{margin-bottom:5px}.insight-body{padding:0 25px 25px;min-width:0}.insight-body>h3{font-size:19px;margin:24px 0 13px}.insight-body>h3:first-child{margin-top:0}.insight-message,.insight-request-error{padding:0 25px 24px;margin:0;color:#655e73;font-size:13px;line-height:1.8}.insight-request-error .error{margin-top:0}.insight-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:16px;margin:0 0 22px}.insight-metrics>div{padding:16px;background:#f7f6fb;border:1px solid #ece9f4;border-radius:10px;min-width:0}.insight-metrics dt{font-size:11px;font-weight:600;color:#625b73;margin-bottom:9px}.insight-metrics dd{margin:0 0 7px;font-size:23px;font-weight:650;color:#51469a;line-height:1.4;letter-spacing:-.025em}.insight-metrics small{display:block;font-size:11px;line-height:1.7;color:#625b73}.insight-compact-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:18px 0}.insight-compact-metrics dd{font-size:19px}.insight-note{font-size:12px;line-height:1.8;color:#655e73;margin:15px 0 22px}.insight-status-bar{height:10px;display:flex;border-radius:6px;overflow:hidden;background:#eeedf4;margin:0 0 14px}.insight-status-mastered{background:#5f9a7e}.insight-status-learning{background:#d3ac4f}.insight-status-available{background:#8376d1}.insight-status-locked{background:#b1aeba}.insight-status-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;list-style:none;padding:0;margin:0 0 20px}.insight-status-counts li{display:flex;align-items:baseline;gap:8px;font-size:12px;line-height:1.8;color:#655e73}.insight-status-counts strong{color:#403951}.insight-cohort-concept{border:1px solid #e7e3ee;border-radius:9px;margin-bottom:11px;overflow:hidden}.insight-cohort-concept summary{display:list-item;cursor:pointer;padding:17px 20px;background:#faf9fc;min-height:48px;font-size:13px;font-weight:600;color:#51469a}.insight-cohort-concept summary>span:first-child{margin-right:14px}.insight-cohort-concept summary>span:last-child{font-size:11px;color:#655e73;font-weight:400}.insight-cohort-concept>div{padding:19px}.insight-cohort-concept p{font-size:12px;color:#655e73}.insight-cohort-concept .insight-note:last-child{margin-bottom:0}.insight-learner-picker{margin:0 25px 18px}.insight-learner-picker select{min-height:48px;max-width:100%}.insight-roster-row{width:100%;text-align:left;border-radius:8px;background:#fff;color:#51469a;min-height:72px;padding:16px 12px;gap:14px}.insight-roster-row:hover,.insight-roster-row[aria-pressed=true]{background:#f2eff9}.insight-roster-identity{min-width:0;flex:1}.insight-roster-identity strong{display:block;font-size:13px;color:#403951}.insight-roster-identity small{display:block;font-size:11px;color:#655e73;line-height:1.8}.insight-roster-progress{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#655e73}.insight-roster-progress strong{font-size:14px;color:#51469a}.insight-roster-action{font-size:11px;font-weight:600;color:#51469a}.insight-learner-detail{border-top:1px solid #e7e3ee;padding-top:22px}.insight-detail-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 25px 24px;font-size:12px;color:#655e73}.insight-learner-detail h3:focus{outline:2px solid #5750ba;outline-offset:5px}.instructor-insights h4{font-family:Manrope,DM Sans,sans-serif;font-size:14px;color:#403951;margin:0 0 10px;line-height:1.6}.insight-recommendation{background:#f1eef9;border:1px solid #e6e0f2;border-radius:10px;padding:19px;margin-bottom:22px}.insight-recommendation p{margin:12px 0 0;color:#655e73;font-size:12px}.insight-learner-map{border:1px solid #e7e3ee;border-radius:11px;overflow:hidden;margin-bottom:22px}.insight-learner-map .segmented button{min-height:44px;color:#51469a}.insight-learner-map .linear-concept{flex-wrap:wrap}.insight-learner-map .linear-text{flex-basis:60%}.insight-learner-map .status-pill{white-space:normal;text-align:left}.insight-learner-concept{padding:22px;background:#fcfbfe;border:1px solid #e7e3ee;border-radius:11px;margin-bottom:22px;min-width:0}.insight-learner-concept h3{font-size:20px;margin:7px 0 10px}.insight-learner-concept p,.insight-review-list p{font-size:12px;color:#655e73}.insight-learner-concept .status-pill{white-space:normal;text-align:center;min-width:0}.insight-prerequisites,.insight-review{padding-top:18px;border-top:1px solid #e7e3ee;margin-top:18px}.insight-prerequisites .prerequisite-chip{min-height:44px;flex-wrap:wrap;color:#51469a}.insight-prerequisites .prerequisite-chip>span:last-of-type{font-size:10px;color:#655e73}.insight-public-lesson{margin-top:20px;border-top:1px solid #e7e3ee}.insight-public-lesson summary{cursor:pointer;min-height:48px;padding:15px 0;font-size:12px;font-weight:600;color:#51469a}.insight-review-list,.insight-activity{margin-top:24px}.insight-review-list ul,.insight-activity ul{padding:0;margin:0;list-style:none}.insight-review-list li{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 0;border-top:1px solid #ece9f2;font-size:12px;color:#655e73;line-height:1.8}.insight-review-list li button{background:transparent;padding:10px 0;min-height:44px;font-size:12px;font-weight:600;color:#51469a;text-align:left}.insight-review-list li button:hover{text-decoration:underline}.insight-activity li{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 0;border-top:1px solid #ece9f2;font-size:12px;color:#655e73;line-height:1.8}.insight-activity li>strong{flex:1;min-width:140px;color:#403951}.insight-result{border-radius:5px;font-size:11px;padding:4px 8px}.insight-result.correct{background:#eaf3ed;color:#315e49}.insight-result.incorrect{background:#faf0e3;color:#795122}.instructor-insights .button{min-height:44px;max-width:100%;white-space:normal}@media(max-width:700px){.insight-body,.insight-message,.insight-request-error{padding:0 18px 20px}.insight-metrics,.insight-compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.insight-metrics>div{padding:12px}.insight-metrics dd{font-size:19px}.insight-cohort-concept summary{padding:15px}.insight-cohort-concept summary>span:last-child{display:block;margin:8px 0 0}.insight-cohort-concept>div{padding:15px}.insight-learner-picker{margin:0 18px 18px}.insight-learner-picker select{font-size:16px}.insight-roster-row{flex-wrap:wrap;gap:10px;padding:15px 8px}.insight-roster-identity{flex-basis:calc(100% - 50px)}.insight-roster-progress{margin-left:40px;flex:1;min-width:0}.insight-roster-action{margin-left:auto}.insight-detail-navigation{flex-wrap:wrap;padding:0 18px 20px}.insight-learner-concept,.insight-learner-map .panel-heading{padding:17px}.insight-learner-map .segmented{max-width:100%}.insight-learner-map .segmented button{white-space:normal;padding:9px 11px}.insight-learner-map .linear-text{flex-basis:calc(100% - 30px)}.insight-learner-map .linear-concept>.status-pill{margin-left:29px}.insight-recommendation{padding:16px}.insight-status-counts{grid-template-columns:minmax(0,1fr)}.insight-activity li>time{flex-basis:100%}.insight-learner-concept .concept-detail-heading{align-items:flex-start;flex-wrap:wrap}}@media(max-width:380px){.insight-metrics,.insight-compact-metrics{grid-template-columns:minmax(0,1fr)}}.instructor-insights .insight-metrics small{font-weight:400;letter-spacing:normal;margin-top:7px}.insight-roster-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 25px 18px}.insight-roster-pagination p{margin:0;color:#655e73;font-size:12px;line-height:1.8}.insight-roster-pagination .button{min-height:48px}.insight-roster-pagination .button:disabled{cursor:default;opacity:.55}@media(max-width:700px){.insight-roster-pagination{margin:0 18px 18px}.insight-roster-pagination p{flex-basis:100%;order:-1}}.auth-fields{border:0;margin:0;padding:0;min-width:0}.waitlist-receipt{padding:20px;background:#f2eef7;border:1px solid #e6deee;border-radius:12px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.waitlist-receipt h3{font-size:18px}.waitlist-receipt p:last-child{margin-bottom:0}.invitation-identity{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--cream);margin:20px 0;display:grid;gap:12px;overflow-wrap:anywhere}.invitation-identity dt,.waitlist-metadata dt{font-size:11px;color:#635c70;margin-bottom:5px}.invitation-identity dd,.waitlist-metadata dd{margin:0;font-size:13px;line-height:1.7}.invitation-expiry{font-size:12px;line-height:1.8;color:#635c70;overflow-wrap:anywhere}.invitation-recovery{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.invitation-recovery .button,.waitlist-page .button{min-height:44px;white-space:normal}.waitlist-guidance{font-size:13px;line-height:1.8;color:#635c70;max-width:750px;margin-bottom:26px}.waitlist-entries{display:grid;gap:18px;min-width:0}.waitlist-entry,.waitlist-link{padding:24px;min-width:0;overflow-wrap:anywhere}.waitlist-entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.waitlist-entry h2,.waitlist-link h2{font-size:20px;margin-bottom:8px}.waitlist-email,.waitlist-link p{font-size:13px;line-height:1.8}.waitlist-email{margin-bottom:0}.waitlist-status{border-radius:100px;padding:7px 12px;font-size:11px;font-weight:650;background:#eeeaf8;color:#514298;flex-shrink:0}.waitlist-status--pending{background:#fcf2dd;color:#775819}.waitlist-status--activated{background:#e9f2eb;color:#366548}.waitlist-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin:20px 0}.waitlist-link{margin-bottom:24px;background:#faf8ff}.waitlist-link textarea{width:100%;resize:vertical;min-height:90px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.waitlist-link-actions{display:flex;flex-wrap:wrap;gap:10px}.waitlist-page .dashboard-heading>.button{flex-shrink:0}.waitlist-page .error{margin-bottom:22px}@media(max-width:700px){.waitlist-page .dashboard-heading{flex-wrap:wrap;gap:16px}.waitlist-entry,.waitlist-link{padding:18px}.waitlist-entry-heading{flex-wrap:wrap}.waitlist-link textarea{font-size:16px}.waitlist-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.auth-tabs>button{min-height:44px}.invitation-recovery .button{min-height:44px}.waitlist-page .dashboard-heading>.button{margin-top:0}}@media(max-width:380px){.waitlist-metadata{grid-template-columns:minmax(0,1fr)}}@media(min-width:701px){.sidebar{overflow-y:auto}}@media(min-width:701px)and (max-width:1180px){.sidebar .brand{font-size:20px}}
