.course-controls{color:#29203c;background:#f4f0fc;border:1px solid #e3d9f3;border-radius:20px;grid-template-columns:minmax(200px,1fr) auto;gap:20px 24px;min-width:0;margin:0 0 28px;padding:24px 28px;display:grid}.course-controls-heading{align-items:center;gap:14px;min-width:0;display:flex}.course-icon{color:#7145c7;background:#e9dff8;border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.course-controls-heading .eyebrow{letter-spacing:.12em;color:#6c627c;margin:0 0 5px;font-size:10px;line-height:1.5;display:block}.course-controls-heading strong{font-family:var(--font-title),sans-serif;font-size:17px;line-height:1.4;display:block}.course-controls-heading p{color:#6c627c;margin:5px 0 0;font-size:12px;line-height:1.5}.course-controls-form{align-items:flex-end;gap:12px;min-width:0;display:flex}.course-controls-form label{color:#6c627c;flex-direction:column;gap:6px;min-width:100px;font-size:12px;font-weight:500;display:flex}.course-controls-form select{background:#fff;max-width:210px;min-height:42px;font-size:14px}.course-controls-form .btn{white-space:nowrap;min-height:42px}.course-explanation{color:#6c627c;border-top:1px solid #e3d9f3;grid-column:1/-1;padding-top:13px;font-size:13px}.course-explanation summary{cursor:pointer;color:#7145c7;width:fit-content;font-weight:500;line-height:1.5}.course-explanation p{max-width:850px;margin:12px 0 0;line-height:1.7}.course-controls.compact{padding:18px 22px}.course-selection-preview{color:#6c627c;background:#f8f5fd;border:1px solid #e3d9f3;border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.6}.course-selection-preview strong{color:#633a9c}.diagnostic-context{color:#633a9c;flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin:0 0 20px;font-size:13px;line-height:1.6;display:flex}.diagnostic-stale{background:#f4f0fc;border:1px solid #e3d9f3;border-radius:16px;margin-bottom:22px;padding:18px 20px;font-size:14px;line-height:1.65}.diagnostic-stale p{margin:0 0 10px}.diagnostic-stale .form-actions{margin-top:16px}.result-unchecked{color:#6c627c;white-space:nowrap;font-size:12px!important}.learning-sources{border-top:1px solid #e3d9f3;min-width:0;margin:32px 0;padding-top:22px}.learning-sources h3{align-items:center;gap:9px;margin:0 0 12px;font-size:16px;line-height:1.5;display:flex}.learning-sources ul{gap:12px;margin:0;padding:0;list-style:none;display:grid}.learning-sources li{background:#f7f4fc;border-radius:12px;min-width:0;padding:13px 16px}.learning-sources a{color:#633a9c;overflow-wrap:anywhere;justify-content:space-between;align-items:flex-start;gap:12px;font-size:14px;font-weight:550;line-height:1.6;display:flex}.learning-sources a svg{flex:none;margin-top:3px}.learning-sources p{color:#6c627c;margin:6px 0 0;font-size:12px;line-height:1.65}.learning-sources.compact{margin:24px 0 0}.learning-sources.compact h3{font-size:14px}.source-shelf{margin-top:28px;padding:22px 26px}.source-shelf>summary{cursor:pointer;color:#29203c;justify-content:space-between;align-items:center;gap:16px;display:flex}.source-shelf>summary>span:first-child{align-items:center;gap:12px;display:flex}.source-shelf>summary>span:last-child{color:#6c627c;font-size:12px}.source-shelf-intro{color:#6c627c;max-width:800px;margin-top:20px;font-size:14px;line-height:1.75}.source-shelf-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.source-shelf-grid .learning-sources{border:0;margin:8px 0 0;padding-top:8px}.other-course-note{color:#6c627c;background:#f4f0fc;border:1px solid #e3d9f3;border-radius:14px;align-items:flex-start;gap:12px;margin:0 0 24px;padding:16px 18px;font-size:13px;line-height:1.65;display:flex}.other-course-note>svg{color:#7145c7;flex:none;margin-top:3px}.other-course-note p{flex:1;margin:0}.other-course-note a{color:#7145c7;white-space:nowrap;align-items:center;gap:4px;display:flex}.module-focus{color:#633a9c!important;margin:4px 0 16px!important;font-size:12px!important;line-height:1.6!important}.module-card .module-bottom{gap:12px}.module-card .module-bottom>span:first-child{white-space:normal}.lesson-alternatives{border-top:1px solid #e3d9f3;margin-top:30px;padding-top:24px}.lesson-alternatives h3{margin:0 0 15px;font-size:17px}.lesson-alternatives>a{color:#633a9c;border:1px solid #e3d9f3;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:16px 18px;font-size:14px;line-height:1.5;display:flex}.lesson-alternatives>a svg{flex:none}.lesson-alternatives .badge{margin-top:8px}.catalog-scope{color:#6c627c;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 20px;font-size:12px;display:flex}.profile-form .course-explanation{border-top:0;padding:0}.selected-course-stat{color:#6c627c;margin:-12px 0 24px;font-size:12px;line-height:1.6}:is(.course-controls :is(select,button,summary):focus-visible,.source-shelf summary:focus-visible,.learning-sources a:focus-visible){outline-offset:3px;outline:3px solid #a78bfa}.module-card:hover .module-focus{color:#7145c7!important}.course-controls-form button{transition:background .15s,border-color .15s}.source-shelf summary:hover strong{color:#7145c7}@media (min-width:1000px){.constellation-map{min-height:690px}.constellation-node strong{max-width:150px;font-size:12px}.constellation-node small{font-size:10px}.constellation-node .node-circle{width:48px;height:48px}}@media (max-width:1180px){.course-controls{grid-template-columns:1fr}.course-controls-form{justify-content:flex-start}.course-controls-form select{max-width:none}.course-controls-form label:nth-child(2){min-width:180px}}@media (max-width:650px){.course-controls,.course-controls.compact{border-radius:16px;gap:16px;margin-bottom:22px;padding:18px 16px}.course-controls-heading strong{font-size:16px}.course-controls-form{grid-template-columns:120px minmax(0,1fr);gap:12px;width:100%;display:grid}.course-controls-form label,.course-controls-form label:nth-child(2){width:100%;min-width:0}.course-controls-form select{width:100%;max-width:100%;padding-left:10px;padding-right:26px;font-size:13px}.course-controls-form .btn{grid-column:1/-1;width:100%}.course-explanation{font-size:12px}.source-shelf{padding:18px 16px}.source-shelf>summary{display:block}.source-shelf>summary>span:last-child{margin:8px 0 0 32px;line-height:1.6;display:block}.source-shelf-grid{grid-template-columns:1fr;gap:10px}.other-course-note{flex-wrap:wrap}.other-course-note p{flex-basis:calc(100% - 30px)}.other-course-note a{margin-left:30px}.diagnostic-context{text-align:center;font-size:12px}.diagnostic-stale{padding:16px;font-size:13px}.learning-sources li{padding:12px}.learning-sources a{font-size:13px}.lesson-alternatives>a{padding:14px}.result-unchecked{white-space:normal;font-size:11px!important}}@media (prefers-reduced-motion:reduce){.course-controls-form button{transition:none}}.lesson-alternatives>summary{cursor:pointer;color:#633a9c;font-size:15px;font-weight:550;line-height:1.6}.lesson-alternatives>div>a{color:#633a9c;border:1px solid #e3d9f3;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:16px 18px;font-size:14px;line-height:1.5;display:flex}.lesson-alternatives>div>a svg{flex:none}.lesson-meta{flex-wrap:wrap}.problem-panel>.badge{margin-top:12px}.learning-sources+.attempt-history{margin-top:24px}@media (max-width:650px){.course-controls-form select{font-size:16px}}.path-layout.course-path-layout{grid-template-columns:minmax(0,1fr);gap:22px}.course-path-layout .constellation{container-type:inline-size}.course-path-layout .constellation-map{min-height:640px}.course-path-layout .constellation-node{gap:8px;width:178px;transform:translate(-50%,-26px)}.course-path-layout .constellation-node .node-circle{width:52px;height:52px}.course-path-layout .constellation-node strong{max-width:178px;font-size:14px;font-weight:550;line-height:1.5}.course-path-layout .constellation-node small{color:#6c627c;max-width:178px;font-size:13px;line-height:1.5}.course-path-layout .path-detail{grid-template-columns:70px minmax(0,1fr) auto;gap:12px 22px;padding:28px;display:grid}.course-path-layout .path-detail>.module-symbol{grid-area:1/1/3}.course-path-layout .path-detail>.badge{grid-column:3;place-self:center end;margin:0;font-size:12px}.course-path-layout .path-detail>h2{grid-area:1/2;align-self:center;margin:0;font-size:24px}.course-path-layout .path-detail>p{grid-column:2/-1;margin:0;font-size:16px;line-height:1.85}.course-path-layout .path-detail>.meta{grid-column:2/-1;margin:0;font-size:13px}.course-path-layout .path-detail>hr{grid-column:1/-1;margin:8px 0}.course-path-layout .path-detail>h4{grid-column:2/-1;font-size:15px;margin:8px 0 0!important}.course-path-layout .path-detail>.btn{grid-column:2/-1;justify-self:start;width:auto;margin-top:12px;font-size:14px}.course-path-layout .path-list-row strong{font-size:16px;line-height:1.55}.course-path-layout .path-list-row span:not(.week-number){font-size:13px;line-height:1.5}.map-compact-note{color:#6c627c;margin:0;padding:4px 22px 0;font-size:13px;line-height:1.7;display:none}.hint-level .prose,.hint-level .prose p{font-size:16px;line-height:1.85}.hint-level .prose .katex-display{padding:3px 0;overflow-x:auto}.course-path-layout .constellation-node:focus-visible{outline-offset:6px;border-radius:12px;outline:3px solid #a78bfa}@container (width<=850px){.course-path-layout .constellation-map{display:none}.course-path-layout .path-list,.course-path-layout .map-compact-note{display:block}}@media (min-width:1000px){.course-path-layout .constellation:not(.list-mode) .constellation-map{display:block}.course-path-layout .constellation:not(.list-mode) .path-list{display:none}}@container (width<=850px){.course-path-layout .constellation:not(.list-mode) .constellation-map{display:none}.course-path-layout .constellation:not(.list-mode) .path-list{display:block}}@media (max-width:650px){.course-path-layout .path-detail{padding:22px;display:block}.course-path-layout .path-detail>.badge{margin:16px 0;font-size:12px;display:table}.course-path-layout .path-detail>h2{margin:12px 0;font-size:24px}.course-path-layout .path-detail>p{margin:10px 0;font-size:16px}.course-path-layout .path-detail>.meta{margin:14px 0}.course-path-layout .path-detail>h4{margin-top:20px!important}.course-path-layout .path-detail>.btn{width:100%;margin-top:22px}.course-path-layout .path-list-row strong{font-size:16px}.course-path-layout .path-list-row span:not(.week-number){font-size:13px}.course-path-layout .path-list-row{align-items:flex-start}.course-path-layout .path-list-row>svg,.course-path-layout .path-list-row .week-number{flex:none;margin-top:3px}.course-path-layout .path-list-row>div{min-width:0}.map-compact-note{padding:4px 20px;font-size:13px}.hint-level .prose p{font-size:16px}}.step-tutor{--tutor-purple:#7145c7;--tutor-text:#29203c;--tutor-muted:#6c627c;color:var(--tutor-text);box-sizing:border-box;background:#fff;border:1px solid #e4daef;border-radius:24px;min-width:0;margin:26px 0;padding:28px}.step-tutor-heading{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.step-tutor-heading>div{flex:1;min-width:190px}.step-tutor-heading .eyebrow{letter-spacing:.13em;color:var(--tutor-purple);margin:0 0 7px;font-size:10px}.step-tutor-heading h2{letter-spacing:-.035em;margin:0;font-size:22px;line-height:1.3}.step-tutor-symbol{width:48px;height:48px;color:var(--tutor-purple);background:#f0e8fc;border-radius:16px;flex:none;place-items:center;display:grid}.step-tutor-mode{color:#68448b;white-space:nowrap;background:#f5effa;border:1px solid #e7dcef;border-radius:99px;padding:7px 10px;font-size:11px;font-weight:600}.step-tutor-mode.model{color:#38664c;background:#eef6ef;border-color:#d4e5d7}.step-tutor-intro{color:var(--tutor-muted);margin:19px 0;font-size:16px;line-height:1.65}.step-tutor-disclosure{color:#675478;background:#faf7ff;border:1px solid #e9dff5;border-radius:12px;align-items:flex-start;gap:9px;padding:13px 15px;font-size:13px;line-height:1.6;display:flex}.step-tutor-disclosure>svg{flex:none;margin-top:2px}.step-tutor-thread{scrollbar-width:thin;overscroll-behavior:contain;flex-direction:column;gap:16px;max-height:600px;margin:22px 0;display:flex;overflow:hidden auto}.step-tutor-loading{color:var(--tutor-muted);align-items:center;gap:8px;padding:20px 0;font-size:14px;display:flex}.step-tutor-welcome{align-items:flex-start;gap:15px;padding:18px 3px;display:flex}.step-tutor-welcome>span{color:#9672bf;padding-top:3px;font:500 13px monospace}.step-tutor-welcome strong{font-family:var(--font-manrope,inherit);font-size:17px}.step-tutor-welcome p{color:var(--tutor-muted);max-width:560px;margin:9px 0 0;font-size:15px;line-height:1.65}.step-tutor-message{box-sizing:border-box;overflow-wrap:anywhere;border-radius:16px;min-width:0;max-width:95%;padding:17px 18px}.step-tutor-message.user{background:#f0e8fa;border:1px solid #e9ddf7;align-self:flex-end}.step-tutor-message.assistant{background:#faf9fc;border:1px solid #ece7f1;align-self:flex-start}.step-tutor-author{letter-spacing:.02em;color:#71568d;margin-bottom:9px;font-size:11px;font-weight:700;display:block}.step-tutor-message .prose{max-width:100%;color:var(--tutor-text);font-size:16px;line-height:1.7}.step-tutor-message .prose p{margin:0 0 12px}.step-tutor-message .prose p:last-child{margin:0}.step-tutor-message .prose .katex-display{padding-bottom:4px;overflow-x:auto}.step-tutor-message .prose h2,.step-tutor-message .prose h3{margin:12px 0;font-size:18px}.step-tutor-thinking{color:var(--tutor-muted);align-items:center;gap:5px;padding:10px 0;font-size:13px;display:flex}.step-tutor-thinking>span{background:#a28abf;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite tutor-pulse}.step-tutor-thinking>span:nth-child(2){animation-delay:.15s}.step-tutor-thinking>span:nth-child(3){margin-right:7px;animation-delay:.3s}.step-tutor-prompts{border-top:1px solid #eee7f5;flex-wrap:wrap;gap:8px;padding-top:17px;display:flex}.step-tutor-prompts button{color:#694393;font:inherit;cursor:pointer;background:#fff;border:1px solid #dfd2ee;border-radius:99px;padding:9px 12px;font-size:12px;font-weight:600;transition:background .16s,border-color .16s}.step-tutor-prompts button:hover:not(:disabled){background:#f3ecfb;border-color:#cbb7e2}.step-tutor-prompts button:disabled{opacity:.5;cursor:wait}.step-tutor-compose{margin-top:20px}.step-tutor-label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.step-tutor-label label{font-size:14px;font-weight:600}.step-tutor-copy{color:var(--tutor-purple);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:12px;display:flex}.step-tutor-compose textarea{box-sizing:border-box;width:100%;font:inherit;color:var(--tutor-text);resize:vertical;background:#fff;border:1px solid #dcd0eb;border-radius:14px;min-height:124px;padding:15px;font-size:16px;line-height:1.65}.step-tutor-compose textarea::placeholder{color:#8b7e9b}.step-tutor-compose textarea:focus-visible{outline-offset:3px;outline:2px solid #9b7bd1}.step-tutor-compose-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.step-tutor-compose-bottom small{color:var(--tutor-muted);font-size:11px;line-height:1.6}.step-tutor-compose-bottom .btn{min-height:43px;font-size:13px}.step-tutor-error{color:#8e3653;background:#fff5f7;border:1px solid #e4bdc8;border-radius:12px;margin-top:15px;padding:12px 15px;font-size:14px;line-height:1.5}.step-tutor-error p{margin:0}.step-tutor-error button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:10px 0 0;font-weight:600;display:flex}.step-tutor-footer{color:var(--tutor-muted);margin-top:16px;font-size:11px;line-height:1.65}.step-tutor button:focus-visible{outline-offset:3px;outline:2px solid #9572c9}.step-tutor-spin{animation:1s linear infinite tutor-spin}@keyframes tutor-spin{to{transform:rotate(360deg)}}@keyframes tutor-pulse{50%{opacity:.35;transform:translateY(-2px)}}@media (max-width:650px){.step-tutor{border-radius:20px;padding:19px 17px}.step-tutor-heading{gap:11px}.step-tutor-heading>div{flex:1;min-width:0}.step-tutor-heading h2{font-size:20px}.step-tutor-symbol{border-radius:14px;width:42px;height:42px}.step-tutor-mode{margin-left:53px}.step-tutor-intro{font-size:16px}.step-tutor-message{max-width:100%;padding:14px}.step-tutor-thread{max-height:520px}.step-tutor-prompts{gap:7px}.step-tutor-prompts button{padding:9px 10px;font-size:11px}.step-tutor-compose-bottom{align-items:stretch}.step-tutor-compose-bottom small{width:100%}.step-tutor-compose-bottom .btn{justify-content:center;width:100%}.step-tutor-label{flex-direction:column;align-items:flex-start}.step-tutor-welcome{gap:10px}.step-tutor-thinking{font-size:12px}}@media (prefers-reduced-motion:reduce){.step-tutor *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.learning-experiment{color:#29203c;background:#faf7ff;border:1px solid #dfd4ee;border-radius:22px;margin:40px 0;padding:28px;overflow:hidden}.learning-experiment .experiment-kicker{letter-spacing:.14em;color:#7145c7;margin:0 0 13px;font-size:11px;font-weight:750}.learning-experiment h2{letter-spacing:-.025em;margin:0 0 13px;font-size:clamp(23px,2.3vw,29px);line-height:1.3}.learning-experiment>p{color:#6c627c;margin:0;font-size:16px;line-height:1.65}.experiment-layout{grid-template-columns:minmax(0,1.3fr) minmax(190px,1fr);align-items:center;gap:22px;margin-top:23px;display:grid}.learning-experiment .experiment-figure{min-width:0;margin:0}.experiment-figure svg{width:100%;height:auto;max-height:330px;display:block}.learning-experiment .experiment-figure figcaption{color:#6c627c;margin:12px 0 0;font-size:13px;line-height:1.5}.experiment-controls{min-width:0}.experiment-controls>label{color:#6c627c;flex-wrap:wrap;justify-content:space-between;gap:7px;margin-bottom:12px;font-size:14px;line-height:1.5;display:flex}.experiment-controls>label strong{color:#633a9c;font-size:16px;font-weight:650}.learning-experiment input[type=range]{accent-color:#7145c7;cursor:pointer;width:100%;height:26px;box-shadow:none;background:0 0;border:0;margin:0;padding:0}.learning-experiment input[type=range]:focus-visible{outline-offset:4px;border-radius:5px;outline:3px solid #b19ae3}.experiment-range{color:#6c627c;justify-content:space-between;gap:12px;margin:4px 0 17px;font-size:12px;display:flex}.experiment-result{background:#fff;border:1px solid #e0d4ee;border-radius:15px;flex-direction:column;gap:5px;padding:16px 19px;display:flex}.experiment-result>span{color:#6c627c;font-size:13px;line-height:1.45}.experiment-result>strong{color:#633a9c;font-variant-numeric:tabular-nums;font-size:30px;font-weight:650;line-height:1.3}.experiment-result small{color:#6c627c;font-size:13px;line-height:1.5}.experiment-result.orbit-result>strong{margin-bottom:5px;font-size:24px}.experiment-reset{font:inherit;color:#633a9c;text-align:left;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:12px 0 4px;font-size:13px;line-height:1.45;-webkit-text-decoration:underline #c1a9df;text-decoration:underline #c1a9df}.experiment-reset:hover{text-decoration-color:#633a9c}.experiment-reset:focus-visible{outline-offset:4px;border-radius:3px;outline:3px solid #b19ae3}.learning-experiment .experiment-note{border-top:1px solid #e3daef;margin-top:20px;padding-top:17px;font-size:13px;line-height:1.6}@media (max-width:650px){.learning-experiment{border-radius:18px;margin:28px 0;padding:21px 18px}.experiment-layout{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:15px}.experiment-figure svg{max-height:290px}.experiment-controls>label{font-size:15px}.experiment-result{padding:17px 19px}.experiment-result.orbit-result{grid-template-columns:1fr 1fr;gap:3px 16px;display:grid}.experiment-result.orbit-result span:first-of-type{grid-area:1/1}.experiment-result.orbit-result strong:first-of-type{grid-area:2/1}.experiment-result.orbit-result span:nth-of-type(2){grid-area:1/2}.experiment-result.orbit-result strong:nth-of-type(2){grid-area:2/2}.experiment-result.orbit-result small{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.learning-experiment *{transition:none!important;animation:none!important}}
