@layer layout{.teacher-shell{background:var(--canvas)}.teacher-sidebar{background:var(--canvas);border-color:var(--line)}.teacher-sidebar nav button.active{box-shadow:none}.teacher-sidebar nav button:active{background:var(--active)}.teacher-main{padding:32px clamp(20px,3vw,48px) 72px}.teacher-course,.teacher-sidebar>p{border-color:var(--line)}.teacher-course span,.teacher-sidebar>p{color:var(--muted);font-size:12px}.cw-workspace{color:var(--ink);font-size:14px;line-height:1.65}.cw-workspace h1,.cw-workspace h2,.cw-workspace h3,.cw-modal h2,.cw-modal h3{color:var(--ink)}.cw-heading{justify-content:space-between;align-items:center;gap:24px;padding-bottom:25px;display:flex}.cw-heading p{letter-spacing:normal;color:var(--teal-dark);margin:0 0 7px;font-size:12px;font-weight:600}.cw-heading h1{letter-spacing:-.04em;margin:0 0 8px;font-size:clamp(23px,2.3vw,31px);font-weight:650;line-height:1.4}.cw-heading>div>span,.cw-muted{color:var(--muted)}.cw-version{vertical-align:middle;color:var(--teal);background:var(--canvas);border:1px solid var(--line);letter-spacing:normal;border-radius:5px;margin-left:12px;padding:1px 7px;font:500 12px/1.8 ui-monospace,monospace;display:inline-block}.cw-heading label,.cw-section-intro label{color:var(--muted);gap:5px;font-size:12px;display:grid}.cw-context{background:var(--canvas);border:1px solid var(--line);color:var(--muted);border-radius:8px;flex-wrap:wrap;align-items:center;gap:18px;padding:12px 16px;font-size:12px;display:flex}.cw-dot-label{color:var(--ink);align-items:center;gap:8px;font-weight:600;display:flex}.cw-dot-label:before{content:"";background:var(--canvas);border-radius:6px;width:7px;height:7px}.cw-dot-label.is-live:before{background:var(--canvas);box-shadow:none}.cw-origin{margin-left:auto}.cw-tabs{border-bottom:1px solid var(--line);gap:25px;margin-top:18px;display:flex}.cw-workspace button,.cw-modal button,.cw-button{min-height:36px;font:inherit;border:1px solid var(--line);background:var(--canvas);color:var(--ink);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:6px 12px;font-size:13px;font-weight:500;line-height:1.6;text-decoration:none;transition:background-color .15s,color .15s,opacity .15s;display:inline-flex}.cw-workspace button:hover,.cw-modal button:hover,.cw-button:hover{background:var(--hover)}.cw-workspace button:active,.cw-modal button:active,.cw-button:active{background:var(--active)}.cw-workspace button:disabled,.cw-modal button:disabled{opacity:.5;cursor:not-allowed}.cw-workspace .cw-primary,.cw-modal .cw-primary{background:var(--canvas);border-color:var(--line);color:var(--ink)}.cw-workspace .cw-primary:hover,.cw-modal .cw-primary:hover{background:var(--hover)}.cw-workspace .cw-text-button{color:var(--teal-dark);background:0 0;border-color:#0000;padding:4px 3px}.cw-workspace .cw-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:14px 2px;font-weight:600}.cw-workspace .cw-tabs button[aria-pressed=true]{border-bottom-color:var(--line);color:var(--teal-dark)}.cw-count{background:var(--canvas);color:var(--warning);border-radius:4px;padding:0 6px;font-size:12px}.cw-feedback{min-height:44px;color:var(--muted);padding:12px 0;font-size:12px}.cw-panel{background:var(--canvas);border:1px solid var(--line);border-radius:8px;margin-bottom:20px;overflow:clip}.cw-panel-head{justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px 16px;display:flex}.cw-panel-head h2{margin:0;font-size:17px;font-weight:650}.cw-panel-head p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.7}.cw-panel-head>button{flex-shrink:0}.cw-phase-rail{grid-template-columns:repeat(6,1fr);gap:8px;padding:0 22px 20px;display:grid}.cw-workspace .cw-phase-rail button{border:1px solid var(--line);background:var(--canvas);flex-direction:column;gap:7px;min-height:92px;padding:12px 6px;font-size:13px;position:relative}.cw-workspace .cw-phase-rail button[aria-pressed=true]{background:var(--canvas);border-color:var(--line);color:var(--teal-dark)}.cw-phase-mark{color:var(--muted);font:500 23px/1.2 ui-monospace,monospace}.cw-phase-rail button[aria-pressed=true] .cw-phase-mark{color:var(--teal)}.cw-phase-rail small{font-size:12px;line-height:1}.cw-phase-history{background:var(--canvas);border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:8px 22px;padding:12px 22px;font-size:12px;display:flex}.cw-phase-history time{color:var(--teal-dark);font-family:ui-monospace,monospace}.cw-live-grid{grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);align-items:start;gap:20px;display:grid}.cw-live-grid>*,.cw-evidence-grid>*,.cw-settings-grid>*{min-width:0}.cw-table-tools{gap:10px;padding:0 22px 16px;display:flex}.cw-search{flex:1;min-width:100px;position:relative}.cw-search input{width:100%;padding-right:35px}.cw-search button{min-height:32px;color:var(--muted);border:0;padding:3px 10px;position:absolute;top:2px;right:2px}.cw-table-tools>button{white-space:nowrap}.cw-table-tools button[aria-pressed=true]{background:var(--canvas);color:var(--teal-dark);border-color:var(--line)}.cw-table-scroll{scrollbar-gutter:stable;min-height:245px;overflow-x:auto}.cw-workspace table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.cw-workspace th{background:var(--canvas);color:var(--muted);white-space:nowrap;border-block:1px solid var(--line);padding:10px 20px;font-weight:500}.cw-workspace td{vertical-align:middle;border-bottom:1px solid var(--line);padding:14px 20px}.cw-workspace td small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.cw-workspace tr:hover td{background:var(--hover)}.cw-workspace .cw-student-link{background:0 0;border-color:#0000;min-height:28px;padding:0;font-size:13px;font-weight:600}.cw-workspace .cw-student-link:hover{text-decoration:underline}.cw-workspace .cw-request-button{color:var(--teal-dark);border-color:var(--line);background:var(--canvas)}.cw-pager{min-height:61px;color:var(--muted);align-items:center;gap:7px;padding:12px 20px;font-size:12px;display:flex}.cw-pager>span{margin-right:auto}.cw-pager button{min-height:30px;font-size:12px}.cw-empty{text-align:center;color:var(--muted);padding:25px 24px 30px}.cw-empty>span{color:var(--teal);margin-bottom:10px;font:400 28px/1 ui-monospace,monospace;display:block}.cw-empty h3{color:var(--ink);margin:0 0 8px;font-size:14px;font-weight:500}.cw-empty p{max-width:410px;margin:0 auto;font-size:12px;line-height:1.8}.cw-help-list{padding:0 20px 8px}.cw-help-list article{border-top:1px solid var(--line);padding:16px 0}.cw-help-list h3{margin:9px 0 4px;font-size:14px}.cw-help-list p{color:var(--muted);margin:0 0 12px;font-size:12px}.cw-badge{background:var(--canvas);color:var(--teal-dark);white-space:nowrap;border-radius:4px;padding:2px 7px;font-size:12px;display:inline-block}.cw-warning{background:var(--canvas);color:var(--warning)}.cw-compact-facts{margin:0;padding:0 22px 10px}.cw-compact-facts>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:11px 0;display:flex}.cw-compact-facts>div:last-child{border:0}.cw-compact-facts dt{color:var(--muted);font-size:12px}.cw-compact-facts dd{margin:0;font:600 16px/1.6 ui-monospace,monospace}.cw-panel>.cw-text-button{margin:0 22px 18px}.cw-section-intro{justify-content:space-between;align-items:center;gap:22px;margin-bottom:22px;display:flex}.cw-section-intro h2{margin:0 0 5px;font-size:22px;font-weight:600}.cw-section-intro p{color:var(--muted);margin:0}.cw-evidence-grid,.cw-settings-grid{grid-template-columns:1.2fr 1fr;align-items:start;gap:20px;display:grid}.cw-settings-grid>.cw-panel:last-child{grid-column:1/-1}.cw-evidence-flow{padding:0 26px 25px}.cw-evidence-flow>div{align-items:center;gap:17px;min-height:95px;display:flex;position:relative}.cw-evidence-flow>div:not(:last-child):after{content:"";background:var(--canvas);width:1px;position:absolute;inset:51px auto -44px 7px}.cw-evidence-node{z-index:1;border:3px solid var(--line);background:var(--canvas);border-radius:6px;flex-shrink:0;width:15px;height:15px;display:block;position:relative}.cw-evidence-flow h3{margin:0;font-size:15px;font-weight:600}.cw-evidence-flow p{color:var(--muted);margin:5px 0 0;font-size:12px}.cw-evidence-flow strong{margin-left:auto;padding-left:10px;font:500 28px/1.2 ui-monospace,monospace}.cw-boundary{background:var(--canvas);color:var(--muted);border-left:0;padding:13px 16px;font-size:12px;line-height:1.8}.cw-panel>.cw-boundary{margin:6px 22px 22px}.cw-memos{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;padding:0 22px 22px;display:grid}.cw-memos article{border:1px solid var(--line);border-radius:8px;padding:18px}.cw-memos h3{margin:10px 0 7px;font-size:16px}.cw-memos p{color:var(--muted);font-size:13px}.cw-memos small{color:var(--muted);margin-top:16px;display:block}.cw-workspace summary,.cw-modal summary{cursor:pointer;color:var(--teal-dark);border-radius:4px}.cw-workspace summary:hover,.cw-modal summary:hover{background:var(--hover)}.cw-workspace summary:focus-visible,.cw-modal summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.cw-measure-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:24px;padding:0 22px 22px;font-size:12px;display:flex}.cw-measure-summary strong{color:var(--ink);margin-right:5px;font:500 25px/1 ui-monospace,monospace}.cw-measure-summary p{width:100%;margin:0}.cw-setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.cw-setting-row h3{margin:0;font-size:15px}.cw-setting-row p{color:var(--muted);margin:5px 0 0;font-size:12px}.cw-workspace .cw-switch{flex-shrink:0;gap:7px;font-size:12px}.cw-switch>span{background:var(--canvas);border-radius:6px;width:10px;height:10px}.cw-workspace .cw-switch.is-on{background:var(--canvas);border-color:var(--line);color:var(--teal-dark)}.cw-switch.is-on>span{background:var(--canvas)}.cw-body-copy{color:var(--muted);margin:0 22px 18px;font-size:13px;line-height:1.9}.cw-panel>.cw-badge{margin-bottom:15px;margin-left:22px}.cw-module-list{padding:0 22px 22px}.cw-module-list>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:12px;display:flex}.cw-module-list>div>span:last-child{color:var(--muted)}.cw-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.cw-panel>.cw-actions{justify-content:flex-start;padding:0 22px}.cw-panel>small{color:var(--muted);margin:18px 22px 22px;display:block}.cw-loading{min-height:260px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex}.cw-error{background:var(--canvas);color:var(--danger);border:1px solid var(--line);border-radius:8px;margin-bottom:15px;padding:12px 16px}.cw-error button{margin-left:12px}.cw-modal-backdrop{z-index:80;background:var(--canvas);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.cw-modal{width:min(720px,100%);max-height:calc(100dvh - 48px);color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;padding:26px;font-size:14px;line-height:1.8;overflow-y:auto}.cw-modal>header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.cw-modal>header h2{margin:0;font-size:20px}.cw-modal form label{color:var(--ink);gap:7px;margin-bottom:16px;font-size:13px;display:grid}.cw-workspace input,.cw-workspace select,.cw-modal input,.cw-modal select,.cw-modal textarea{border:1px solid var(--line);width:100%;min-height:38px;font:inherit;color:var(--ink);background:var(--canvas);border-radius:7px;padding:8px 11px;font-size:13px}.cw-modal textarea{resize:none;min-height:96px}.cw-modal [aria-invalid=true]{border-color:var(--line)}.cw-form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.cw-form-error{min-height:30px;color:var(--danger);font-size:13px}.cw-modal form>p,.cw-modal>p{color:var(--muted);font-size:13px}.cw-timeline article{border-left:0;padding:0 0 28px 18px}.cw-timeline article>header{justify-content:space-between;align-items:center;gap:15px;display:flex}.cw-timeline h3{margin:0;font-size:16px}.cw-timeline p{color:var(--muted);margin:7px 0;font-size:12px}.cw-timeline small{color:var(--muted);font-size:12px}.cw-timeline details{border-bottom:1px solid var(--line);padding:10px 0}.cw-timeline summary{font-size:13px}.cw-timeline summary>span{color:var(--muted);margin-left:12px;font-size:12px}.cw-timeline pre{border:1px solid var(--line);background:var(--canvas);border-radius:6px;max-height:330px;padding:15px;font-size:12px;overflow-x:auto}.student-classroom{border:1px solid var(--line);background:var(--canvas);color:var(--ink);border-radius:8px;margin:18px clamp(14px,3vw,40px);padding:18px;font-size:13px}.student-classroom>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-classroom>header h2{margin:0;font-size:16px}.student-classroom details{margin-top:14px}.student-classroom summary{cursor:pointer;color:var(--teal-dark)}.student-classroom .cw-actions{justify-content:flex-start;margin-top:15px}.cw-save-status{min-height:24px;color:var(--muted);padding:4px 0;font-size:12px}.cw-save-status.is-error{color:var(--danger)}@media (width<=1250px){.cw-live-grid{grid-template-columns:minmax(0,1fr)}.cw-support-column{grid-template-columns:1fr 1fr;gap:20px;display:grid}.cw-heading{align-items:flex-start}.cw-heading>label{max-width:180px}}@media (width<=760px){.cw-heading{flex-direction:column;gap:15px}.cw-heading>label{width:100%;max-width:none}.cw-heading h1{font-size:24px}.cw-origin{margin-left:0}.cw-tabs{justify-content:space-between;gap:0}.cw-tabs button{font-size:12px}.cw-context{gap:8px 16px}.cw-refresh-time{display:none}.cw-phase-rail{grid-template-columns:repeat(3,1fr);padding-inline:15px}.cw-panel-head{gap:12px;padding:18px 16px 14px}.cw-panel-head h2{font-size:16px}.cw-support-column,.cw-evidence-grid,.cw-settings-grid{grid-template-columns:1fr;gap:0}.cw-section-intro{flex-direction:column;align-items:stretch;gap:14px}.cw-workspace td,.cw-workspace th{padding:12px}.cw-table-scroll table{min-width:460px}.cw-modal-backdrop{padding:12px}.cw-modal{max-height:calc(100dvh - 24px);padding:20px}.cw-modal h2{font-size:18px}.cw-form-row{gap:12px}.cw-table-tools{padding-inline:15px}.cw-body-copy{font-size:13px}}.cw-targets{border:1px solid var(--line);border-radius:8px;max-height:220px;padding:12px;overflow-y:auto}.cw-targets label{align-items:center;gap:8px;display:flex}.cw-targets input{width:auto}.course-wiki-page{width:min(100%,1440px);min-width:0;margin:0 auto;padding:40px 36px 64px}.course-wiki-heading{align-items:flex-start;gap:20px;margin-bottom:32px;display:flex}.course-wiki-heading h1{letter-spacing:-.035em;margin:0 0 8px;font-size:clamp(28px,3vw,40px);line-height:1.3}.course-wiki-heading p{color:var(--muted);margin:0;font-size:16px;line-height:1.7}.course-wiki-emblem{height:58px;color:var(--link);background:var(--info-soft);border-radius:8px;flex:0 0 58px;place-items:center;padding:12px;display:grid}.course-wiki-emblem svg{width:34px;height:34px}.wiki-catalog-toolbar{align-items:end;gap:24px;display:flex}.wiki-search-form{flex:1;min-width:0}.wiki-search-form>label{color:var(--muted);margin-bottom:7px;font-size:13px;display:block}.wiki-search-control{border:1px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;gap:8px;min-width:0;padding:0 7px 0 14px;display:flex}.wiki-search-control>svg{width:20px;height:20px;color:var(--muted);flex-shrink:0}.wiki-search-control input{background:0 0;border:0;width:100%;min-width:0;padding:13px 0;font-size:15px}.wiki-search-control input:focus-visible{outline-offset:0}.wiki-search-control button{border:0;flex-shrink:0;min-height:36px}.wiki-sort-control{color:var(--muted);flex-shrink:0;gap:7px;font-size:13px;display:grid}.wiki-sort-control select{min-height:48px;padding:12px;font-size:14px}.wiki-filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.wiki-category-filters{flex-wrap:wrap;gap:8px;display:flex}.wiki-category-filters button{border-color:#0000;min-height:40px;padding:9px 13px}.wiki-category-filters button[aria-pressed=true]{color:var(--link);background:var(--info-soft)}.wiki-review-note{color:var(--muted);font-size:12px}.wiki-result-summary{min-height:52px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.wiki-result-summary button{border-color:#0000;font-size:12px}.wiki-catalog-results{min-height:370px}.wiki-knowledge-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.wiki-knowledge-card{border:1px solid var(--line);background:var(--paper);min-width:0;box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;padding:22px;display:flex}.wiki-card-labels,.wiki-reading-labels{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wiki-card-labels{justify-content:space-between}.wiki-category-label,.wiki-reviewed{border-radius:4px;align-items:center;padding:4px 9px;font-size:12px;line-height:1.4;display:inline-flex}.wiki-category-label{color:var(--link);background:var(--info-soft)}.wiki-reviewed{color:var(--success);background:var(--success-soft);white-space:nowrap}.wiki-knowledge-card h2{letter-spacing:-.015em;overflow-wrap:anywhere;margin:17px 0 12px;font-size:19px;line-height:1.55}.wiki-card-summary{color:var(--muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0 0 16px;font-size:14px;line-height:1.9;display:-webkit-box;overflow:hidden}.wiki-card-tags{flex-wrap:wrap;gap:6px;margin:auto 0 18px;padding:0;list-style:none;display:flex}.wiki-card-tags li{background:var(--canvas);color:var(--muted);border-radius:4px;padding:3px 8px;font-size:12px}.wiki-knowledge-card footer{border-top:1px solid var(--line);margin-top:auto;padding-top:13px}.wiki-card-provenance{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:12px;line-height:1.7;display:flex}.wiki-card-provenance time{flex-basis:100%}.wiki-card-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.wiki-card-actions>span{color:var(--muted);font-size:11px}.wiki-card-actions button{min-height:40px;font-size:13px}.wiki-card-actions button span{margin-left:8px}.wiki-state{text-align:center;min-height:370px;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.wiki-state>svg{width:44px;height:44px;color:var(--link);margin-bottom:12px}.wiki-state h2,.wiki-state h3{color:var(--ink);margin:8px 0;font-size:20px}.wiki-state p{margin:8px 0 16px;line-height:1.8}.wiki-state-error{color:var(--danger)}.wiki-access-notice{border:1px solid var(--line);background:var(--warning-soft);color:var(--ink);border-radius:6px;margin:0 0 18px;padding:14px 18px;font-size:14px}.wiki-access-notice p{margin:6px 0 0;line-height:1.75}.wiki-pagination{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;padding-top:28px;font-size:13px;display:flex}.wiki-pagination button{min-height:40px}.wiki-reading-backdrop{z-index:var(--z-dialog);background:var(--overlay);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.wiki-reading-dialog{width:min(860px,100%);max-height:calc(100dvh - 48px);color:var(--ink);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:8px;flex-direction:column;display:flex}.wiki-reading-topbar{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;font-size:13px;display:flex}.wiki-reading-topbar button{flex-shrink:0;min-height:40px}.wiki-reading-body{scrollbar-gutter:stable;min-height:0;padding:30px 44px 40px;overflow-y:auto}.wiki-reading-body>header h2{overflow-wrap:anywhere;margin:18px 0 10px;font-size:clamp(24px,2.5vw,30px);line-height:1.5}.wiki-reading-meta{color:var(--muted);margin:0 0 26px;font-size:13px}.wiki-reading-body>section{border-top:1px solid var(--line);padding:20px 0}.wiki-reading-body h3{margin:0 0 12px;font-size:16px}.wiki-reading-body .wiki-self-check{background:var(--info-soft);border:0;border-radius:6px;margin:12px 0 26px;padding:18px 20px}.wiki-markdown{overflow-wrap:anywhere;font-size:15px;line-height:1.9}.wiki-markdown>:first-child{margin-top:0}.wiki-markdown>:last-child{margin-bottom:0}.wiki-markdown h4{margin:18px 0 8px;font-size:16px}.wiki-markdown a,.wiki-image-reference a{color:var(--link);text-underline-offset:3px;text-decoration:underline}.wiki-markdown :not(pre)>code{background:var(--canvas);border-radius:4px;padding:2px 5px;font-size:.9em}.wiki-markdown pre,.wiki-example{background:var(--canvas);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:16px;font-size:13px;line-height:1.85;overflow-x:auto}.wiki-markdown pre{white-space:pre;overflow-wrap:normal;margin-block:14px}.wiki-code-block{background:var(--canvas);border-radius:6px;margin-block:14px;overflow:hidden}.wiki-code-language{border-bottom:1px solid var(--line);color:var(--muted);padding:8px 16px;font-size:12px;display:block}.wiki-code-block>pre{border-radius:0;margin:0}.wiki-markdown ul,.wiki-markdown ol{padding-left:24px}.wiki-markdown blockquote{background:var(--canvas);border-radius:6px;margin-inline:0;padding:12px 16px}.wiki-image-reference{background:var(--canvas);flex-wrap:wrap;gap:12px;padding:12px;font-size:13px;display:flex}.wiki-provenance{border-top:1px solid var(--line);margin-top:12px;padding-top:22px}.wiki-provenance dl{color:var(--muted);gap:8px;margin:0;font-size:13px;display:grid}.wiki-provenance dl div{grid-template-columns:112px minmax(0,1fr);gap:12px;display:grid}.wiki-provenance dd{overflow-wrap:anywhere;margin:0}@media (width<=1180px){.wiki-knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.course-wiki-page{padding:26px 18px 40px}.course-wiki-heading{gap:14px;margin-bottom:24px}.course-wiki-emblem{flex-basis:44px;height:44px;padding:8px}.course-wiki-emblem svg{width:28px;height:28px}.course-wiki-heading p{font-size:14px}.wiki-catalog-toolbar{flex-wrap:wrap;gap:10px}.wiki-search-form{flex-basis:100%}.wiki-sort-control{align-items:center;margin-left:auto;display:flex}.wiki-sort-control select{min-height:40px;padding:8px 10px}.wiki-filter-row{margin-top:14px}.wiki-category-filters{gap:4px}.wiki-category-filters button{padding:8px 10px}.wiki-knowledge-grid{grid-template-columns:minmax(0,1fr);gap:14px}.wiki-knowledge-card{padding:20px}.wiki-reading-backdrop{padding:8px}.wiki-reading-dialog{max-height:calc(100dvh - 16px)}.wiki-reading-topbar{padding:10px 16px}.wiki-reading-body{padding:22px 20px 30px}.wiki-provenance dl div{grid-template-columns:88px minmax(0,1fr)}}.material-library{width:100%}.material-heading{align-items:center}.material-sync-button{min-width:180px;min-height:42px;margin:0}.material-live-status{min-height:24px;color:var(--success);margin:-14px 0 8px;font-size:13px}.material-setup{border:1px solid var(--line);background:var(--canvas);border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px 40px;margin-bottom:24px;padding:24px;display:grid}.material-setup>div>span{color:var(--primary);font:600 12px/1.5 ui-monospace,monospace}.material-setup h2{margin:10px 0 8px;font-size:20px}.material-setup p{max-width:62ch;color:var(--muted);margin:0;line-height:1.8}.material-setup ol{gap:12px;margin:0;padding:0;list-style:none;display:grid}.material-setup li{grid-template-columns:94px minmax(0,1fr);gap:10px;display:grid}.material-setup li strong{font-size:13px}.material-setup li span{color:var(--muted);font-size:13px;line-height:1.65}.material-setup>a{width:fit-content;color:var(--primary);grid-column:1/-1;font-size:13px}.material-connection{border-block:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 20px;margin-bottom:16px;padding:10px 12px;font-size:12px;display:flex}.material-connection span:first-child{color:var(--ink);font-weight:600}.material-connection i{background:var(--success);border-radius:4px;width:7px;height:7px;margin-right:7px;display:inline-block}.material-search{margin:0 0 18px}.material-search>label{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.material-search>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid;position:relative}.material-search input{min-height:42px;padding-right:42px}.material-search>div>button{border:1px solid var(--line);min-width:72px;min-height:42px;color:var(--ink);background:var(--paper);cursor:pointer;border-radius:6px;padding:0 14px}.material-search>div>.material-search-clear{background:0 0;border:0;min-width:32px;min-height:32px;padding:0;font-size:20px;position:absolute;top:5px;right:82px}.material-search>div>button:hover{background:var(--hover)}.material-search>div>button:active{background:var(--active)}.material-loading,.material-reader-loading{min-height:360px;color:var(--muted);place-content:center;justify-items:center;display:grid}.material-loading p,.material-reader-loading p{margin:12px 0 0}.material-empty{min-height:420px}.material-empty button{border:1px solid var(--line);color:var(--ink);background:var(--paper);cursor:pointer;border-radius:6px;padding:8px 12px}.material-workspace{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-sm);border-radius:8px;grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;display:grid}.material-stream{border-right:1px solid var(--line);background:var(--canvas);min-width:0}.material-stream>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:15px 16px;display:flex}.material-stream>header strong{font-size:14px}.material-stream>header span{color:var(--muted);font-size:12px}.material-stream-list{display:grid}.material-stream-list>button{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border-radius:0;padding:17px 16px;display:block}.material-stream-list>button:hover{background:var(--hover)}.material-stream-list>button:active,.material-stream-list>button.active{background:var(--active)}.material-stream-list>button>span{color:var(--muted);font-size:11px}.material-stream-list>button>strong{margin:7px 0 6px;font-size:14px;line-height:1.55;display:block}.material-stream-list>button>p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.material-stream-list>button>small{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:11px;display:block;overflow:hidden}.material-pagination{justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.material-pagination button{min-height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 9px}.material-pagination button:hover:not(:disabled){background:var(--hover)}.material-pagination button:disabled{opacity:.45;cursor:default}.material-pagination span{color:var(--muted);font-size:11px}.material-reader{min-width:0;min-height:640px}.material-reader>article{width:min(100%,820px);margin:0 auto;padding:clamp(28px,5vw,64px)}.material-reader>article>header{border-bottom:1px solid var(--line);padding-bottom:24px}.material-reader>article>header>p{color:var(--primary);margin:0 0 12px;font-size:12px}.material-reader h2{letter-spacing:-.025em;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.4}.material-reader>article>header>div{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin-top:18px;font-size:12px;display:flex}.material-reader a{color:var(--primary);text-underline-offset:3px}.material-reader ul[aria-label=素材标签]{flex-wrap:wrap;gap:7px;margin:14px 0 0;padding:0;list-style:none;display:flex}.material-reader ul[aria-label=素材标签] li{color:var(--muted);background:var(--canvas);border-radius:4px;padding:4px 6px;font-size:11px}.material-summary{background:var(--canvas);border-radius:6px;margin:26px 0;padding:18px 20px}.material-summary strong{font-size:12px}.material-summary p{color:var(--muted);margin:7px 0 0;line-height:1.85}.material-markdown{color:var(--ink);overflow-wrap:anywhere;font-size:16px;line-height:1.95}.material-markdown :is(h1,h2,h3,h4){letter-spacing:0;margin:1.8em 0 .7em;line-height:1.5}.material-markdown h1{font-size:26px}.material-markdown h2{font-size:22px}.material-markdown h3{font-size:18px}.material-markdown p{margin:1em 0}.material-markdown :is(ul,ol){padding-left:1.5em}.material-markdown blockquote{color:var(--muted);background:var(--canvas);margin:1.2em 0;padding:14px 18px}.material-markdown pre{background:var(--canvas);border-radius:6px;padding:16px;font-size:13px;line-height:1.7;overflow-x:auto}.material-markdown code:not(pre code){background:var(--canvas);border-radius:4px;padding:2px 4px;font-size:.9em}.material-markdown table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.material-markdown :is(th,td){border:1px solid var(--line);text-align:left;padding:8px 10px}.material-markdown hr{border:0;border-top:1px solid var(--line);margin:32px 0}.material-image-reference{border:1px solid var(--line);color:var(--muted);background:var(--canvas);border-radius:6px;justify-content:space-between;gap:12px;margin:18px 0;padding:14px;font-size:13px;display:flex}.material-link-only{border:1px solid var(--line);background:var(--canvas);border-radius:6px;margin-top:28px;padding:24px}.material-link-only h3{margin:0 0 8px}.material-link-only p{color:var(--muted)}@media (width<=1080px){.material-workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.material-reader>article{padding:32px}}@media (width<=760px){.material-heading{align-items:stretch}.material-sync-button{width:100%}.material-setup{grid-template-columns:1fr}.material-setup>a{grid-column:auto}.material-workspace{display:block}.material-stream{border-right:0;border-bottom:1px solid var(--line)}.material-reader{min-height:480px}.material-reader>article{padding:28px 20px}}@media (width<=480px){.material-setup{padding:18px}.material-setup li{grid-template-columns:1fr;gap:2px}.material-reader>article>header>div{flex-direction:column;align-items:flex-start}}.app-shell{min-height:100vh}.topbar{background:var(--canvas);height:72px;color:var(--ink);z-index:20;box-shadow:none;justify-content:space-between;align-items:center;padding:0 28px;display:flex;position:sticky;top:0}.brand-block,.topbar-meta,.panel-heading,.progress-card>div:first-child{align-items:center;display:flex}.brand-block{gap:12px}.brand-icon{background:var(--canvas);width:38px;height:38px;color:var(--ink);box-shadow:none;border-radius:8px;place-items:center;font:700 14px/1 ui-monospace,monospace;display:grid}.brand-block strong,.brand-block span{display:block}.brand-block strong{letter-spacing:normal;font-size:16px}.brand-block span{color:var(--ink);margin-top:2px;font-size:12px}.topbar-meta{gap:16px}.stage-badge{border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:5px 10px;font-size:12px}.avatar{background:var(--canvas);width:34px;height:34px;color:var(--teal-dark);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.user-menu{color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;font-size:12px;display:flex}.user-menu i{width:34px;height:34px;color:var(--teal-dark);background:var(--canvas);border-radius:6px;place-items:center;font-style:normal;font-weight:700;display:grid}.menu-button{color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:7px;padding:6px 10px;display:none}.wiki-button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:7px;padding:6px 10px;font-size:12px}.workspace{background:var(--canvas);grid-template-columns:260px minmax(600px,1fr) 356px;align-items:start;max-width:1800px;margin:0 auto;display:grid}.lesson-nav,.tutor-panel{background:var(--canvas);height:calc(100vh - 72px);position:sticky;top:72px}.lesson-nav{border-right:1px solid var(--line);scrollbar-gutter:stable;flex-direction:column;padding:24px 16px 18px;display:flex;overflow-y:auto}.course-label span,.nav-heading,.panel-kicker,.tutor-context>span{color:var(--ink);letter-spacing:normal;text-transform:none;font-size:12px;font-weight:700}.course-label strong{color:var(--ink);margin-top:5px;font-size:14px;display:block}.lesson-nav-tools{gap:7px;margin:-5px 7px 14px;display:none}.lesson-nav-tools button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:8px;flex:1;padding:8px;font-size:12px}.progress-card>div:first-child{color:var(--ink);justify-content:space-between;font-size:12px}.progress-card strong{color:var(--ink)}.progress-track{background:var(--canvas);border-radius:8px;height:5px;margin-top:10px;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--canvas);height:100%;transition:background-color .15s,color .15s,opacity .15s;display:block}.nav-heading{margin:23px 8px 9px}.lesson-switcher{gap:7px;display:grid}.lesson-switcher button{border:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);background:var(--canvas);text-align:left;cursor:pointer;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:30px 1fr;gap:2px 9px;padding:11px 12px;transition:background-color .15s,color .15s,opacity .15s;display:grid}.lesson-switcher button:disabled{opacity:.58;cursor:wait;transform:none}.lesson-switcher button>span{width:30px;height:30px;color:var(--ink);background:var(--canvas);border-radius:8px;grid-row:1/3;align-self:center;place-items:center;font:700 12px/1 ui-monospace,monospace;display:grid}.lesson-switcher button strong{color:var(--ink);letter-spacing:normal;font-size:12px}.lesson-switcher button small{min-width:0;color:var(--ink);font-size:12px;line-height:1.45}.lesson-switcher button.active{border-color:var(--line);background:var(--canvas);box-shadow:none}.nav-section-heading{justify-content:space-between;align-items:baseline;margin-top:4px;display:flex}.nav-section-heading .nav-heading{margin-bottom:8px}.nav-section-heading>span{color:var(--ink);margin-right:8px;font-size:12px}.concept-list{margin:0;padding:0;list-style:none}.concept-list li{position:relative}.concept-list li:not(:last-child):after{content:"";background:var(--canvas);width:1px;position:absolute;top:31px;bottom:-7px;left:19px}.concept-list button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 8px;font-size:13px;transition:background-color .15s,color .15s,opacity .15s;display:flex}.concept-list button span{z-index:1;border:1px solid var(--line);width:22px;height:22px;color:var(--ink);background:var(--canvas);border-radius:6px;place-items:center;font:600 12px/1 ui-monospace,monospace;display:grid;position:relative}.concept-list button.active{color:var(--ink);background:var(--canvas);font-weight:700}.concept-list button.active span{color:var(--ink);border-color:var(--line);background:var(--canvas);box-shadow:none}.nav-footer{border-top:1px solid var(--line);color:var(--ink);margin-top:auto;padding:14px 8px 0;font-size:12px}.version-dot,.status-dot{background:var(--canvas);border-radius:6px;width:6px;height:6px;margin-right:6px;display:inline-block}.lesson-main{background:var(--canvas);min-width:0;min-height:calc(100vh - 72px);padding:30px clamp(30px,5vw,82px) 96px}.preview-notice{max-width:820px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:10px;margin:0 auto 26px;padding:11px 14px;font-size:12px;line-height:1.6;display:flex}.preview-notice>span{width:18px;height:18px;color:var(--ink);background:var(--canvas);border-radius:6px;flex:0 0 18px;place-items:center;margin-top:1px;font:700 12px/1 serif;display:grid}.preview-notice p{margin:0}.lesson-content{max-width:880px;margin:0 auto}.lesson-content .lesson-hero{border-bottom:1px solid var(--line);margin-bottom:52px;padding:34px 0 38px}.lesson-content .eyebrow{color:var(--teal);letter-spacing:normal;text-transform:none;margin:0 0 12px;font-size:12px;font-weight:700}.lesson-content h1{max-width:780px;color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(36px,4.4vw,58px);line-height:1.12}.lesson-content .lead{max-width:680px;color:var(--ink);margin:22px 0 0;font-size:16px;line-height:1.85}.lesson-content section{margin:0 0 58px;scroll-margin-top:104px}.lesson-content h2{color:var(--ink);letter-spacing:-.02em;margin:0 0 18px;font-size:25px;line-height:1.35}.lesson-content p{color:var(--ink);margin:0 0 16px}.lesson-content ul,.lesson-content ol{color:var(--ink);margin:18px 0 22px;padding-left:24px}.lesson-content li{margin:7px 0;padding-left:4px}.lesson-content code{color:var(--ink);background:var(--canvas);border-radius:4px;padding:2px 5px;font-size:.9em}.lesson-content pre[data-python-runner]{color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;margin:22px 0;padding:42px 20px 20px;position:relative;overflow-x:auto}.lesson-content pre[data-python-runner][hidden]{display:none}.lesson-content pre[data-python-runner]:before{content:"PYTHON 示例";color:var(--ink);letter-spacing:normal;font:500 12px/1 ui-monospace,monospace;position:absolute;top:13px;left:18px}.lesson-content pre code{color:inherit;background:0 0;padding:0;font-size:13px;line-height:1.8}.lesson-content table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:8px;width:100%;margin:22px 0;overflow:hidden}.lesson-content th,.lesson-content td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 13px}.lesson-content tr:last-child td,.lesson-content th:last-child,.lesson-content td:last-child{border-right:0}.lesson-content tr:last-child td{border-bottom:0}.lesson-content blockquote{background:var(--canvas);border-left:0;border-radius:0 7px 7px 0;margin:22px 0;padding:15px 17px 1px}.lesson-content .lesson-summary{background:var(--canvas);border:1px solid var(--line);border-radius:8px;margin-top:60px;padding:28px}.lesson-content .lesson-hero-paths{padding-top:42px;position:relative}.lesson-hero-paths:before{content:"IF  →  FOR  ↻  WHILE  →  BREAK";color:var(--ink);letter-spacing:normal;font:600 12px/1 ui-monospace,monospace;position:absolute;top:0;right:0}.path-board{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:32px 0 26px;display:grid;position:relative}.path-board:before{content:"";background:var(--canvas);height:2px;position:absolute;top:25px;left:8%;right:8%}.path-node{z-index:1;border:1px solid var(--line);border-top:4px solid var(--line);background:var(--canvas);min-height:128px;box-shadow:none;border-radius:8px;padding:18px 15px 15px;position:relative}.path-node>span{border:5px solid var(--line);width:30px;height:30px;color:var(--ink);background:var(--canvas);box-shadow:none;border-radius:6px;place-items:center;margin-bottom:16px;font:700 12px/1 ui-monospace,monospace;display:grid}.path-node strong,.path-node small{display:block}.path-node strong{color:var(--ink);font-size:13px}.path-node small{color:var(--ink);margin-top:5px;font-size:12px;line-height:1.5}.path-node-amber{border-top-color:var(--line)}.path-node-amber>span{background:var(--canvas)}.path-node-coral{border-top-color:var(--line)}.path-node-coral>span{background:var(--canvas)}.path-node-violet{border-top-color:var(--line)}.path-node-violet>span{background:var(--canvas)}.lesson-content .mission-brief{border:1px solid var(--line);background:var(--canvas);border-left:0;border-radius:0 8px 8px 0;margin-top:26px;padding:18px 20px 2px}.lesson-content .mission-brief p{color:var(--ink)}.lesson-content .concept-section{position:relative}.lesson-content .section-kicker{color:var(--teal);letter-spacing:normal;margin:0 0 10px;font:700 12px/1.5 ui-monospace,monospace}.lesson-content .concept-section>h2{max-width:720px;font-size:clamp(26px,3.2vw,34px)}.compare-grid,.control-pair,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0;display:grid}.compare-card{border:1px solid var(--line);background:var(--canvas);border-radius:8px;min-width:0;padding:16px}.compare-card>span{color:var(--ink);background:var(--canvas);border-radius:5px;padding:4px 7px;font-size:12px;font-weight:700;display:inline-block}.compare-card.is-risky>span{color:var(--ink);background:var(--canvas)}.lesson-content .compare-card pre{color:var(--ink);background:var(--canvas);border-radius:8px;margin:14px 0 11px;padding:14px;overflow-x:auto}.lesson-content .compare-card pre code{color:inherit;background:0 0;padding:0;line-height:1.7}.lesson-content .compare-card p{color:var(--ink);margin:0;font-size:12px}.explore-card{border:1px solid var(--line);background:var(--canvas);border-radius:8px;margin:24px 0;padding:20px}.explore-card>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.explore-card>div>span{color:var(--ink);background:var(--canvas);border-radius:6px;padding:5px 8px;font:700 12px/1 ui-monospace,monospace}.explore-card>div>strong{color:var(--ink);font-size:14px}.lesson-content .explore-card ol{margin-bottom:0}.lesson-content .explore-card p{color:var(--ink);margin:11px 0 0}.lesson-content .pitfall-card{border:1px solid var(--line);background:var(--canvas);border-left:0;border-radius:0 8px 8px 0;margin:24px 0;padding:18px 20px 3px 48px;position:relative}.pitfall-card:before{content:"!";width:20px;height:20px;color:var(--ink);background:var(--canvas);border-radius:6px;place-items:center;font:800 12px/1 ui-monospace,monospace;display:grid;position:absolute;top:17px;left:17px}.decision-lane{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:26px 0;display:grid}.decision-lane>div{border:1px solid var(--line);background:var(--canvas);border-radius:8px;min-height:82px;padding:14px;position:relative}.decision-lane>div:not(:last-child):after{content:"→";z-index:2;color:var(--ink);font:700 14px/1 ui-monospace,monospace;position:absolute;top:29px;right:-10px}.decision-lane span,.decision-lane strong{display:block}.decision-lane span{color:var(--ink);font-size:12px}.decision-lane strong{color:var(--ink);margin-top:8px;font-size:12px;line-height:1.45}.decision-lane>div:nth-child(2),.decision-lane>div:nth-child(3),.decision-lane>div:nth-child(4){border-top:3px solid var(--line)}.boundary-lab,.trace-table{border:1px solid var(--line);background:var(--canvas);border-radius:8px;margin:24px 0;padding:18px 18px 3px}.boundary-lab h3,.trace-table h3{color:var(--ink);margin:0;font-size:13px}.range-visual,.loop-checklist{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:26px 0;display:grid}.range-visual>div,.loop-checklist>div{border:1px solid var(--line);background:var(--canvas);border-radius:8px;min-height:94px;padding:15px}.range-visual span,.range-visual strong,.range-visual small,.loop-checklist span,.loop-checklist strong,.loop-checklist small{display:block}.range-visual span,.loop-checklist span{color:var(--teal);font:700 12px/1 ui-monospace,monospace}.range-visual strong{color:var(--ink);margin:9px 0 6px;font:700 24px/1 ui-monospace,monospace}.range-visual small,.loop-checklist small{color:var(--ink);font-size:12px;line-height:1.5}.range-visual .range-stop{border-style:dashed;border-color:var(--line);background:var(--canvas)}.range-visual .range-stop span,.range-visual .range-stop strong{color:var(--ink)}.loop-checklist{grid-template-columns:repeat(3,minmax(0,1fr))}.loop-checklist>div{min-height:112px}.loop-checklist span{width:26px;height:26px;color:var(--ink);background:var(--canvas);border-radius:8px;place-items:center;display:grid}.loop-checklist strong{color:var(--ink);margin:12px 0 7px;font-size:12px}.control-card{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:21px}.control-card>span{color:var(--teal);font:700 12px/1 ui-monospace,monospace}.control-card>strong{color:var(--ink);margin:13px 0 7px;font-size:15px;display:block}.lesson-content .control-card>p{color:var(--ink);margin:0;font-size:12px}.continue-card{border-top:4px solid var(--line)}.continue-card>span{color:var(--ink)}.break-card{border-top:4px solid var(--line)}.break-card>span{color:var(--ink)}.nested-map{gap:8px;margin:26px 0;display:grid}.nested-map>div{border:1px solid var(--line);background:var(--canvas);border-radius:8px;grid-template-columns:100px repeat(3,1fr);align-items:center;gap:8px;padding:10px 12px;display:grid}.nested-map span{color:var(--ink);font-size:12px;font-weight:700}.nested-map strong{color:var(--ink);background:var(--canvas);text-align:center;border-radius:7px;padding:9px;font:600 12px/1 ui-monospace,monospace}.lesson-content .lesson-summary-paths{border-color:var(--line);background:var(--canvas)}.lesson-summary-paths .section-kicker{color:var(--teal-dark)}.lesson-content .lesson-summary-paths h2{color:var(--ink)}.summary-grid>div{border-top:2px solid var(--line);background:var(--canvas);padding:14px}.summary-grid span,.summary-grid strong{display:block}.summary-grid span{color:var(--ink);font:700 12px/1 ui-monospace,monospace}.summary-grid strong{color:var(--ink);margin-top:8px;font-size:12px;line-height:1.55}.lesson-content .lesson-hero-incident{padding-top:18px;position:relative}.incident-ribbon{width:fit-content;color:var(--ink);background:var(--canvas);box-shadow:none;letter-spacing:normal;border-left:0;align-items:center;gap:10px;margin:0 0 30px;padding:10px 13px;font:700 12px/1.3 ui-monospace,monospace;display:flex}.incident-ribbon span{color:var(--ink)}.incident-ribbon strong{font-size:12px}.incident-ribbon small{color:var(--ink);border-left:1px solid var(--line);padding-left:10px;font-size:12px}.incident-console{border:1px solid var(--line);border-top:4px solid var(--line);background:var(--canvas);box-shadow:none;grid-template-columns:.9fr 1.2fr 1.2fr;margin:30px 0 18px;display:grid}.incident-console>div{border-right:1px solid var(--line);min-width:0;padding:16px}.incident-console>div:last-child{border-right:0}.incident-console span,.incident-console strong,.incident-console code{display:block}.incident-console span{color:var(--ink);letter-spacing:normal;margin-bottom:8px;font:700 12px/1 ui-monospace,monospace}.incident-console strong{color:var(--ink);font-size:12px;line-height:1.65}.incident-console code{overflow-wrap:anywhere;color:var(--ink);background:0 0;padding:0;font:700 12px/1.6 ui-monospace,monospace}.mission-route{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0 24px;display:grid;position:relative}.mission-route:before{content:"";background:var(--canvas);height:2px;position:absolute;top:20px;left:6%;right:6%}.mission-route>div{z-index:1;padding-top:37px;position:relative}.mission-route>div:before{content:"";border:4px solid var(--line);background:var(--canvas);width:15px;height:15px;box-shadow:none;border-radius:6px;position:absolute;top:13px;left:13px}.mission-route>div.is-current:before{background:var(--canvas);box-shadow:none}.mission-route span,.mission-route strong,.mission-route small{display:block}.mission-route span{color:var(--teal);font:700 12px/1 ui-monospace,monospace}.mission-route strong{color:var(--ink);margin:7px 0 4px;font-size:12px}.mission-route small{color:var(--ink);font-size:12px;line-height:1.5}.lesson-content .dispatch-note{background:var(--canvas);border-left-color:var(--line);padding:17px 19px 1px}.lesson-content .dispatch-note p{color:var(--ink)}.lesson-content .story-section{border-top:1px solid var(--line);padding-top:12px}.story-beat{color:var(--ink);background:var(--canvas);border-left:0;grid-template-columns:82px 1fr auto;align-items:center;gap:14px;margin:0 0 30px;padding:13px 16px;display:grid}.story-beat>span{color:var(--ink);font:700 12px/1 ui-monospace,monospace}.story-beat>strong{font-size:13px;line-height:1.45}.story-beat>small{max-width:230px;color:var(--ink);text-align:right;font-size:12px;line-height:1.45}.story-beat.is-success{border-left-color:var(--line)}.story-beat.is-success>span{color:var(--ink)}.indent-scene{color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;grid-template-columns:minmax(0,1.6fr) minmax(190px,.7fr);gap:18px;margin:25px 0;padding:20px;display:grid}.indent-code{gap:5px;display:grid}.indent-code>span{border-left:0;gap:12px;min-width:0;padding:5px 8px;display:flex}.indent-code>span.is-inside{border-left-color:var(--line);background:var(--canvas);margin-left:28px}.indent-code em{color:var(--ink);font:500 12px/1.8 ui-monospace,monospace}.lesson-content .indent-code code{color:var(--ink);background:0 0;padding:0;font:12px/1.8 ui-monospace,monospace}.indent-brace{border-left:1px solid var(--line);padding:14px}.indent-brace span,.indent-brace strong,.indent-brace small{display:block}.indent-brace span{color:var(--ink);font:700 12px/1 ui-monospace,monospace}.indent-brace strong{color:var(--ink);margin:12px 0 7px;font-size:15px}.indent-brace small{color:var(--ink);font-size:12px;line-height:1.7}.handoff-strip{border:1px solid var(--line);background:var(--canvas);border-left:0;grid-template-columns:76px 1fr auto;align-items:center;gap:13px;margin:30px 0 4px;padding:14px 16px;display:grid}.handoff-strip span{color:var(--teal);font:700 12px/1 ui-monospace,monospace}.handoff-strip strong{color:var(--ink);font-size:12px;line-height:1.55}.handoff-strip small{max-width:220px;color:var(--ink);text-align:right;font-size:12px;line-height:1.5}.concept-figure{border:1px solid var(--line);background:var(--canvas);box-shadow:none;margin:28px 0;overflow:hidden}.concept-figure img{aspect-ratio:1672/941;object-fit:cover;width:100%;height:auto;display:block}.concept-figure figcaption{border-top:1px solid var(--line);background:var(--canvas);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px;display:grid}.concept-figure figcaption span{color:var(--ink);border-left:0;padding:9px;font-size:12px;line-height:1.55}.concept-figure figcaption strong,.concept-figure figcaption code{display:block}.concept-figure figcaption strong{color:var(--ink);margin-bottom:5px;font-size:12px}.concept-figure figcaption code{overflow-wrap:anywhere;color:var(--ink);background:0 0;padding:0}.algorithm-lab{border:1px solid var(--line);background:var(--canvas);box-shadow:none;margin:30px 0;overflow:hidden}.algorithm-lab-heading{color:var(--ink);background:var(--canvas);border-bottom:4px solid var(--line);grid-template-columns:1fr minmax(230px,.9fr);align-items:end;gap:22px;padding:17px 19px;display:grid}.algorithm-lab-heading span{color:var(--ink);letter-spacing:normal;margin-bottom:7px;font:700 12px/1 ui-monospace,monospace;display:block}.algorithm-lab-heading h3{color:var(--ink);margin:0;font-size:17px}.lesson-content .algorithm-lab-heading p{color:var(--ink);text-align:right;margin:0;font-size:12px;line-height:1.6}.lab-controls{border-top:1px solid var(--line);background:var(--canvas);flex-wrap:wrap;align-items:center;gap:8px;padding:14px 18px;display:flex}.lab-controls button{border:1px solid var(--line);min-height:34px;color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:700;transition:background-color .15s,color .15s,opacity .15s}.lab-controls button:hover:not(:disabled){background:var(--hover)}.lab-controls button.secondary,.lab-controls button.ghost{color:var(--ink);background:var(--canvas);border-color:var(--line)}.lab-controls button:disabled{opacity:.5;cursor:not-allowed}.lab-controls-slider{grid-template-columns:130px minmax(160px,1fr) auto;display:grid}.lab-controls-slider label{color:var(--ink);font-size:12px;font-weight:700}.lab-controls-slider output{color:var(--teal);margin-left:6px;font:800 14px/1 ui-monospace,monospace}.lab-controls-slider input{width:100%;accent-color:var(--teal);cursor:pointer}.lesson-content .lab-status{min-height:43px;color:var(--ink);background:var(--canvas);align-items:center;gap:9px;margin:0;padding:12px 18px;font-size:12px;line-height:1.7;display:flex}.lab-status>span{color:var(--teal);font:800 13px/1 ui-monospace,monospace}.sorter-stage{background:var(--canvas);height:190px;position:relative;overflow:hidden}.sorter-stage:before{content:"";border-top:2px solid var(--line);border-bottom:2px solid var(--line);height:12px;position:absolute;top:93px;left:5%;right:9%}.sorter-product{z-index:3;border:4px solid var(--line);width:46px;height:46px;color:var(--ink);background:var(--canvas);box-shadow:none;place-items:center;transition:background-color .15s,color .15s,opacity .15s;display:grid;position:absolute;top:72px;left:8%}.sorter-product span{font:800 12px/1 ui-monospace,monospace}.sorter-product.is-scanning{animation:none}.sorter-stage[data-result=qualified] .sorter-product{background:var(--canvas);top:33px;left:82%}.sorter-stage[data-result=inspect] .sorter-product{background:var(--canvas);top:132px;left:82%}.sorter-sensor{z-index:2;width:80px;color:var(--ink);text-align:center;font-size:12px;font-weight:700;position:absolute;top:40px;left:43%}.sorter-sensor span{border:8px solid var(--line);background:var(--canvas);width:42px;height:42px;box-shadow:none;border-radius:6px;margin:0 auto 7px;display:block}.sorter-branch{position:absolute;inset:0}.branch-line{border-left:0;height:70px;position:absolute;left:51%;right:5%}.branch-line:before{content:"";transform-origin:0;border-top:3px solid;position:absolute;top:34px;left:0;right:0}.branch-line span{background:var(--canvas);padding:4px 7px;font-size:12px;font-weight:700;position:absolute;right:0}.branch-qualified{color:var(--teal);border-color:var(--line);top:24px;transform:rotate(-10deg)}.branch-qualified:before{border-color:var(--line)}.branch-qualified span{top:9px;transform:rotate(10deg)}.branch-inspect{color:var(--coral);border-color:var(--line);top:93px;transform:rotate(10deg)}.branch-inspect:before{border-color:var(--line)}.branch-inspect span{top:43px;transform:rotate(-10deg)}.range-conveyor{background:var(--canvas);grid-template-columns:repeat(4,1fr);gap:16px;padding:38px 24px;display:grid;position:relative}.conveyor-belt{border-top:2px solid var(--line);border-bottom:2px solid var(--line);height:15px;position:absolute;top:66px;left:6%;right:6%}.conveyor-item{z-index:1;border:2px solid var(--line);min-height:74px;color:var(--ink);background:var(--canvas);text-align:center;padding:12px;transition:background-color .15s,color .15s,opacity .15s;position:relative}.conveyor-item strong,.conveyor-item span{display:block}.conveyor-item strong{font:800 22px/1 ui-monospace,monospace}.conveyor-item span{color:var(--ink);margin-top:9px;font:700 12px/1 ui-monospace,monospace}.conveyor-item.is-current{border-color:var(--line);background:var(--canvas);box-shadow:none}.conveyor-item.is-past{border-color:var(--line);color:var(--teal-dark);background:var(--canvas)}.conveyor-item.is-stop{border-style:dashed;border-color:var(--line);color:var(--ink);background:var(--canvas)}.while-instrument{background:var(--canvas);grid-template-columns:150px 1fr;align-items:center;gap:26px;padding:25px;display:grid}.while-dial{border:2px solid var(--line);width:130px;height:130px;color:var(--ink);background:var(--canvas);text-align:center;border-radius:6px;place-content:center;display:grid;position:relative}.while-dial strong,.while-dial small{display:block}.while-dial strong{font:800 34px/1 ui-monospace,monospace}.while-dial small{color:var(--ink);margin-top:8px;font:700 12px/1 ui-monospace,monospace}.while-orbit{border:5px dotted var(--line);border-radius:6px;animation:none;position:absolute;inset:-7px}.while-instrument.is-finished .while-orbit{border-color:var(--line);animation-play-state:paused}.while-readout{grid-template-columns:1fr auto;gap:10px 20px;display:grid}.while-readout span{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:8px;font-size:12px}.while-readout strong{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:8px;font:800 12px/1.4 ui-monospace,monospace}.control-conveyor{background:var(--canvas);grid-template-columns:repeat(5,1fr);gap:10px;padding:30px 18px;display:grid}.control-record{border:2px solid var(--line);min-height:82px;color:var(--ink);background:var(--canvas);text-align:center;place-content:center;padding:13px 8px;transition:background-color .15s,color .15s,opacity .15s;display:grid}.control-record strong,.control-record span{display:block}.control-record strong{font:800 15px/1 ui-monospace,monospace}.control-record span{color:var(--ink);margin-top:9px;font-size:12px}.control-record.is-current{border-color:var(--line);box-shadow:none}.control-record.is-skipped{border-style:dashed;border-color:var(--line);color:var(--ink);background:var(--canvas)}.control-record.is-break{border-color:var(--line);color:var(--ink);background:var(--canvas)}.control-record.is-unreached{opacity:.38;border-style:dashed}.nested-scanner{background:var(--canvas);grid-template-columns:repeat(3,1fr);gap:10px;padding:24px;display:grid}.nested-scanner>div{border:2px solid var(--line);min-height:82px;color:var(--ink);background:var(--canvas);text-align:center;place-content:center;padding:12px;transition:background-color .15s,color .15s,opacity .15s;display:grid}.nested-scanner span,.nested-scanner strong{display:block}.nested-scanner span{color:var(--ink);font-size:12px}.nested-scanner strong{margin-top:8px;font:800 14px/1 ui-monospace,monospace}.nested-scanner>div.is-current{border-color:var(--line);background:var(--canvas);box-shadow:none}.nested-scanner>div.is-scanned{border-color:var(--line);background:var(--canvas)}.nested-counters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--canvas);grid-template-columns:repeat(3,1fr);gap:10px;padding:12px 18px;display:grid}.nested-counters span{color:var(--ink);text-align:center;font:700 12px/1.4 ui-monospace,monospace}.nested-counters strong{color:var(--ink);margin-top:5px;font-size:12px;display:block}.lesson-content .delivery-section{border:1px solid var(--line);background:var(--canvas);padding:30px}.commissioning-checklist{grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0 0;display:grid}.commissioning-checklist>div{border-top:3px solid var(--line);background:var(--canvas);padding:13px}.commissioning-checklist span,.commissioning-checklist strong,.commissioning-checklist small{display:block}.commissioning-checklist span{color:var(--teal);font:800 12px/1 ui-monospace,monospace}.commissioning-checklist strong{color:var(--ink);margin:8px 0 5px;font-size:12px}.commissioning-checklist small{color:var(--ink);font-size:12px;line-height:1.45}.lesson-content .lesson-summary-incident{border-color:var(--line);background:var(--canvas);padding-top:76px;position:relative}.completion-stamp{color:var(--ink);background:var(--canvas);border-bottom:4px solid var(--line);padding:11px 14px;position:absolute;top:0;right:22px}.completion-stamp span,.completion-stamp strong,.completion-stamp small{display:block}.completion-stamp span{color:var(--ink);font:700 12px/1 ui-monospace,monospace}.completion-stamp strong{color:var(--ink);margin:6px 0;font-size:14px}.completion-stamp small{color:var(--ink);font-size:12px}.summary-route{gap:7px;margin:25px 0;display:grid}.summary-route>div{background:var(--canvas);border-left:0;grid-template-columns:125px 1fr;gap:14px;padding:12px 14px;display:grid}.summary-route span{color:var(--teal);font:700 12px/1.5 ui-monospace,monospace}.summary-route strong{color:var(--ink);font-size:12px;line-height:1.55}.lesson-content .python-runner{border:1px solid var(--line);background:var(--canvas);box-shadow:none;border-radius:8px;margin:22px 0;overflow:hidden}.runner-toolbar,.runner-actions,.exercise-heading-row,.question-meta,.exercise-actions{align-items:center;display:flex}.runner-toolbar{color:var(--ink);border-bottom:1px solid var(--line);letter-spacing:normal;text-transform:none;justify-content:space-between;padding:11px 15px;font-size:12px}.runner-toolbar i{background:var(--canvas);border-radius:6px;width:6px;height:6px;margin-right:5px;display:inline-block}.runner-code-id{color:var(--ink);font-family:ui-monospace,monospace}.python-runner textarea{resize:none;width:100%;min-height:136px;color:var(--ink);background:var(--canvas);tab-size:4;border:0;outline:0;padding:17px;font:13px/1.75 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.runner-prediction{border-top:1px solid var(--line);background:var(--canvas);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding:10px 14px;display:grid}.runner-prediction label{color:var(--ink);gap:6px;font-size:12px;font-weight:700;display:grid}.runner-prediction label span{justify-content:space-between;gap:10px;display:flex}.runner-prediction label small{color:var(--ink);font-size:12px;font-weight:400}.runner-prediction input{border:1px solid var(--line);min-width:0;color:var(--ink);background:var(--canvas);border-radius:6px;outline:0;padding:8px 9px;font:12px/1.4 ui-monospace,monospace}.runner-prediction button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:6px;padding:8px 10px;font-size:12px}.runner-prediction button:disabled{opacity:.52;cursor:not-allowed}.runner-actions{border-top:1px solid var(--line);gap:8px;padding:11px 14px}.runner-actions button,.exercise-actions button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:6px;padding:8px 13px;font-size:12px}.runner-actions button:disabled,.exercise-actions button:disabled{opacity:.5;cursor:not-allowed}.runner-actions .primary-action,.exercise-actions .primary-action{color:var(--ink);border-color:var(--line);background:var(--canvas)}.runner-output{border-top:1px solid var(--line);background:var(--canvas);margin:0;padding:12px 15px 15px}.runner-output>span{color:var(--ink);letter-spacing:normal;text-transform:none;font-size:12px;font-weight:700}.runner-output pre{color:var(--ink);white-space:pre-wrap;background:0 0;margin:8px 0 0;padding:0;font-size:12px;overflow-x:auto}.runner-output.has-error{border-left:0}.runner-output.has-error>span,.runner-output.has-error pre{color:var(--ink)}.lesson-content .exercise-panel{border:1px solid var(--line);background:var(--canvas);box-shadow:none;border-radius:8px;margin:62px 0;padding:clamp(20px,4vw,34px)}.exercise-heading-row{justify-content:space-between;gap:20px}.exercise-heading-row .eyebrow{margin-bottom:6px}.exercise-heading-row h2{margin:0;font-size:22px}.exercise-heading-row>span{color:var(--teal);font:600 12px/1 ui-monospace,monospace}.exercise-progress{background:var(--canvas);border-radius:8px;height:4px;margin:18px 0 24px;overflow:hidden}.exercise-progress span{border-radius:inherit;background:var(--canvas);height:100%;transition:background-color .15s,color .15s,opacity .15s;display:block}.question-meta{color:var(--ink);gap:10px;font:500 12px/1.3 ui-monospace,monospace}.question-meta span:first-child{background:var(--canvas);color:var(--teal-dark);border-radius:4px;padding:4px 7px}.lesson-content .question-stem{color:var(--ink);margin:15px 0 20px;font-size:16px;font-weight:600;line-height:1.7}.choice-list{gap:9px;display:grid}.choice-list label{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.choice-list label.selected{border-color:var(--line);background:var(--canvas)}.choice-list label>span{width:24px;height:24px;color:var(--ink);background:var(--canvas);border-radius:6px;place-items:center;font-size:12px;font-weight:700;display:grid}.output-answer{color:var(--ink);gap:7px;font-size:12px;font-weight:700;display:grid}.output-answer input,.login-card input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--canvas);border-radius:7px;outline:none;padding:11px 12px}.output-answer input:focus,.login-card input:focus{border-color:var(--line);box-shadow:none}.public-tests{background:var(--canvas);color:var(--ink);border-radius:7px;margin:14px 0;padding:11px 14px 11px 34px}.public-tests li{margin:3px 0;font-size:12px}.hint-card{background:var(--canvas);border-left:0;border-radius:0 7px 7px 0;margin:16px 0;padding:13px 15px}.hint-card strong{color:var(--ink);font-size:12px}.hint-card p{color:var(--ink);margin:5px 0 0;font-size:12px}.attempt-result{border-radius:7px;margin:16px 0;padding:14px 15px}.attempt-result.correct,.attempt-result.incorrect{color:var(--ink);background:var(--canvas);border:1px solid var(--line)}.attempt-result p{color:inherit;margin:5px 0 0;font-size:12px}.attempt-result pre{background:var(--canvas);white-space:pre-wrap;border-radius:5px;margin:8px 0 0;padding:10px;font-size:12px;overflow-x:auto}.exercise-error{color:var(--ink);background:var(--canvas);border-radius:6px;margin:12px 0;padding:10px 12px;font-size:12px}.exercise-actions{flex-wrap:wrap;gap:8px;margin-top:19px}.exercise-actions button{color:var(--ink);border-color:var(--line);background:var(--canvas)}.support-entry-button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:7px;margin-top:12px;padding:9px 13px;font-size:12px;font-weight:650}.support-entry-button:hover:not(:disabled){background:var(--hover)}.support-entry-button:disabled{opacity:.55;cursor:wait}.strategy-choice{border:1px solid var(--line);background:var(--canvas);border-radius:8px;margin:21px 0 4px;padding:19px}.strategy-choice>div:first-child{margin-bottom:14px}.strategy-choice p,.episode-status-card>div>span{color:var(--teal);letter-spacing:normal;text-transform:none;margin:0 0 5px;font-size:12px;font-weight:650}.strategy-choice h3{color:var(--ink);margin:0;font-size:16px}.strategy-choice>div:first-child>span{color:var(--ink);margin-top:5px;font-size:12px;display:block}.strategy-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.strategy-card-grid button{border:1px solid var(--line);min-height:106px;color:var(--ink);background:var(--canvas);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;padding:14px;transition:background-color .15s,color .15s,opacity .15s;display:flex}.strategy-card-grid button:before{content:"→";color:var(--teal);margin-bottom:12px;font:800 14px/1 ui-monospace,monospace}.strategy-card-grid button:disabled{opacity:.55;cursor:wait}.strategy-card-grid span{color:var(--ink);margin-top:6px;font-size:12px;line-height:1.6}.episode-status-card{border:1px solid var(--line);background:var(--canvas);border-left:0;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin:20px 0 4px;padding:16px 17px;display:flex}.episode-status-card strong{color:var(--ink);font-size:13px;display:block}.lesson-content .episode-status-card p{color:var(--ink);margin:5px 0 0;font-size:12px}.episode-status-card button{color:var(--ink);background:var(--canvas);cursor:pointer;border:0;border-radius:7px;flex:none;padding:10px 13px;font-size:12px;font-weight:650}.lesson-content .memory-cards{border:1px solid var(--line);background:var(--canvas);box-shadow:none;border-radius:8px;margin:10px 0 58px;padding:clamp(20px,4vw,30px)}.memory-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.memory-heading p{color:var(--ink);letter-spacing:normal;text-transform:none;margin:0 0 5px;font-size:12px;font-weight:700}.memory-heading h2{color:var(--ink);margin:0;font-size:21px}.memory-heading>span{border:1px solid var(--line);color:var(--ink);background:var(--canvas);white-space:nowrap;border-radius:8px;padding:5px 8px;font-size:12px}.lesson-content .memory-intro{color:var(--ink);margin:13px 0 18px;font-size:12px}.memory-card-list{gap:8px;display:grid}.memory-card-list>article{border:1px solid var(--line);background:var(--canvas);border-radius:8px;overflow:hidden}.memory-card-list>article.is-expanded{border-color:var(--line);box-shadow:none}.memory-card-list article>button{width:100%;color:var(--ink);background:var(--canvas);text-align:left;cursor:pointer;border:0;grid-template-columns:100px 1fr auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.memory-card-list article>button>span{color:var(--ink);letter-spacing:normal;text-transform:none;font:600 12px/1.4 ui-monospace,monospace}.memory-card-list article>button>strong{font-size:12px}.memory-card-list article>button>i{color:var(--ink);font-size:12px;font-style:normal}.memory-card-body{border-top:1px solid var(--line);padding:5px 18px 18px 124px}.memory-card-body h3{color:var(--ink);text-transform:none;letter-spacing:normal;margin:14px 0 4px;font-size:12px}.lesson-content .memory-card-body p{color:var(--ink);margin:0;font-size:12px;line-height:1.7}.memory-card-body pre{color:var(--ink);background:var(--canvas);white-space:pre-wrap;border-radius:6px;margin:7px 0;padding:10px;font-size:12px;overflow-x:auto}.memory-card-body blockquote{color:var(--ink);background:var(--canvas);border:0;border-radius:7px;margin:13px 0 0;padding:10px 12px;font-size:12px}.memory-card-body blockquote strong{color:var(--ink);letter-spacing:normal;margin-bottom:4px;font-size:12px;display:block}.memory-error{color:var(--ink);background:var(--canvas);border-radius:7px;margin:20px 0;padding:10px;font-size:12px}.memory-lock,.wiki-lock{border:1px dashed var(--line);color:var(--ink);background:var(--canvas);border-radius:8px;margin:16px 0;padding:15px 17px}.memory-lock strong,.wiki-lock strong{color:var(--ink);font-size:12px}.memory-lock p,.wiki-lock p{color:var(--ink);margin:5px 0 0;font-size:12px;line-height:1.7}.app-boot{min-height:100vh;color:var(--muted);background:var(--canvas);place-content:center;justify-items:center;gap:14px;display:grid}.login-page{background:var(--canvas);grid-template-columns:minmax(360px,1.2fr) minmax(340px,.8fr);min-height:100vh;display:grid}.login-intro{max-width:720px;color:var(--ink);align-self:center;padding:clamp(40px,8vw,110px)}.login-brand{width:48px;height:48px;margin-bottom:30px}.login-intro .eyebrow{color:var(--ink);letter-spacing:normal;text-transform:none;margin:0 0 12px;font-size:12px;font-weight:700}.login-intro h1{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(36px,5vw,64px);line-height:1.2}.login-intro>p:not(.eyebrow){max-width:590px;color:var(--ink);margin:24px 0;font-size:15px;line-height:1.9}.login-intro ul{margin:26px 0 0;padding:0;list-style:none}.login-intro li{color:var(--ink);margin:11px 0;font-size:12px}.login-intro li:before{content:"✓";color:var(--ink);margin-right:9px;font-weight:700}.login-card{background:var(--canvas);width:min(440px,100% - 40px);box-shadow:none;border-radius:8px;place-self:center;padding:clamp(28px,4vw,46px)}.dark-badge{color:var(--ink);border-color:var(--line);display:inline-block}.login-card h2{color:var(--ink);margin:24px 0 7px;font-size:28px}.login-card>p{color:var(--ink);margin:0 0 25px;font-size:12px}.login-card label{color:var(--ink);gap:7px;margin:15px 0;font-size:12px;font-weight:700;display:grid}.login-submit,.demo-login{cursor:pointer;border-radius:7px;width:100%;padding:12px}.login-submit{border:1px solid var(--line);color:var(--ink);background:var(--canvas);margin-top:8px;font-weight:700}.demo-login{border:1px solid var(--line);color:var(--ink);background:var(--canvas);margin-top:9px}.login-submit:disabled,.demo-login:disabled{opacity:.6;cursor:wait}.login-card small{color:var(--ink);text-align:center;margin-top:14px;font-size:12px;display:block}.login-error{color:var(--ink);background:var(--canvas);border-radius:6px;padding:9px 10px;font-size:12px}.tutor-panel{border-left:1px solid var(--line);background:var(--canvas);scrollbar-gutter:stable;flex-direction:column;padding:20px 18px;display:flex;overflow-y:auto}.tutor-header{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:3px 2px 18px;display:flex}.tutor-header>span{width:38px;height:38px;color:var(--ink);background:var(--canvas);box-shadow:none;border-radius:8px;flex:0 0 38px;place-items:center;font:700 19px/1 ui-monospace,monospace;display:grid}.tutor-header p{color:var(--ink);letter-spacing:normal;margin:0 0 3px;font-size:12px;font-weight:700}.tutor-header h2{color:var(--ink);margin:0;font-size:17px}.tutor-header i{background:var(--canvas);width:7px;height:7px;box-shadow:none;border-radius:6px;margin-left:auto}.tutor-close{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:6px;font-size:20px;display:none}.tutor-context{background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;margin:15px 0 12px;padding:15px}.tutor-context small{color:var(--ink);letter-spacing:normal;text-transform:none;font-size:12px;font-weight:700}.tutor-context strong{color:var(--ink);margin:7px 0 8px;font-size:15px;display:block}.tutor-context>span{color:var(--teal-dark);background:var(--canvas);border-radius:4px;margin-bottom:8px;padding:3px 6px;font:500 12px/1.4 ui-monospace,monospace;display:inline-block}.tutor-context p{color:var(--ink);margin:0;font-size:12px;line-height:1.65}.tutor-next-step>div:first-child{justify-content:space-between;align-items:baseline;gap:10px;margin:0 2px 9px;display:flex}.tutor-next-step>div:first-child p{color:var(--ink);margin:0;font-size:12px;font-weight:650}.tutor-quick-actions{gap:6px;display:grid}.tutor-quick-actions button{border:1px solid var(--line);width:100%;min-height:54px;color:var(--ink);background:var(--canvas);text-align:left;cursor:pointer;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:27px 1fr;column-gap:9px;padding:9px 10px;transition:background-color .15s,color .15s,opacity .15s;display:grid}.tutor-quick-actions button:disabled{opacity:.55;cursor:wait;transform:none}.tutor-quick-actions button>span{width:27px;height:27px;color:var(--ink);background:var(--canvas);border-radius:8px;grid-row:1/3;align-self:center;place-items:center;font:700 12px/1 ui-monospace,monospace;display:grid}.tutor-quick-actions button strong{font-size:12px}.tutor-quick-actions button.recommended{border-color:var(--line);background:var(--canvas)}.tutor-quick-actions button.recommended>span{color:var(--ink);background:var(--canvas)}.tutor-conversation-shell{border-top:1px solid var(--line);margin-bottom:13px;padding-top:12px}.tutor-conversation-shell>p{color:var(--ink);margin:0 0 9px;font-size:12px;font-weight:700}.tutor-conversation{max-height:310px;padding-right:3px;overflow-y:auto}.tutor-turn{margin:0 0 12px}.student-bubble{color:var(--ink);background:var(--canvas);border-radius:8px 8px 2px;margin-left:28px;padding:9px 11px;font-size:12px;line-height:1.55}.tutor-bubble{border:1px solid var(--line);background:var(--canvas);border-radius:2px 8px 8px;margin:7px 18px 0 0;padding:10px 11px}.tutor-bubble>span{color:var(--teal);letter-spacing:normal;font-size:12px;font-weight:700}.tutor-bubble p{color:var(--ink);white-space:pre-wrap;margin:6px 0;font-size:12px;line-height:1.65}.tutor-bubble blockquote{color:var(--ink);background:var(--canvas);border-left:0;margin:8px 0 0;padding:7px 8px;font-size:12px;line-height:1.55}.tutor-bubble small{color:var(--ink);margin-top:7px;font-size:12px;display:block}.tutor-compose{border-top:1px solid var(--line);color:var(--ink);gap:7px;margin-top:auto;padding-top:12px;font-size:12px;font-weight:700;display:grid}.tutor-compose textarea{resize:none;border:1px solid var(--line);min-height:78px;color:var(--ink);background:var(--canvas);border-radius:8px;outline:none;padding:10px;font:12px/1.55 inherit}.tutor-compose button{color:var(--ink);background:var(--canvas);cursor:pointer;border:0;border-radius:8px;padding:10px;font-size:12px;font-weight:700}.tutor-compose button:disabled{opacity:.5;cursor:not-allowed}.tutor-error{color:var(--ink);background:var(--canvas);border-radius:6px;margin-top:9px;padding:8px;font-size:12px}.tutor-policy-note{color:var(--ink);margin-top:12px;font-size:12px}.tutor-policy-note span{background:var(--canvas);border-radius:6px;width:5px;height:5px;margin-right:6px;display:inline-block}.tutor-toggle-button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:8px;padding:7px 11px;font-size:12px;font-weight:700;display:none}.tutor-toggle-button span{color:var(--ink);margin-right:5px;font-size:14px}.tutor-backdrop{display:none}.episode-stepper{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:13px;display:grid;position:relative}.episode-stepper:before{content:"";background:var(--canvas);height:1px;position:absolute;top:8px;left:10%;right:10%}.episode-stepper span{z-index:1;color:var(--ink);text-align:center;padding-top:20px;font-size:12px;line-height:1.35;position:relative}.episode-stepper span:before{content:"";border:2px solid var(--line);background:var(--canvas);border-radius:6px;width:10px;height:10px;position:absolute;top:3px;left:calc(50% - 5px)}.episode-stepper span.done{color:var(--ink);font-weight:650}.episode-stepper span.active{color:var(--ink);font-weight:650}.active-strategy-card,.independent-probe,.probe-complete{border:1px solid var(--line);background:var(--canvas);border-radius:8px;margin-bottom:14px;padding:16px}.active-strategy-card>p,.independent-probe>p{color:var(--teal);letter-spacing:normal;text-transform:none;margin:0 0 5px;font-size:12px;font-weight:650}.active-strategy-card h3,.independent-probe h3,.probe-complete h3{color:var(--ink);margin:0;font-size:14px;line-height:1.45}.active-strategy-card>span,.independent-probe>span{color:var(--ink);margin:7px 0 13px;font-size:12px;line-height:1.65;display:block}.tutor-panel .primary-action{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:650}.tutor-panel .primary-action:disabled{opacity:.52;cursor:wait}.return-to-task{color:var(--ink);background:var(--canvas);border-radius:8px;margin-top:13px;padding:12px}.return-to-task p{margin:5px 0 10px;font-size:12px;line-height:1.6}.return-to-task button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:6px;padding:7px 9px;font-size:12px}.strategy-switcher{color:var(--ink);margin-top:10px;font-size:12px}.strategy-switcher summary{cursor:pointer}.strategy-switcher>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.strategy-switcher button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:6px;padding:7px 8px;font-size:12px}.independent-probe{border-color:var(--line);background:var(--canvas)}.probe-question{border-top:1px solid var(--line);margin:14px 0;padding-top:13px}.probe-question>strong{color:var(--ink);margin-bottom:12px;font-size:12px;line-height:1.65;display:block}.independent-probe .choice-list{gap:6px}.independent-probe .choice-list label{padding:9px;font-size:12px}.independent-probe .python-runner{margin:12px 0}.probe-complete,.probe-complete.needs-review{border-color:var(--line);background:var(--canvas)}.probe-complete>span{color:var(--ink);letter-spacing:normal;text-transform:none;margin-bottom:7px;font-size:12px;font-weight:650;display:inline-block}.probe-complete.needs-review>span{color:var(--ink)}.probe-complete>p{color:var(--ink);margin:8px 0 14px;font-size:12px;line-height:1.7}.probe-complete>label{color:var(--ink);gap:7px;margin-bottom:11px;font-size:12px;font-weight:700;display:grid}.probe-complete textarea{resize:none;border:1px solid var(--line);background:var(--canvas);border-radius:7px;outline:0;min-height:68px;padding:9px;font:12px/1.6 inherit}.probe-complete label button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:7px;padding:8px;font-size:12px}.reflection-saved{color:var(--ink);background:var(--canvas);border-radius:7px;margin-bottom:12px;padding:9px;font-size:12px;display:block}.wiki-overlay{z-index:60;background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:flex-end;display:flex;position:fixed;inset:0}.wiki-drawer{width:min(920px,100vw - 80px);height:100vh;color:var(--ink);background:var(--canvas);box-shadow:none;overflow:hidden}.wiki-drawer>header{height:74px;color:var(--ink);background:var(--canvas);justify-content:space-between;align-items:center;padding:0 24px;display:flex}.wiki-drawer header p{color:var(--ink);letter-spacing:normal;text-transform:none;margin:0 0 3px;font-size:12px;font-weight:700}.wiki-drawer header h2{margin:0;font-size:18px}.wiki-drawer header button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;font-size:21px}.wiki-layout{grid-template-columns:230px 1fr;height:calc(100vh - 74px);display:grid}.wiki-layout>nav{border-right:1px solid var(--line);background:var(--canvas);padding:22px 15px;overflow-y:auto}.wiki-layout>nav>p{color:var(--ink);letter-spacing:normal;text-transform:none;margin:0 8px 12px;font-size:12px;font-weight:700}.wiki-layout>nav button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:1fr auto;gap:2px 8px;margin:3px 0;padding:10px;display:grid}.wiki-layout>nav button:hover,.wiki-layout>nav button.active{background:var(--hover)}.wiki-layout>nav button span{color:var(--ink);grid-column:1;font:500 12px/1 ui-monospace,monospace}.wiki-layout>nav button strong{grid-column:1;font-size:12px}.wiki-layout>nav button i{background:var(--canvas);text-align:center;border-radius:8px;grid-area:1/2/3;align-self:center;min-width:22px;padding:4px;font-size:12px;font-style:normal}.wiki-layout>main{background:var(--canvas);padding:clamp(24px,5vw,54px);overflow-y:auto}.wiki-empty{text-align:center;max-width:430px;margin:18vh auto 0}.wiki-empty>span{width:58px;height:58px;color:var(--ink);background:var(--canvas);border-radius:8px;place-items:center;margin:0 auto 18px;font:700 12px/1 ui-monospace,monospace;display:grid}.wiki-empty h3{margin:0;font-size:25px}.wiki-empty p{color:var(--ink);font-size:12px;line-height:1.8}.wiki-overview>p{color:var(--teal);letter-spacing:normal;margin:0 0 6px;font:700 12px/1.4 ui-monospace,monospace}.wiki-overview>h3{color:var(--ink);letter-spacing:-.03em;margin:0 0 8px;font-size:29px}.wiki-overview>span{max-width:600px;color:var(--ink);font-size:12px;line-height:1.7;display:block}.wiki-bubble-map{flex-wrap:wrap;place-content:center;align-items:center;gap:16px;min-height:420px;margin-top:28px;display:flex}.wiki-bubble-map button{width:calc(112px * var(--bubble-scale,1));height:calc(112px * var(--bubble-scale,1));border:1px solid var(--line);color:var(--ink);background:var(--canvas);text-align:center;cursor:pointer;border-radius:6px;place-content:center;padding:15px;transition:background-color .15s,color .15s,opacity .15s;display:grid}.wiki-bubble-map button:nth-child(3n+2),.wiki-bubble-map button:nth-child(3n){border-color:var(--line);color:var(--ink);background:var(--canvas)}.wiki-bubble-map strong,.wiki-bubble-map span,.wiki-bubble-map small{display:block}.wiki-bubble-map strong{font-size:12px;line-height:1.4}.wiki-bubble-map span{margin-top:7px;font-size:12px}.wiki-bubble-map small{color:var(--ink);margin-top:2px;font-size:12px}.wiki-card-index>p,.wiki-card-detail>p{color:var(--teal);letter-spacing:normal;text-transform:none;margin:0 0 6px;font:600 12px/1.4 ui-monospace,monospace}.wiki-card-index>h3,.wiki-card-detail>h3{color:var(--ink);margin:0 0 24px;font-size:30px}.wiki-card-index>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.wiki-card-index>div button{border:1px solid var(--line);min-height:125px;color:var(--ink);background:var(--canvas);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;padding:16px;display:flex}.wiki-card-index button span{color:var(--ink);text-transform:none;font-size:12px}.wiki-card-index button strong{margin:11px 0;font-size:14px;line-height:1.5}.wiki-card-index button i{color:var(--teal);margin-top:auto;font-size:12px;font-style:normal}.wiki-card-detail>button{color:var(--teal);cursor:pointer;background:0 0;border:0;margin-bottom:28px}.wiki-card-detail>section{border-bottom:1px solid var(--line);margin:22px 0;padding-bottom:20px}.wiki-card-detail h4{color:var(--ink);letter-spacing:normal;text-transform:none;margin:0 0 8px;font-size:12px}.wiki-card-detail section p{color:var(--ink);font-size:13px;line-height:1.8}.wiki-card-detail pre{color:var(--ink);background:var(--canvas);white-space:pre-wrap;border-radius:8px;padding:14px;font-size:12px}.wiki-card-detail blockquote{color:var(--ink);background:var(--canvas);border-left:0;margin:24px 0;padding:16px;font-size:12px;line-height:1.7}.wiki-card-detail blockquote strong{color:var(--ink);font-size:12px;display:block}.wiki-source-summary{border:1px solid var(--line);background:var(--canvas);border-radius:8px;margin-top:27px;padding:18px}.wiki-source-summary h4{margin-top:0}.wiki-source-summary ul{color:var(--ink);margin:0;padding-left:18px;font-size:12px;line-height:1.85}.wiki-error{color:var(--ink);background:var(--canvas);border-radius:7px;padding:10px;font-size:12px}.private-memory-overlay{z-index:65;background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:flex-end;display:flex;position:fixed;inset:0}.private-memory-drawer{width:min(960px,100vw - 70px);height:100vh;color:var(--ink);background:var(--canvas);box-shadow:none;overflow:hidden}.private-memory-drawer>header{height:74px;color:var(--ink);background:var(--canvas);justify-content:space-between;align-items:center;padding:0 25px;display:flex}.private-memory-drawer header p{color:var(--ink);letter-spacing:normal;margin:0 0 3px;font-size:12px;font-weight:650}.private-memory-drawer header h2{margin:0;font-size:18px}.private-memory-drawer header button{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;font-size:21px}.private-memory-notice{border-bottom:1px solid var(--line);background:var(--canvas);align-items:center;gap:10px;min-height:48px;padding:10px 23px;display:flex}.private-memory-notice span{width:21px;height:21px;color:var(--ink);background:var(--canvas);border-radius:6px;flex:0 0 21px;place-items:center;font:800 12px/1 ui-monospace,monospace;display:grid}.private-memory-notice p{color:var(--ink);margin:0;font-size:12px;line-height:1.6}.memory-map-layout{grid-template-columns:275px 1fr;height:calc(100vh - 122px);display:grid}.memory-map-layout>nav{border-right:1px solid var(--line);background:var(--canvas);padding:18px 13px;overflow-y:auto}.memory-map-layout>nav button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;margin:3px 0;padding:11px 10px 11px 34px;display:block;position:relative}.memory-map-layout>nav button:hover,.memory-map-layout>nav button.active{background:var(--hover)}.memory-map-layout>nav button i{border:2px solid var(--line);border-radius:6px;width:9px;height:9px;position:absolute;top:16px;left:13px}.memory-map-layout>nav button.building i{border-color:var(--line);background:var(--canvas)}.memory-map-layout>nav button.evidence_strong i{border-color:var(--line);background:var(--canvas);box-shadow:none}.memory-map-layout>nav span,.memory-map-layout>nav strong,.memory-map-layout>nav small{display:block}.memory-map-layout>nav span{color:var(--ink);font:600 12px/1.4 ui-monospace,monospace}.memory-map-layout>nav strong{margin:3px 0;font-size:12px}.memory-map-layout>nav small{color:var(--ink);font-size:12px}.memory-map-layout>main{background:var(--canvas);padding:clamp(24px,5vw,52px);overflow-y:auto}.memory-detail-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.memory-detail-heading p{color:var(--teal);margin:0 0 5px;font:700 12px/1.3 ui-monospace,monospace}.memory-detail-heading h3{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:29px}.memory-detail-heading>span{color:var(--ink);background:var(--canvas);border-radius:8px;padding:6px 9px;font-size:12px}.memory-detail-heading>span.building,.memory-detail-heading>span.evidence_strong{color:var(--ink);background:var(--canvas)}.memory-fact-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:27px;display:grid}.memory-fact-grid article{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:15px}.memory-fact-grid span,.memory-fact-grid strong,.memory-fact-grid small{display:block}.memory-fact-grid span{color:var(--ink);font-size:12px}.memory-fact-grid strong{color:var(--ink);margin:8px 0 4px;font-size:22px}.memory-fact-grid small{color:var(--ink);font-size:12px}.memory-map-layout>main>section{border-top:1px solid var(--line);margin:22px 0;padding-top:18px}.memory-map-layout>main h4{color:var(--ink);letter-spacing:normal;text-transform:none;margin:0 0 12px;font-size:12px}.memory-map-layout>main ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.memory-map-layout>main li{color:var(--ink);background:var(--canvas);border-radius:7px;justify-content:space-between;padding:9px 11px;font-size:12px;display:flex}.strategy-fact-list{flex-wrap:wrap;gap:7px;display:flex}.strategy-fact-list>span{border:1px solid var(--line);color:var(--ink);background:var(--canvas);border-radius:7px;padding:7px 9px;font-size:12px}.strategy-fact-list strong{color:var(--teal);margin-left:4px}.memory-map-layout blockquote{color:var(--ink);background:var(--canvas);border:0;margin:8px 0;padding:11px 13px;font-size:12px;line-height:1.7}.memory-muted{color:var(--ink);font-size:12px}.teacher-shell{background:var(--canvas);min-height:100vh;padding-left:238px}.teacher-topbar{margin-left:-238px}.teacher-sidebar{border-right:1px solid var(--line);background:var(--canvas);flex-direction:column;width:238px;padding:28px 18px 20px;display:flex;position:fixed;inset:72px auto 0 0}.teacher-course{border-bottom:1px solid var(--line);padding:0 10px 24px}.teacher-course span{color:var(--ink);letter-spacing:normal;text-transform:none;font-size:12px;font-weight:700}.teacher-course strong{color:var(--ink);margin-top:7px;font-size:13px;line-height:1.5;display:block}.teacher-sidebar nav{gap:4px;margin-top:22px;display:grid}.teacher-sidebar nav button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:12px 10px;font-size:12px;display:flex}.teacher-sidebar nav button span{color:var(--ink);font:500 12px/1 ui-monospace,monospace}.teacher-sidebar nav button:hover,.teacher-sidebar nav button.active{background:var(--hover)}.teacher-sidebar nav button.active span{color:var(--teal)}.teacher-sidebar>p{border-top:1px solid var(--line);color:var(--ink);margin-top:auto;padding:15px 10px 0;font-size:12px;line-height:1.7}.teacher-main{max-width:1440px;min-height:calc(100vh - 72px);margin:0 auto;padding:42px clamp(28px,5vw,72px) 90px}.teacher-alert{border:1px solid var(--line);color:var(--ink);background:var(--canvas);border-radius:8px;justify-content:space-between;margin-bottom:18px;padding:12px 14px;font-size:12px;display:flex}.teacher-alert button{color:inherit;cursor:pointer;background:0 0;border:0}.teacher-page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.teacher-page-heading p,.teacher-panel-title p{color:var(--teal);letter-spacing:normal;margin:0 0 6px;font-size:12px;font-weight:700}.teacher-page-heading h1{color:var(--ink);letter-spacing:-.035em;margin:0 0 9px;font-size:clamp(30px,4vw,44px)}.teacher-page-heading span{color:var(--ink);font-size:12px}.teacher-page-heading label{min-width:230px;color:var(--ink);gap:7px;font-size:12px;font-weight:700;display:grid}.teacher-main select,.teacher-main input,.teacher-main textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--canvas);font:inherit;border-radius:7px;outline:0;padding:10px 11px}.teacher-main textarea{resize:none;min-height:76px;line-height:1.6}.teacher-main select:focus,.teacher-main input:focus,.teacher-main textarea:focus{border-color:var(--line);box-shadow:none}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-grid article{border:1px solid var(--line);background:var(--canvas);box-shadow:none;border-radius:8px;padding:20px}.metric-grid span{color:var(--ink);font-size:12px}.metric-grid strong{color:var(--ink);letter-spacing:-.04em;margin:9px 0 5px;font-size:28px;display:block}.metric-grid small{color:var(--ink);font-size:12px}.teacher-panel{border:1px solid var(--line);background:var(--canvas);box-shadow:none;border-radius:8px;margin-bottom:18px;padding:22px}.teacher-panel-title{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.teacher-panel-title h2{color:var(--ink);margin:0;font-size:18px}.teacher-panel-title>span{color:var(--ink);background:var(--canvas);border-radius:8px;padding:5px 8px;font-size:12px}.teacher-panel-title>button{color:var(--teal);cursor:pointer;background:0 0;border:0}.teacher-table-scroll{overflow-x:auto}.teacher-table{border-collapse:collapse;width:100%}.teacher-table th{border-bottom:1px solid var(--line);color:var(--ink);text-align:left;letter-spacing:normal;text-transform:none;padding:10px;font-size:12px}.teacher-table td{border-bottom:1px solid var(--line);color:var(--ink);padding:13px 10px;font-size:12px}.teacher-table td strong,.teacher-table td small{display:block}.teacher-table td strong{color:var(--ink)}.teacher-table td small{color:var(--ink);margin-top:4px;font:500 12px/1 ui-monospace,monospace}.student-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.student-evidence-grid article{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:13px 14px}.student-evidence-grid article.needs-support{border-color:var(--line);background:var(--canvas)}.student-evidence-grid article>div{align-items:center;gap:7px;display:flex}.student-evidence-grid i{background:var(--canvas);border-radius:6px;width:7px;height:7px}.student-evidence-grid i.online{background:var(--canvas);box-shadow:none}.student-evidence-grid strong{color:var(--ink);font-size:12px}.student-evidence-grid em{color:var(--ink);margin-left:auto;font-size:12px;font-style:normal}.student-evidence-grid p{color:var(--ink);margin:7px 0 5px;font-size:12px}.student-evidence-grid span{color:var(--ink);font-size:12px}.teacher-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.teacher-insight-grid .teacher-panel{margin-bottom:18px}.live-difficulty-panel ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.live-difficulty-panel li{background:var(--canvas);border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.live-difficulty-panel li strong,.live-difficulty-panel li span{display:block}.live-difficulty-panel li strong{color:var(--ink);font-size:12px}.live-difficulty-panel li span{color:var(--ink);margin-top:3px;font:600 12px/1.3 ui-monospace,monospace}.live-difficulty-panel li em{color:var(--ink);white-space:nowrap;font-size:12px;font-style:normal}.teacher-muted{color:var(--ink);font-size:12px}.strategy-usage-panel>div:last-child{gap:12px;display:grid}.strategy-usage-panel article header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.strategy-usage-panel article strong,.strategy-usage-panel article span{color:var(--ink);font-size:12px}.strategy-usage-panel article>div{background:var(--canvas);border-radius:8px;height:7px;overflow:hidden}.strategy-usage-panel article i{border-radius:inherit;background:var(--canvas);height:100%;display:block}.teacher-form-grid{grid-template-columns:1.5fr 1fr .6fr;gap:12px;display:grid}.teacher-form-grid label,.question-editor label{color:var(--ink);gap:7px;font-size:12px;font-weight:700;display:grid}.teacher-form-grid .wide-field{grid-column:1/-1}.teacher-primary{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:7px;margin-top:14px;padding:10px 15px;font-size:12px;font-weight:700}.teacher-primary:disabled{opacity:.55;cursor:wait}.source-upload-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:15px;display:grid}.source-upload-row label{color:var(--ink);gap:7px;font-size:12px;font-weight:650;display:grid}.source-upload-row input[type=file]{background:var(--canvas);border-style:dashed;padding:8px}.source-upload-row small{color:var(--ink);font-size:12px;font-weight:400}.source-upload-row .teacher-primary{white-space:nowrap;min-height:39px;margin:0}.source-list{gap:8px;display:grid}.source-list>article{border:1px solid var(--line);background:var(--canvas);border-radius:8px;grid-template-columns:54px minmax(180px,1fr) auto auto;align-items:center;gap:13px;min-height:77px;padding:12px 13px;display:grid}.source-type{width:48px;height:48px;color:var(--ink);background:var(--canvas);border-radius:8px;place-items:center;font:800 12px/1 ui-monospace,monospace;display:grid}.source-list article>div:nth-child(2) strong,.source-list article>div:nth-child(2) span,.source-list article>div:nth-child(2) small{overflow-wrap:anywhere;display:block}.source-list article>div:nth-child(2) strong{color:var(--ink);font-size:12px}.source-list article>div:nth-child(2) span{color:var(--ink);margin:4px 0;font:500 12px/1.35 ui-monospace,monospace}.source-list article>div:nth-child(2) small{color:var(--ink);font-size:12px}.source-list article>em{color:var(--ink);background:var(--canvas);white-space:nowrap;border-radius:8px;padding:5px 8px;font-size:12px;font-style:normal}.source-list article>em.status-completed,.source-list article>em.status-failed{color:var(--ink);background:var(--canvas)}.source-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.source-actions button,.concept-candidate-list button,.experiment-list button,.config-version-list button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:6px;padding:7px 8px;font-size:12px}.source-actions button:disabled,.concept-candidate-list button:disabled,.experiment-list button:disabled,.config-version-list button:disabled{opacity:.5;cursor:wait}.course-ir-preview{border-color:var(--line);background:var(--canvas)}.ir-preview-meta{flex-wrap:wrap;gap:6px;margin:-4px 0 15px;display:flex}.ir-preview-meta span{color:var(--ink);background:var(--canvas);border-radius:5px;padding:5px 7px;font:600 12px/1.3 ui-monospace,monospace}.ir-block-list{gap:8px;max-height:640px;padding-right:5px;display:grid;overflow-y:auto}.ir-block{border:1px solid var(--line);background:var(--canvas);border-left:0;border-radius:8px;padding:13px 15px}.ir-block.type-code{border-left-color:var(--line)}.ir-block.type-heading{border-left-color:var(--line);background:var(--canvas)}.ir-block header{justify-content:space-between;gap:10px;margin-bottom:9px;display:flex}.ir-block header span{color:var(--teal);text-transform:none;font-size:12px;font-weight:650}.ir-block header strong{color:var(--ink);font:500 12px/1.3 ui-monospace,monospace}.ir-block>p{color:var(--ink);white-space:pre-wrap;margin:0;font-size:12px;line-height:1.75}.ir-block pre{color:var(--ink);background:var(--canvas);white-space:pre-wrap;border-radius:7px;margin:0;padding:12px;font-size:12px;line-height:1.65;overflow-x:auto}.ir-block pre.ir-output{color:var(--ink);background:var(--canvas);margin-top:7px}.ir-block details{color:var(--ink);margin-top:9px;font-size:12px}.ir-block details code{overflow-wrap:anywhere;background:var(--canvas);white-space:pre-wrap;border-radius:5px;margin-top:7px;padding:8px;display:block}.preview-limit-note{color:var(--ink);font-size:12px}.concept-candidate-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.concept-candidate-list>article{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:16px}.concept-candidate-list header,.concept-candidate-list footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.concept-candidate-list header span,.concept-candidate-list header strong{display:block}.concept-candidate-list header span{color:var(--teal);font:700 12px/1.4 ui-monospace,monospace}.concept-candidate-list header strong{color:var(--ink);margin-top:3px;font-size:12px}.concept-candidate-list header em{color:var(--ink);white-space:nowrap;font-size:12px;font-style:normal}.concept-candidate-list>article>p{min-height:34px;color:var(--ink);font-size:12px;line-height:1.65}.concept-candidate-list>article>small{color:var(--ink);font-size:12px}.concept-candidate-list footer{border-top:1px solid var(--line);justify-content:flex-end;margin-top:13px;padding-top:11px}.concept-candidate-list .publish-button{color:var(--ink);border-color:var(--line);background:var(--canvas)}.experiment-list{gap:8px;display:grid}.experiment-list>article{border:1px solid var(--line);background:var(--canvas);border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;display:grid}.experiment-list article span{color:var(--teal);font:700 12px/1.4 ui-monospace,monospace}.experiment-list article strong{color:var(--ink);margin:3px 0;font-size:12px;display:block}.experiment-list article p{color:var(--ink);margin:0;font-size:12px;line-height:1.5}.experiment-list dl{gap:15px;margin:0;display:flex}.experiment-list dl>div{min-width:62px}.experiment-list dt{color:var(--ink);font-size:12px}.experiment-list dd{color:var(--ink);margin:4px 0 0;font-size:12px}.experiment-list .model-registry-card em{color:var(--ink);background:var(--canvas);border-radius:8px;padding:5px 8px;font-size:12px;font-style:normal}.config-version-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px;display:grid}.config-version-grid>section{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:17px}.config-version-grid header p{color:var(--teal);letter-spacing:normal;margin:0 0 4px;font-size:12px;font-weight:650}.config-version-grid header h3{color:var(--ink);margin:0 0 13px;font-size:14px}.config-version-list{gap:5px;margin-bottom:13px;display:grid}.config-version-list article{background:var(--canvas);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.config-version-list strong,.config-version-list code{display:block}.config-version-list strong{color:var(--ink);font-size:12px}.config-version-list code{color:var(--ink);margin-top:3px;font-size:12px}.config-version-list em{color:var(--ink);font-size:12px;font-style:normal}.config-version-grid label{color:var(--ink);gap:6px;margin:9px 0;font-size:12px;font-weight:650;display:grid}.config-version-grid textarea{min-height:118px;font:12px/1.6 ui-monospace,monospace}.config-version-grid .teacher-primary{width:100%}.draft-preview{border-color:var(--line);background:var(--canvas)}.draft-preview ol{gap:7px;margin:12px 0;padding:0;list-style:none;display:grid}.draft-preview li{border:1px solid var(--line);color:var(--ink);background:var(--canvas);border-radius:7px;padding:9px 11px;font-size:12px}.draft-preview li strong{color:var(--ink);margin-right:10px}.draft-preview>p{color:var(--ink);font-size:12px}.question-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.question-list>article{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:18px}.question-list header,.question-list footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.question-list header span,.question-list header strong{display:block}.question-list header span{color:var(--teal);font:600 12px/1.4 ui-monospace,monospace}.question-list header strong{color:var(--ink);margin-top:4px;font:500 12px/1.4 ui-monospace,monospace}.question-list header em{color:var(--ink);background:var(--canvas);border-radius:8px;padding:4px 7px;font-size:12px;font-style:normal}.question-list header em.status-published,.question-list header em.status-draft{color:var(--ink);background:var(--canvas)}.question-list h3{min-height:48px;color:var(--ink);margin:18px 0 7px;font-size:14px;line-height:1.65}.question-list p{color:var(--ink);font-size:12px;line-height:1.6}.question-list footer{border-top:1px solid var(--line);margin-top:16px;padding-top:13px}.question-list button,.memory-review-list button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:6px;padding:7px 9px;font-size:12px}.question-list .publish-button,.memory-review-list .publish-button{color:var(--ink);border-color:var(--line);background:var(--canvas)}.question-editor{border-color:var(--line);margin-top:18px}.question-editor label{margin:12px 0}.question-editor textarea{min-height:110px;font-family:ui-monospace,monospace;font-size:12px}.memory-review-list{gap:12px;display:grid}.memory-review-list>article{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:22px}.memory-review-list header,.memory-review-list footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.memory-review-list header span,.memory-review-list header strong,.memory-review-list header small{display:block}.memory-review-list header span{color:var(--ink);text-transform:none;font-size:12px}.memory-review-list header strong{color:var(--ink);margin-top:4px;font-size:12px}.memory-review-list header small,.memory-review-list header em{color:var(--ink);font-size:12px;font-style:normal}.memory-review-list h2{color:var(--ink);margin:19px 0 8px;font-size:18px}.memory-review-list>article>p{color:var(--ink);font-size:12px;line-height:1.7}.memory-review-list pre{color:var(--ink);background:var(--canvas);white-space:pre-wrap;border-radius:7px;padding:12px;font-size:12px}.memory-review-list details{color:var(--ink);font-size:12px}.memory-review-list footer{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.memory-review-list footer>span{color:var(--ink);font-size:12px}.memory-review-list footer div{gap:7px;display:flex}.teacher-empty{min-height:55vh;color:var(--ink);text-align:center;place-content:center;justify-items:center;display:grid}.teacher-empty>span{width:54px;height:54px;color:var(--ink);background:var(--canvas);border-radius:8px;place-items:center;font:700 15px/1 ui-monospace,monospace;display:grid}.teacher-empty h2{color:var(--ink);margin:18px 0 5px}.teacher-empty p{max-width:500px;font-size:12px;line-height:1.8}.research-export>p{max-width:760px;color:var(--ink);margin:16px 0;font-size:12px;line-height:1.7}.research-export>a{text-decoration:none;display:inline-block}.consent-overlay{z-index:70;background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.consent-dialog{background:var(--canvas);width:min(640px,100%);max-height:calc(100vh - 40px);box-shadow:none;border-radius:8px;overflow-y:auto}.consent-dialog>header{color:var(--ink);background:var(--canvas);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.consent-dialog header p{color:var(--ink);letter-spacing:normal;margin:0 0 4px;font-size:12px;font-weight:700}.consent-dialog header h2{margin:0;font-size:19px}.consent-dialog header button{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;font-size:19px}.teacher-confirm-overlay{z-index:90;background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.teacher-confirm-dialog{border:1px solid var(--line);width:min(520px,100%);color:var(--ink);background:var(--canvas);box-shadow:none;border-radius:8px;padding:28px}.teacher-confirm-dialog>p:first-child{color:var(--ink);letter-spacing:normal;margin:0 0 6px;font-size:12px;font-weight:650}.teacher-confirm-dialog h2{margin:0 0 12px;font-size:22px}.teacher-confirm-dialog>p:not(:first-child){color:var(--ink);margin:0 0 18px;line-height:1.75}.teacher-confirm-dialog dl{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px;display:grid}.teacher-confirm-dialog dl div{border:1px solid var(--line);background:var(--canvas);border-radius:8px;padding:10px 12px}.teacher-confirm-dialog dt{color:var(--ink);font-size:12px}.teacher-confirm-dialog dd{margin:3px 0 0;font-weight:650}.teacher-confirm-dialog>div{justify-content:flex-end;gap:10px;display:flex}.teacher-confirm-dialog>div button{border:1px solid var(--line);background:var(--canvas);cursor:pointer;border-radius:8px;min-height:40px;padding:0 16px}.teacher-confirm-dialog>div .teacher-primary{border-color:var(--line);color:var(--ink);background:var(--canvas)}.frozen-version-summary{color:var(--ink);overflow-wrap:anywhere;grid-column:1/-1;margin-top:8px;line-height:1.65;display:block}.memory-verification-checks{gap:10px;margin:4px 0 14px;display:grid}.memory-verification-checks label{border:1px solid var(--line);background:var(--canvas);cursor:pointer;border-radius:8px;grid-template-columns:20px 1fr;align-items:start;gap:10px;margin:0;padding:12px;display:grid}.memory-verification-checks input{width:17px;height:17px;accent-color:var(--link);margin-top:2px}.memory-verification-checks span{color:var(--ink);font-size:12px;line-height:1.65}.memory-verification-checks strong{color:var(--ink);margin-bottom:2px;font-size:12px;display:block}.consent-body{padding:25px}.consent-status{border:1px solid var(--line);background:var(--canvas);border-radius:8px;margin-bottom:23px;padding:15px}.consent-status span,.consent-status strong,.consent-status small{display:block}.consent-status span{color:var(--ink);text-transform:none;font-size:12px;font-weight:700}.consent-status strong{color:var(--ink);margin:6px 0;font-size:17px}.consent-status small{color:var(--ink);font:500 12px/1.4 ui-monospace,monospace}.consent-body h3{color:var(--ink);margin:19px 0 6px;font-size:12px}.consent-body>p{color:var(--ink);margin:0;font-size:12px;line-height:1.8}.consent-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;display:flex}.consent-actions button{border:1px solid var(--line);color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:7px;padding:9px 11px;font-size:12px}.consent-actions button.primary-consent{color:var(--ink);border-color:var(--line);background:var(--canvas)}.consent-actions button:disabled{opacity:.55;cursor:wait}.load-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.load-state h1{margin:18px 0 8px;font-size:28px}.load-state p{max-width:480px;color:var(--muted);line-height:1.7}.loader{border:3px solid var(--line);border-top-color:var(--line);border-radius:6px;width:34px;height:34px;animation:none}.error-state>span{color:var(--ink);font-size:12px;font-weight:700}@media (width<=1300px){.workspace{grid-template-columns:248px minmax(520px,1fr)}.tutor-toggle-button{align-items:center;display:inline-flex}.tutor-backdrop{z-index:44;background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none;cursor:default;border:0;width:100%;display:block;position:fixed;inset:72px 0 0}.tutor-panel{z-index:45;visibility:hidden;pointer-events:none;width:min(380px,100vw - 24px);height:calc(100vh - 72px);box-shadow:none;transition:background-color .15s,color .15s,opacity .15s;position:fixed;inset:72px 0 0 auto}.tutor-panel.is-open{visibility:visible;pointer-events:auto}.tutor-close{place-items:center;display:grid}}@media (width<=820px){.topbar{height:64px;padding:0 16px}.brand-block span,.stage-badge,.avatar,.user-menu>span,.student-topbar .wiki-button{display:none}.topbar-meta{gap:7px}.menu-button{min-height:44px;display:block}.tutor-toggle-button{min-height:44px;font-size:12px}.user-menu{justify-content:center;min-width:44px;min-height:44px}.workspace{display:block}.lesson-nav{z-index:15;border-right:0;border-bottom:1px solid var(--line);height:auto;max-height:calc(100vh - 64px);box-shadow:none;display:none;position:fixed;inset:64px 0 auto;overflow-y:auto}.lesson-nav.is-open,.lesson-nav-tools{display:flex}.lesson-main{padding:20px 20px 60px}.lesson-content h1{font-size:34px}.path-board,.decision-lane,.range-visual{grid-template-columns:repeat(2,minmax(0,1fr))}.incident-console{grid-template-columns:1fr}.incident-console>div{border-right:0;border-bottom:1px solid var(--line)}.incident-console>div:last-child{border-bottom:0}.mission-route{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}.mission-route:before{display:none}.story-beat,.handoff-strip{grid-template-columns:76px 1fr}.story-beat>small,.handoff-strip>small{text-align:left;grid-column:2;max-width:none}.concept-figure figcaption{grid-template-columns:repeat(2,minmax(0,1fr))}.algorithm-lab-heading{grid-template-columns:1fr;gap:9px}.lesson-content .algorithm-lab-heading p{text-align:left}.lab-controls-slider{grid-template-columns:120px 1fr}.lab-controls-slider button{grid-column:1/-1}.path-board:before,.decision-lane>div:after{display:none}.loop-checklist{grid-template-columns:repeat(3,minmax(0,1fr))}.tutor-panel{height:calc(100vh - 64px);inset:64px 0 0 auto}.tutor-backdrop{inset:64px 0 0}.strategy-card-grid{grid-template-columns:1fr}.strategy-card-grid button{min-height:0}.episode-status-card{flex-direction:column;align-items:stretch}.episode-status-card button{width:100%}.lesson-content table{display:block;overflow-x:auto}.lesson-content thead,.lesson-content tbody{table-layout:fixed;width:620px;display:table}.lesson-content .lesson-summary{padding:20px}.login-page{padding:30px 0 50px;display:block}.login-intro{text-align:center;padding:20px}.login-brand{margin:0 auto 22px}.login-intro h1{font-size:35px}.login-intro ul{display:none}.login-card{margin:20px auto 0}.exercise-heading-row{align-items:flex-start}.memory-heading{display:block}.memory-heading>span{margin-top:10px;display:inline-block}.memory-card-list article>button{grid-template-columns:1fr auto}.memory-card-list article>button>span{grid-column:1/3}.memory-card-body{padding:4px 14px 16px}.wiki-drawer{width:100vw}.wiki-layout{display:block;overflow-y:auto}.wiki-layout>nav{border-right:0;border-bottom:1px solid var(--line);max-height:170px}.wiki-layout>main{min-height:500px}.wiki-card-index>div{grid-template-columns:1fr}.wiki-bubble-map{min-height:340px}.private-memory-drawer{width:100vw}.memory-map-layout{display:block;overflow-y:auto}.memory-map-layout>nav{border-right:0;border-bottom:1px solid var(--line);max-height:185px}.memory-map-layout>main{min-height:520px;overflow:visible}.teacher-shell{padding-left:0}.teacher-topbar{margin-left:0}.teacher-sidebar{border-right:0;border-bottom:1px solid var(--line);width:auto;padding:10px;position:static}.teacher-sidebar .teacher-course,.teacher-sidebar>p{display:none}.teacher-sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.teacher-sidebar nav button{justify-content:center;min-height:44px;padding:10px 6px;font-size:12px;line-height:1.2}.teacher-sidebar nav button span{display:none}.teacher-main{padding:26px 16px 60px}.teacher-page-heading{display:block}.teacher-page-heading label{margin-top:18px}.metric-grid,.question-list,.student-evidence-grid{grid-template-columns:1fr 1fr}.teacher-form-grid{grid-template-columns:1fr}.teacher-form-grid .wide-field{grid-column:auto}.source-upload-row,.config-version-grid{grid-template-columns:1fr}.source-upload-row .teacher-primary{width:100%}.source-list>article{grid-template-columns:50px minmax(0,1fr) auto}.source-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-start;padding-top:8px}.concept-candidate-list{grid-template-columns:1fr}.teacher-insight-grid{grid-template-columns:1fr;gap:0}.experiment-list>article{grid-template-columns:1fr auto}.experiment-list dl{grid-area:2/1}.consent-actions{flex-direction:column-reverse;align-items:stretch}}@media (width<=520px){.student-topbar .brand-block strong{font-size:13px}.student-topbar .brand-icon{border-radius:8px;width:32px;height:32px}.tutor-toggle-button{padding:6px 8px}.tutor-toggle-button span{display:none}.menu-button{padding:6px 8px}.user-menu i{width:31px;height:31px}.lesson-main{padding-left:15px;padding-right:15px}.lesson-content .lesson-hero{padding-top:30px}.runner-prediction{grid-template-columns:1fr}.runner-prediction button{width:100%}.lesson-hero-paths:before{display:none}.path-board,.compare-grid,.decision-lane,.range-visual,.loop-checklist,.control-pair,.summary-grid{grid-template-columns:1fr}.path-node{min-height:0}.incident-ribbon{box-sizing:border-box;flex-wrap:wrap;width:100%}.mission-route{grid-template-columns:1fr 1fr}.story-beat,.handoff-strip{grid-template-columns:1fr}.story-beat>small,.handoff-strip>small{grid-column:auto}.indent-scene{grid-template-columns:1fr;padding:15px}.indent-brace{border-top:1px solid var(--line);border-left:0}.indent-code>span.is-inside{margin-left:17px}.concept-figure figcaption{grid-template-columns:1fr}.sorter-stage{height:170px}.sorter-stage[data-result=qualified] .sorter-product,.sorter-stage[data-result=inspect] .sorter-product{left:78%}.range-conveyor{gap:6px;padding:28px 12px}.conveyor-item{min-height:66px;padding:9px 4px}.conveyor-item strong{font-size:18px}.while-instrument{grid-template-columns:1fr;justify-items:center}.while-readout{width:100%}.control-conveyor{gap:5px;padding:20px 10px}.control-record{min-height:70px;padding:9px 3px}.control-record strong{font-size:12px}.nested-scanner{gap:6px;padding:16px}.nested-scanner>div{min-height:70px;padding:8px}.nested-counters{grid-template-columns:1fr}.lesson-content .delivery-section{padding:20px 15px}.commissioning-checklist{grid-template-columns:1fr 1fr}.summary-route>div{grid-template-columns:1fr;gap:5px}.nested-map>div{grid-template-columns:72px repeat(3,1fr);padding:8px}.nested-map strong{padding:8px 4px}.explore-card{padding:16px}.lesson-content .pitfall-card{padding-left:43px}.metric-grid,.question-list,.student-evidence-grid{grid-template-columns:1fr}.teacher-sidebar nav button{font-size:12px}.teacher-sidebar{overflow-x:auto}.teacher-sidebar nav{min-width:480px}.source-list>article{grid-template-columns:44px minmax(0,1fr)}.source-type{width:40px;height:40px}.source-list article>em{grid-column:2;justify-self:start}.memory-fact-grid{grid-template-columns:1fr 1fr}.memory-map-layout>main{padding:24px 16px 50px}.memory-detail-heading h3{font-size:24px}.private-memory-notice{padding-left:15px;padding-right:15px}.episode-stepper span{font-size:12px}}.app-shell{min-height:100vh;color:var(--ink);background:var(--canvas)}.student-topbar{height:76px;color:var(--ink);background:var(--canvas);border-bottom:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 24px}.student-topbar .brand-block{gap:13px}.student-topbar .brand-icon{width:42px;height:42px;color:var(--ink);background:var(--canvas);box-shadow:none;border:0;border-radius:8px;position:relative;overflow:hidden}.student-topbar .brand-icon:after{content:"";background:var(--canvas);border-radius:8px;width:25px;height:25px;position:absolute;bottom:-8px;right:-8px;transform:rotate(15deg)}.student-topbar .brand-icon span{z-index:1;font-size:15px;position:relative}.student-topbar .brand-block strong{color:var(--ink);letter-spacing:normal;font-size:16px}.student-topbar .brand-block span{color:var(--ink);margin-top:3px;font-size:12px}.student-topbar .topbar-meta{gap:8px}.student-topbar .stage-badge{color:var(--ink);background:var(--canvas);border-color:var(--line);align-items:center;gap:7px;margin-right:5px;padding:7px 11px;font-size:12px;font-weight:700;display:inline-flex}.student-topbar .stage-badge i{background:var(--canvas);width:7px;height:7px;box-shadow:none;border-radius:6px}.student-topbar .wiki-button,.student-topbar .tutor-toggle-button,.student-topbar .menu-button{min-height:38px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:12px;font-weight:700;transition:background-color .15s,color .15s,opacity .15s}.student-topbar .wiki-button:hover,.student-topbar .tutor-toggle-button:hover,.student-topbar .menu-button:hover{background:var(--hover)}.student-topbar .research-button{color:var(--ink);background:var(--canvas);border-color:var(--line)}.student-topbar .tutor-toggle-button span{color:var(--teal);font-size:12px}.student-topbar .user-menu{min-height:40px;color:var(--ink);margin-left:2px;font-size:12px}.student-topbar .user-menu>span{text-align:right}.student-topbar .user-menu small{color:var(--ink);margin-top:1px;font-size:12px;display:block}.student-topbar .user-menu i{width:36px;height:36px;color:var(--ink);background:var(--canvas);box-shadow:none}.workspace{background:var(--canvas);grid-template-columns:292px minmax(640px,1fr) 390px;align-items:stretch;max-width:none;min-height:calc(100vh - 76px)}.lesson-nav{border-right:1px solid var(--line);background:var(--canvas);padding:25px 17px 20px}.course-label{padding:0 9px 18px}.course-label span,.nav-heading,.panel-kicker{color:var(--ink);letter-spacing:normal;font-size:12px}.course-label strong{color:var(--ink);margin-top:6px;font-size:15px}.progress-card{color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;padding:15px 16px}.progress-card>div:first-child{color:var(--ink);font-size:12px}.progress-card strong{color:var(--ink);font-size:13px}.progress-track{background:var(--canvas);height:6px;margin-top:12px}.progress-track span{background:var(--canvas)}.nav-heading{color:var(--ink);margin:24px 9px 10px}.lesson-switcher button{min-height:69px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;grid-template-columns:36px 1fr;gap:3px 10px;padding:11px 12px}.lesson-switcher button>span{width:34px;height:34px;color:var(--ink);background:var(--canvas);border-radius:8px;font-size:12px}.lesson-switcher button strong{color:var(--ink);font-size:12px}.lesson-switcher button small{color:var(--ink);font-size:12px;line-height:1.45}.lesson-switcher button.active strong{color:var(--ink)}.nav-section-heading>span{color:var(--ink);font-size:12px}.concept-list li:not(:last-child):after{background:var(--canvas)}.concept-list button{min-height:44px;color:var(--ink);border-radius:8px;padding:9px 8px;font-size:12px;line-height:1.45}.concept-list button:hover{background:var(--hover)}.concept-list button span{color:var(--ink);background:var(--canvas);border-color:var(--line)}.concept-list button.active{color:var(--ink);background:var(--canvas)}.concept-list button.active span{color:var(--ink);background:var(--canvas);border-color:var(--line);box-shadow:none}.nav-footer{color:var(--ink);border-color:var(--line);font-size:12px}.version-dot,.status-dot{background:var(--canvas)}.preview-notice{max-width:940px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;margin-bottom:22px;padding:12px 15px;font-size:12px}.preview-notice>span{color:var(--ink);background:var(--canvas);font-family:inherit}.lesson-content .lesson-hero{color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;margin:0 0 38px;padding:clamp(36px,5vw,58px);position:relative;overflow:hidden}.lesson-content .lesson-hero:after{content:"</>";color:var(--ink);letter-spacing:-.12em;pointer-events:none;font:800 clamp(86px,11vw,150px)/1 ui-monospace,monospace;position:absolute;bottom:-20px;right:28px}.lesson-content .lesson-hero>*{z-index:1;position:relative}.lesson-content .lesson-hero .eyebrow,.lesson-content .lesson-hero .section-kicker{color:var(--ink)}.lesson-content .lesson-hero h1{max-width:790px;color:var(--ink);font-size:clamp(38px,4.6vw,62px)}.lesson-content .lesson-hero .lead{max-width:750px;color:var(--ink);font-size:17px;line-height:1.8}.lesson-content .lesson-hero code{color:var(--ink);background:var(--canvas)}.lesson-content .lesson-hero-paths{padding-top:clamp(36px,5vw,58px)}.lesson-content .lesson-hero-paths:before{color:var(--ink);opacity:.8;top:19px;left:44px}.lesson-content section{margin-bottom:36px;scroll-margin-top:96px}.lesson-content section[data-concept-id],.lesson-content .concept-section{background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;padding:clamp(27px,4vw,43px);position:relative}.lesson-content section[data-concept-id]:before,.lesson-content .concept-section:before{content:"";background:var(--canvas);border-radius:0 6px 6px 0;width:5px;position:absolute;top:27px;bottom:27px;left:0}.lesson-content .section-kicker{color:var(--ink);letter-spacing:normal;margin:0 0 10px;font-size:12px;font-weight:650}.lesson-content .concept-section>h2,.lesson-content section[data-concept-id]>h2,.lesson-content h2{max-width:790px;color:var(--ink);margin-bottom:17px;font-size:clamp(25px,3vw,34px);line-height:1.3}.lesson-content p,.lesson-content li,.lesson-content td,.lesson-content th{font-size:15px;line-height:1.8}.lesson-content p,.lesson-content ul,.lesson-content ol{color:var(--ink)}.lesson-content code{color:var(--ink);background:var(--canvas);border:1px solid var(--line)}.lesson-content table{border-color:var(--line);border-radius:8px}.lesson-content th,.lesson-content td{border-color:var(--line)}.lesson-content th{color:var(--ink);background:var(--canvas);font-size:13px}.lesson-content blockquote,.lesson-content .dispatch-note{color:var(--ink);background:var(--canvas);border-left:0;border-radius:0 8px 8px 0;padding:17px 19px 2px}.lesson-content blockquote p,.lesson-content .dispatch-note p{color:var(--ink)}.lesson-content .pitfall-card{border:1px solid var(--line);background:var(--canvas);border-left:0;border-radius:8px;padding:20px 21px 6px 54px}.lesson-content .pitfall-card:before{color:var(--ink);background:var(--canvas)}.lesson-content .pitfall-card p{color:var(--ink)}.lesson-content .explore-card,.lesson-content .work-card,.lesson-content .practice-brief,.lesson-content .learning-goals{color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;margin:22px 0;padding:21px 23px}.lesson-content .explore-card strong,.lesson-content .work-card strong,.lesson-content .practice-brief strong,.lesson-content .learning-goals strong{color:var(--ink)}.lesson-content .learning-goals ul,.lesson-content .work-card ol{margin-bottom:4px}.lesson-content .compare-grid,.lesson-content .summary-grid,.lesson-content .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:21px 0;display:grid}.lesson-content .compare-card,.lesson-content .summary-grid>div,.lesson-content .card-grid>article,.lesson-content .card-grid>div{min-width:0;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-top:4px solid var(--line);border-radius:8px;padding:19px}.lesson-content .compare-card h3,.lesson-content .card-grid h3{color:var(--ink);margin:0 0 9px;font-size:17px}.lesson-content .compare-card p,.lesson-content .summary-grid strong{color:var(--ink);font-size:13px}.lesson-content .compare-card pre{color:var(--ink);background:var(--canvas);border-color:var(--line)}.lesson-content pre[data-python-runner],.lesson-content .python-runner{border:1px solid var(--line);background:var(--canvas);box-shadow:none;border-radius:8px}.lesson-content pre[data-python-runner]{padding:47px 22px 22px}.lesson-content pre[data-python-runner]:before{color:var(--ink)}.runner-toolbar{color:var(--ink);border-color:var(--line);padding:13px 17px;font-size:12px}.runner-toolbar i{background:var(--canvas)}.runner-code-id{color:var(--ink)}.python-runner textarea{min-height:154px;color:var(--ink);background:var(--canvas);padding:19px;font-size:14px}.runner-prediction{border-color:var(--line);background:var(--canvas);padding:13px 16px}.runner-prediction label,.runner-prediction label small{color:var(--ink);font-size:12px}.runner-prediction input{min-height:40px;color:var(--ink);background:var(--canvas);border-color:var(--line);font-size:12px}.runner-prediction input:focus{border-color:var(--line);box-shadow:none}.runner-prediction button{min-height:40px;color:var(--ink);background:var(--canvas);border-color:var(--line);font-size:12px}.runner-actions{border-color:var(--line);padding:13px 16px}.runner-actions button{min-height:40px;color:var(--ink);background:var(--canvas);border-color:var(--line);border-radius:8px;padding:9px 15px;font-size:12px}.runner-actions .primary-action{color:var(--ink);background:var(--canvas);border-color:var(--line);font-weight:650}.runner-output{background:var(--canvas);border-color:var(--line);padding:14px 17px 17px}.runner-output>span{color:var(--ink);font-size:12px}.lesson-content .lesson-summary{color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;margin-top:42px;padding:clamp(26px,4vw,40px)}.lesson-content .lesson-summary h2{color:var(--ink)}.lesson-content .exercise-panel.task-card{background:var(--canvas);border:2px solid var(--line);box-shadow:none;border-radius:8px;margin:48px 0;padding:0;position:relative;overflow:hidden}.task-card-header{min-height:112px;color:var(--ink);background:var(--canvas);grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:19px;padding:22px 25px;display:grid}.task-flag{width:78px;min-height:72px;color:var(--ink);background:var(--canvas);box-shadow:none;border-radius:8px;align-content:center;justify-items:center;padding:10px 8px;display:grid}.task-flag span{letter-spacing:normal;font-size:12px;font-weight:650}.task-flag strong{margin-top:4px;font:900 25px/1 ui-monospace,monospace}.task-heading-copy .eyebrow{color:var(--ink);margin-bottom:5px;font-size:12px}.lesson-content .task-heading-copy h2{color:var(--ink);margin:0;font-size:clamp(21px,2.5vw,29px)}.task-count{color:var(--ink);align-items:baseline;display:flex}.task-count strong{color:var(--ink);font:800 28px/1 ui-monospace,monospace}.task-count span{margin-left:4px;font-size:12px}.task-card .exercise-progress{background:var(--canvas);border-radius:0;height:6px;margin:0}.task-card .exercise-progress span{background:var(--canvas);border-radius:0}.task-card>.question-meta,.task-card>.question-prompt,.task-card>.answer-workspace,.task-card>.hint-card,.task-card>.attempt-result,.task-card>.ai-support-dock,.task-card>.strategy-choice,.task-card>.exercise-actions,.task-card>.exercise-error{margin-left:clamp(20px,4vw,34px);margin-right:clamp(20px,4vw,34px)}.task-card>.question-meta{flex-wrap:wrap;gap:8px;margin-top:25px;display:flex}.task-card .question-meta span{color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font:700 12px/1.2 inherit}.task-card .question-meta .question-type-chip,.task-card .question-meta .difficulty-chip{color:var(--ink);background:var(--canvas);border-color:var(--line)}.question-prompt{background:var(--canvas);border-left:0;border-radius:0 8px 8px 0;margin-top:20px;padding:22px 23px 22px 27px;position:relative}.question-prompt-label{color:var(--ink);letter-spacing:normal;margin-bottom:7px;font-size:12px;font-weight:650;display:block}.lesson-content .question-prompt .question-stem{color:var(--ink);margin:0;font-size:clamp(18px,2vw,22px);line-height:1.65}.lesson-content .question-prompt .question-stem>span{white-space:pre-wrap}.lesson-content .question-prompt .question-stem code{color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:6px;padding:2px 6px;font-size:.86em;font-weight:650}.lesson-content .question-prompt .question-stem .question-code-block{color:var(--ink);background:var(--canvas);border-color:var(--line);white-space:pre;border-radius:8px;margin-top:14px;padding:16px 18px;font-size:14px;font-weight:500;line-height:1.7;display:block;overflow-x:auto}.answer-workspace{background:var(--canvas);border:1px solid var(--line);border-radius:8px;margin-top:22px;padding:21px}.answer-workspace-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.answer-workspace-heading span{color:var(--ink);font-size:14px;font-weight:650}.answer-workspace-heading small{color:var(--ink);font-size:12px}.choice-list{gap:10px}.choice-list label{min-height:54px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:13px 15px;font-size:14px;line-height:1.55;transition:background-color .15s,color .15s,opacity .15s}.choice-list label:hover{background:var(--hover)}.choice-list label.selected{color:var(--ink);background:var(--canvas);border-color:var(--line);box-shadow:none}.choice-list label>span{width:29px;height:29px;color:var(--ink);background:var(--canvas);flex:0 0 29px;font-size:12px}.choice-list label.selected>span{color:var(--ink);background:var(--canvas)}.choice-list label strong{font-weight:600}.choice-list input{accent-color:var(--link)}.output-answer{color:var(--ink);gap:9px;font-size:12px}.output-answer input{border-color:var(--line);border-radius:8px;min-height:48px;padding:12px 14px;font-size:14px}.output-answer input:focus{border-color:var(--line);box-shadow:none}.test-contract{color:var(--ink);background:var(--canvas);border:1px dashed var(--line);border-radius:8px;margin-top:17px;padding:15px 17px}.test-contract>strong{color:var(--ink);font-size:12px}.test-contract .public-tests{color:var(--ink);background:0 0;margin:8px 0 0;padding:0 0 0 20px}.test-contract .public-tests li{font-size:12px}.task-card .hint-card{background:var(--canvas);border-left-color:var(--line);margin-top:18px;padding:16px 18px}.task-card .hint-card strong{color:var(--ink);font-size:12px}.task-card .hint-card p{font-size:13px}.attempt-result{border-radius:8px;grid-template-columns:38px 1fr;gap:13px;padding:17px 18px;display:grid}.attempt-result-icon{border-radius:6px;place-items:center;width:36px;height:36px;font-size:19px;font-weight:650;display:grid}.attempt-result.correct{color:var(--ink);background:var(--canvas);border-color:var(--line)}.attempt-result.correct .attempt-result-icon{color:var(--ink);background:var(--canvas)}.attempt-result.incorrect{color:var(--ink);background:var(--canvas);border-color:var(--line)}.attempt-result.incorrect .attempt-result-icon{color:var(--ink);background:var(--canvas)}.attempt-result strong{font-size:14px}.attempt-result p{font-size:12px}.ai-support-dock{color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;margin-top:20px;padding:18px;display:grid}.ai-support-dock.is-locked{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ai-support-dock.is-complete{background:var(--canvas);border-color:var(--line)}.ai-coach-mark{width:46px;height:46px;color:var(--ink);background:var(--canvas);box-shadow:none;border-radius:8px;place-items:center;display:grid}.ai-support-dock.is-locked .ai-coach-mark{color:var(--ink);background:var(--canvas);box-shadow:none}.ai-coach-mark span{font:900 12px/1 ui-monospace,monospace}.ai-support-copy>span{color:var(--ink);letter-spacing:normal;font-size:12px;font-weight:650;display:block}.ai-support-copy strong{color:var(--ink);margin-top:4px;font-size:14px;display:block}.ai-support-copy p{color:var(--ink);margin:4px 0 0;font-size:12px;line-height:1.6}.ai-support-action button,.strategy-card-grid button,.exercise-actions button{min-height:42px}.ai-support-action button{color:var(--ink);background:var(--canvas);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:10px 14px;font-size:12px;font-weight:650}.ai-support-action .ai-entry-button{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ai-locked-label{color:var(--ink);background:var(--canvas);border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;display:inline-flex}.strategy-choice{background:var(--canvas);border-color:var(--line);border-radius:8px;margin-top:14px;padding:20px}.strategy-choice p{color:var(--ink);font-size:12px}.strategy-choice h3{color:var(--ink);font-size:18px}.strategy-choice>div:first-child>span{color:var(--ink);font-size:12px}.strategy-card-grid{gap:10px}.strategy-card-grid button{min-height:152px;color:var(--ink);background:var(--canvas);border-color:var(--line);border-radius:8px;padding:17px}.strategy-card-grid button:before{display:none}.strategy-card-grid button i{width:34px;height:34px;color:var(--ink);background:var(--canvas);border-radius:8px;place-items:center;margin-bottom:12px;font:900 12px/1 ui-monospace,monospace;display:grid}.strategy-card-grid strong{color:var(--ink);font-size:13px}.strategy-card-grid span{color:var(--ink);font-size:12px}.strategy-card-grid small{color:var(--ink);margin-top:auto;padding-top:12px;font-size:12px;font-weight:650}.task-card>.exercise-actions{border-top:1px solid var(--line);margin-top:20px;margin-bottom:28px;padding-top:18px}.exercise-actions button{color:var(--ink);background:var(--canvas);border-color:var(--line);border-radius:8px;padding:10px 15px;font-size:12px;font-weight:700}.exercise-actions .primary-action{color:var(--ink);background:var(--canvas);border-color:var(--line);margin-left:auto}.tutor-panel{color:var(--ink);background:var(--canvas);border-left:1px solid var(--line);padding:22px 19px}.tutor-header{border-color:var(--line);gap:12px;padding:1px 1px 18px}.tutor-header>span{width:auto;height:auto;box-shadow:none;background:0 0}.tutor-avatar{width:44px;height:44px;color:var(--ink);background:var(--canvas);box-shadow:none;border-radius:8px;flex:0 0 44px;place-items:center;display:grid}.tutor-avatar span{font:900 12px/1 ui-monospace,monospace}.tutor-header p{color:var(--ink);letter-spacing:normal;margin-bottom:4px;font-size:12px}.tutor-header h2{color:var(--ink);font-size:19px}.tutor-availability{color:var(--ink);align-items:center;gap:6px;margin-left:auto;font-size:12px;font-weight:650;display:inline-flex}.tutor-header .tutor-availability i{background:var(--canvas);box-shadow:none;margin:0}.tutor-close{width:38px;height:38px;color:var(--ink);border-color:var(--line);flex:0 0 38px}.tutor-context{background:var(--canvas);border-color:var(--line);box-shadow:none;border-radius:8px;margin:17px 0 14px;padding:17px}.tutor-context small{color:var(--ink);font-size:12px}.tutor-context strong{color:var(--ink);margin:7px 0 9px;font-size:16px}.tutor-context>span{color:var(--ink);background:var(--canvas);border-radius:6px;margin-bottom:10px;padding:5px 8px;font-size:12px}.tutor-context p{color:var(--ink);font-size:12px;line-height:1.65}.tutor-next-step{margin-bottom:17px}.tutor-next-step>div:first-child p{color:var(--ink);font-size:13px}.tutor-next-step>div:first-child span{color:var(--ink);font-size:12px}.tutor-quick-actions{gap:8px}.tutor-quick-actions button{min-height:66px;color:var(--ink);background:var(--canvas);border-color:var(--line);border-radius:8px;grid-template-columns:34px 1fr;column-gap:11px;padding:11px 12px}.tutor-quick-actions button:hover{background:var(--hover)}.tutor-quick-actions button>span{width:34px;height:34px;color:var(--ink);background:var(--canvas);border-radius:8px;font-size:12px}.tutor-quick-actions button strong{color:var(--ink);font-size:12px}.tutor-quick-actions button small{color:var(--ink);margin-top:3px;font-size:12px}.episode-stepper:before{background:var(--canvas)}.episode-stepper span{color:var(--ink);font-size:12px}.episode-stepper span:before{border-color:var(--line)}.episode-stepper span.done{color:var(--ink)}.episode-stepper span.done:before{border-color:var(--line);background:var(--canvas);box-shadow:none}.episode-stepper span.active{color:var(--ink)}.episode-stepper span.active:before{border-color:var(--line);background:var(--canvas);box-shadow:none}.active-strategy-card,.independent-probe,.probe-complete{border-color:var(--line);border-radius:8px;padding:18px}.active-strategy-card>p,.independent-probe>p{color:var(--ink);font-size:12px}.active-strategy-card h3,.independent-probe h3,.probe-complete h3{color:var(--ink);font-size:16px}.active-strategy-card>span,.independent-probe>span{color:var(--ink);font-size:12px}.tutor-panel .primary-action{background:var(--canvas);border-color:var(--line);border-radius:8px;min-height:42px;padding:10px 13px;font-size:12px}.tutor-panel .primary-action:hover:not(:disabled){background:var(--hover)}.return-to-task{color:var(--ink);background:var(--canvas)}.return-to-task strong{color:var(--ink);font-size:12px}.return-to-task p{font-size:12px}.return-to-task button,.strategy-switcher button{min-height:38px;color:var(--ink);border-color:var(--line);font-size:12px}.tutor-conversation-shell{border-color:var(--line)}.tutor-conversation-shell>p{color:var(--ink);font-size:12px}.tutor-conversation{max-height:360px}.student-bubble{color:var(--ink);background:var(--canvas);border-radius:8px 8px 3px;padding:11px 13px;font-size:12px}.tutor-bubble{border-color:var(--line);border-radius:3px 8px 8px;padding:12px 13px}.tutor-bubble>span{color:var(--ink);font-size:12px}.tutor-bubble p{color:var(--ink);font-size:12px;line-height:1.7}.tutor-bubble blockquote{color:var(--ink);background:var(--canvas);border-left-color:var(--line);font-size:12px}.tutor-bubble small{color:var(--ink);font-size:12px}.tutor-compose{color:var(--ink);border-color:var(--line);gap:8px;padding-top:15px;font-size:12px}.tutor-compose textarea{min-height:96px;color:var(--ink);border-color:var(--line);border-radius:8px;padding:12px;font-size:12px}.tutor-compose textarea:focus{border-color:var(--line);box-shadow:none}.tutor-compose small{color:var(--ink);font-size:12px;font-weight:500}.tutor-compose button{background:var(--canvas);border-radius:8px;min-height:42px;font-size:12px}.tutor-policy-note{color:var(--ink);text-align:center;margin-top:14px;font-size:12px}.tutor-policy-note span{background:var(--canvas)}.independent-probe,.probe-complete{background:var(--canvas);border-color:var(--line)}.probe-complete>p{color:var(--ink);font-size:12px}.probe-question>strong{color:var(--ink);font-size:13px}@media (width<=1540px){.workspace{grid-template-columns:274px minmax(590px,1fr) 368px}.lesson-main{padding-left:clamp(25px,3vw,48px);padding-right:clamp(25px,3vw,48px)}}@media (width<=1439px){.workspace{grid-template-columns:270px minmax(0,1fr)}.student-topbar .tutor-toggle-button{align-items:center;display:inline-flex}.tutor-backdrop{z-index:44;background:var(--canvas);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;width:100%;display:block;position:fixed;inset:76px 0 0}.tutor-panel{z-index:45;visibility:hidden;pointer-events:none;width:min(410px,100vw - 24px);height:calc(100vh - 76px);box-shadow:none;transition:background-color .15s,color .15s,opacity .15s;position:fixed;inset:76px 0 0 auto}.tutor-panel.is-open{visibility:visible;pointer-events:auto}.tutor-close{place-items:center;display:grid}}@media (width<=980px){.student-topbar{height:68px;padding:0 16px}.student-topbar .stage-badge,.student-topbar .user-menu>span,.student-topbar .research-button{display:none}.student-topbar .menu-button{display:block}.student-topbar .wiki-button{display:none}.student-topbar .topbar-meta{gap:7px}.workspace{min-height:calc(100vh - 68px);display:block}.lesson-nav{z-index:35;border-right:0;border-bottom:1px solid var(--line);height:auto;max-height:calc(100vh - 68px);box-shadow:none;display:none;position:fixed;inset:68px 0 auto}.lesson-nav.is-open,.lesson-nav-tools{display:flex}.lesson-main{min-height:calc(100vh - 68px);padding:21px 20px 70px}.tutor-panel{height:calc(100vh - 68px);inset:68px 0 0 auto}.tutor-backdrop{inset:68px 0 0}.lesson-content .lesson-hero{border-radius:8px}}@media (width<=720px){.student-topbar .brand-block span{display:none}.student-topbar .brand-block strong{font-size:14px}.student-topbar .brand-icon{width:38px;height:38px}.student-topbar .tutor-toggle-button,.student-topbar .menu-button{min-height:42px;padding:7px 9px}.lesson-main{padding:14px 13px 58px}.preview-notice{margin-bottom:14px;font-size:12px}.lesson-content .lesson-hero{padding:32px 24px}.lesson-content .lesson-hero h1{font-size:clamp(32px,10vw,45px)}.lesson-content .lesson-hero .lead{font-size:15px}.lesson-content section[data-concept-id],.lesson-content .concept-section{border-radius:8px;padding:27px 22px}.lesson-content section[data-concept-id]:before,.lesson-content .concept-section:before{width:4px;top:22px;bottom:22px}.lesson-content p,.lesson-content li,.lesson-content td,.lesson-content th{font-size:14px}.lesson-content .compare-grid,.lesson-content .summary-grid,.lesson-content .card-grid{grid-template-columns:1fr}.task-card-header{grid-template-columns:64px minmax(0,1fr);gap:13px;padding:18px}.task-flag{width:62px;min-height:62px}.task-count{display:none}.task-card>.question-meta,.task-card>.question-prompt,.task-card>.answer-workspace,.task-card>.hint-card,.task-card>.attempt-result,.task-card>.ai-support-dock,.task-card>.strategy-choice,.task-card>.exercise-actions,.task-card>.exercise-error{margin-left:16px;margin-right:16px}.answer-workspace{padding:16px}.answer-workspace-heading{display:block}.answer-workspace-heading small{margin-top:4px;display:block}.ai-support-dock{grid-template-columns:42px 1fr}.ai-coach-mark{width:42px;height:42px}.ai-support-action{grid-column:1/-1}.ai-support-action button{width:100%}.strategy-card-grid{grid-template-columns:1fr}.strategy-card-grid button{min-height:0}.exercise-actions{flex-direction:column-reverse;align-items:stretch}.exercise-actions button,.exercise-actions .primary-action{width:100%;margin-left:0}.runner-prediction{grid-template-columns:1fr}.runner-prediction button{width:100%}.tutor-panel{width:auto;max-width:none;inset:68px 0 0}}@media (width<=470px){.student-topbar{padding:0 10px}.student-topbar .brand-block{gap:8px}.student-topbar .brand-block strong{max-width:92px;line-height:1.2}.student-topbar .user-menu,.student-topbar .tutor-toggle-button span{display:none}.lesson-content .lesson-hero{padding:29px 20px}.lesson-content .lesson-hero:after{right:12px}.lesson-content section[data-concept-id],.lesson-content .concept-section{padding:24px 18px}.lesson-content .exercise-panel.task-card{border-radius:8px;margin-left:-2px;margin-right:-2px}.task-card-header{grid-template-columns:54px minmax(0,1fr);padding:15px}.task-flag{width:52px;min-height:56px}.task-flag strong{font-size:20px}.lesson-content .task-heading-copy h2{font-size:18px}.choice-list label{align-items:flex-start;padding:12px;font-size:13px}}.skip-link{z-index:100;color:var(--ink);background:var(--canvas);border-radius:7px;padding:10px 14px;font-size:13px;font-weight:650;position:fixed;top:8px;left:12px}.student-topbar{height:68px;color:var(--ink);background:var(--canvas);border-bottom-color:var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.student-topbar .brand-icon{width:38px;height:38px;color:var(--ink);background:var(--canvas);box-shadow:none;border-radius:8px}.student-topbar .brand-icon:after{display:none}.student-topbar .brand-icon span{font:900 12px/1 ui-monospace,monospace;display:block}.student-topbar .brand-block strong{color:var(--ink);font-size:15px}.student-topbar .brand-block span{color:var(--ink)}.student-topbar .stage-badge{min-height:34px;color:var(--ink);background:var(--canvas);border-color:var(--line)}.student-topbar .stage-badge i{background:var(--canvas);box-shadow:none}.student-topbar .tutor-toggle-button,.student-topbar .menu-button{min-height:44px;color:var(--ink);border-color:var(--line);background:0 0;border-radius:8px}.student-topbar .tutor-toggle-button:hover,.student-topbar .menu-button:hover{background:var(--hover)}.student-topbar .tutor-toggle-button span{color:var(--ink)}.student-topbar .user-menu{min-height:44px;color:var(--ink)}.student-topbar .user-menu small{color:var(--ink)}.student-topbar .user-menu i{color:var(--ink);background:var(--canvas);box-shadow:none}.workspace{grid-template-columns:268px minmax(620px,1fr) 372px;min-height:calc(100vh - 68px)}.lesson-nav,.tutor-panel{height:calc(100vh - 68px);top:68px}.lesson-nav{background:var(--canvas);border-right-color:var(--line);padding:24px 14px 18px}.course-label{padding-bottom:16px}.course-label span,.nav-heading{color:var(--ink)}.course-label strong{color:var(--ink);line-height:1.5}.progress-card{color:var(--ink);background:var(--canvas);border-color:var(--line);box-shadow:none;border-radius:8px}.progress-card>div:first-child,.progress-card strong{color:var(--ink)}.progress-track,.progress-track span{background:var(--canvas)}.nav-heading{margin-top:20px}.lesson-switcher{gap:4px}.lesson-switcher button{min-height:64px;color:var(--ink);box-shadow:none;background:0 0;border-color:#0000;border-radius:8px;padding:10px}.lesson-switcher button:hover{background:var(--hover)}.lesson-switcher button>span{width:32px;height:32px;color:var(--ink);background:var(--canvas);border-radius:7px}.lesson-switcher button.active{color:var(--ink);background:var(--canvas);border-color:var(--line);box-shadow:none}.lesson-switcher button.active>span{color:var(--ink);background:var(--canvas)}.concept-list button{border-radius:6px}.lesson-nav-tools{margin:0 7px 14px;display:flex}.lesson-nav-tools button{min-height:36px;color:var(--ink);border-color:var(--line);border-radius:7px}.lesson-nav-tools button:hover{background:var(--hover)}.lesson-main{background:var(--canvas);min-height:calc(100vh - 68px);padding:24px clamp(24px,3.5vw,58px) 100px}.lesson-content{max-width:900px}.preview-notice{max-width:900px;color:var(--ink);background:var(--canvas);border-color:var(--line);box-shadow:none;border-radius:8px;margin-bottom:16px;padding:11px 14px}.preview-notice>span{color:var(--ink);background:var(--canvas)}.lesson-content .lesson-hero{background:var(--canvas);border-color:var(--line);box-shadow:none;border-radius:8px 8px 0 0;margin-bottom:0;padding:clamp(42px,5vw,68px) clamp(34px,5vw,62px)}.lesson-content .lesson-hero:after{color:var(--ink);bottom:-25px;right:34px}.lesson-content .lesson-hero h1{letter-spacing:-.045em;max-width:760px;font-size:clamp(40px,5.2vw,68px)}.lesson-content .lesson-hero .lead{max-width:700px;color:var(--ink);font-size:17px}.lesson-content section{margin-bottom:0}.lesson-content section[data-concept-id],.lesson-content .concept-section{background:var(--canvas);border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;padding:clamp(34px,5vw,54px) clamp(28px,5vw,58px)}.lesson-content section[data-concept-id]:before,.lesson-content .concept-section:before{background:var(--canvas);border-radius:0 4px 4px 0;width:6px;height:36px;top:50px;bottom:auto;left:0}.lesson-content .concept-section>h2,.lesson-content section[data-concept-id]>h2,.lesson-content h2{max-width:760px;color:var(--ink);font-size:clamp(25px,3vw,33px)}.lesson-content p,.lesson-content li,.lesson-content td,.lesson-content th{line-height:1.75}.lesson-content .compare-card,.lesson-content .summary-grid>div,.lesson-content .card-grid>article,.lesson-content .card-grid>div{background:var(--canvas);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:7px;padding:18px}.lesson-content .work-card,.lesson-content .practice-brief,.lesson-content .learning-goals,.lesson-content .explore-card{box-shadow:none;border-radius:7px}.lesson-content pre[data-python-runner],.lesson-content .python-runner{box-shadow:none;border-radius:8px}.lesson-content .exercise-panel.task-card{box-shadow:none;border-width:1px;border-radius:8px;margin:38px 0}.task-card-header{background:var(--canvas);min-height:98px;padding:19px 22px}.task-flag{box-shadow:none;border-radius:7px}.question-prompt,.answer-workspace,.ai-support-dock,.strategy-choice{border-radius:7px}.choice-list label{border-radius:7px;transform:none}.lesson-content .lesson-summary{background:var(--canvas);border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0 0 8px 8px;margin-top:0;padding:clamp(32px,5vw,52px)}.source-practice-intro{background:var(--canvas);border-top:4px solid var(--line)}.first-lesson-hero{overflow:hidden}.first-lesson-hero:after{content:"0101";letter-spacing:-.08em}.first-lesson-hero h1>span{display:block}.lesson-brief{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:34px 0 38px;display:grid}.lesson-brief>div{border-right:1px solid var(--line);padding:17px 18px}.lesson-brief>div:first-child{padding-left:0}.lesson-brief>div:last-child{border-right:0}.lesson-brief small,.lesson-brief strong{display:block}.lesson-brief small{color:var(--ink);letter-spacing:normal;font-size:12px}.lesson-brief strong{color:var(--ink);margin-top:7px;font-size:13px}.knowledge-signal{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid;position:relative}.knowledge-signal:before{content:"";background:var(--canvas);height:2px;position:absolute;top:17px;left:8%;right:8%}.knowledge-signal>div{min-width:0;position:relative}.knowledge-signal span{z-index:1;width:35px;height:35px;color:var(--ink);background:var(--canvas);border:4px solid var(--line);border-radius:6px;place-items:center;font:900 12px/1 ui-monospace,monospace;display:grid;position:relative}.knowledge-signal strong,.knowledge-signal small{display:block}.knowledge-signal strong{color:var(--ink);margin-top:10px;font-size:12px}.knowledge-signal small{color:var(--ink);margin-top:3px;font-size:12px}.lesson-content .lesson-launch{background:var(--canvas)}.mission-grid{border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:24px 0;display:grid}.mission-grid>div{border-right:1px solid var(--line);min-width:0;padding:19px}.mission-grid>div:last-child{border-right:0}.mission-grid span,.data-route span{color:var(--ink);letter-spacing:normal;font:800 12px/1 ui-monospace,monospace}.mission-grid strong,.data-route strong,.pioneer-ledger strong{color:var(--ink);margin-top:9px;font-size:14px;display:block}.mission-grid p,.data-route small,.pioneer-ledger p{color:var(--ink);margin:6px 0 0;font-size:12px;line-height:1.55}.data-route{border:1px solid var(--line);background:var(--canvas);grid-template-columns:repeat(4,minmax(0,1fr));margin:26px 0;display:grid}.data-route>div{border-right:1px solid var(--line);min-width:0;padding:20px 18px;position:relative}.data-route>div:last-child{border-right:0}.data-route>div:not(:last-child):after{content:"→";z-index:1;width:19px;height:19px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:6px;place-items:center;font-size:12px;display:grid;position:absolute;top:50%;right:-10px}.data-route small{display:block}.history-track{border-left:0;margin:26px 0}.history-track>div{padding:2px 0 26px 28px;position:relative}.history-track>div:last-child{padding-bottom:0}.history-track>div:before{content:"";background:var(--canvas);border:2px solid var(--line);border-radius:6px;width:10px;height:10px;position:absolute;top:4px;left:-7px}.history-track span{color:var(--ink);font:800 12px/1 ui-monospace,monospace}.history-track strong{color:var(--ink);margin-top:7px;font-size:16px;display:block}.history-track p{color:var(--ink);margin:5px 0 0;font-size:13px}.pioneer-ledger{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0;display:grid}.pioneer-ledger>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px}.pioneer-ledger span{color:var(--ink);font:800 12px/1.4 ui-monospace,monospace}.thinking-loop{border:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));margin:26px 0 32px;display:grid}.thinking-loop>div{border-right:1px solid var(--line);min-width:0;padding:18px 14px}.thinking-loop>div:last-child{border-right:0}.thinking-loop span{width:25px;height:25px;color:var(--ink);background:var(--canvas);place-items:center;font:800 12px/1 ui-monospace,monospace;display:grid}.thinking-loop strong{color:var(--ink);margin-top:13px;font-size:14px;display:block}.thinking-loop p{color:var(--ink);margin:6px 0 0;font-size:12px;line-height:1.55}.first-lesson-summary .summary-grid>div{background:var(--canvas)}@media (width<=1540px){.workspace{grid-template-columns:258px minmax(590px,1fr) 354px}}@media (width<=1439px){.workspace{grid-template-columns:258px minmax(0,1fr)}.tutor-backdrop{inset:68px 0 0}.tutor-panel{height:calc(100vh - 68px);top:68px}}@media (width<=980px){.workspace{min-height:calc(100vh - 68px);display:block}.lesson-nav{max-height:calc(100vh - 68px);top:68px}.lesson-main{min-height:calc(100vh - 68px)}}@media (width<=760px){.lesson-content .lesson-hero{border-radius:8px 8px 0 0;padding:36px 25px}.lesson-content .lesson-hero h1{font-size:clamp(36px,11vw,52px)}.lesson-brief{grid-template-columns:1fr}.lesson-brief>div{border-right:0;border-bottom:1px solid var(--line);padding:12px 0}.lesson-brief>div:last-child{border-bottom:0}.knowledge-signal{grid-template-columns:1fr;gap:10px}.knowledge-signal:before{width:2px;height:auto;inset:8px auto 8px 17px}.knowledge-signal>div{grid-template-columns:40px 1fr;align-items:center;column-gap:10px;min-height:42px;display:grid}.knowledge-signal span{grid-row:1/3}.knowledge-signal strong{margin-top:0}.mission-grid,.data-route,.pioneer-ledger,.thinking-loop{grid-template-columns:1fr}.mission-grid>div,.data-route>div,.thinking-loop>div{border-right:0;border-bottom:1px solid var(--line)}.mission-grid>div:last-child,.data-route>div:last-child,.thinking-loop>div:last-child{border-bottom:0}.data-route>div:not(:last-child):after{content:"↓";top:auto;bottom:-10px;right:18px;transform:none}.lesson-content section[data-concept-id],.lesson-content .concept-section{border-radius:0;padding:32px 23px}.lesson-content .lesson-summary{border-radius:0 0 8px 8px}}@media (width<=470px){.student-topbar .brand-block strong{max-width:122px}.student-topbar .brand-icon{width:36px;height:36px}.student-topbar .tutor-toggle-button,.student-topbar .menu-button{min-width:44px}.lesson-main{padding-left:10px;padding-right:10px}}.lesson-content .lesson-align-center{text-align:center}.lesson-content .lesson-emphasis-key{color:var(--ink);background:var(--canvas);padding:4px 8px}.lesson-content .lesson-emphasis-note{color:var(--ink);background:var(--canvas);border-left:0;padding:13px 15px}.lesson-content .lesson-layout-wide{width:calc(100% + 56px);margin-left:-28px}.lesson-content .lesson-layout-compact{padding-top:20px;padding-bottom:20px}.lesson-content .lesson-layout-columns{column-count:2;column-gap:34px}.lesson-content .lesson-layout-columns>h2,.lesson-content .lesson-layout-columns>.section-kicker,.lesson-content .lesson-layout-columns>pre,.lesson-content .lesson-layout-columns>table{column-span:all}.lesson-editor-heading{align-items:center}.lesson-editor-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.lesson-editor-actions a,.lesson-editor-actions button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:var(--canvas);cursor:pointer;border-radius:7px;padding:0 13px;font-size:12px;font-weight:650;text-decoration:none}.lesson-editor-actions a{align-items:center;display:inline-flex}.lesson-editor-actions button:disabled{opacity:.48;cursor:not-allowed}.lesson-editor-actions .publish-button{border-color:var(--line);color:var(--ink);background:var(--canvas)}.lesson-editor-notice{border:1px solid var(--line);color:var(--ink);background:var(--canvas);border-radius:8px;margin-bottom:14px;padding:11px 14px;font-size:12px}.lesson-editor-workbench{border:1px solid var(--line);background:var(--canvas);min-height:680px;box-shadow:none;border-radius:8px;grid-template-columns:176px minmax(0,1fr) 238px;display:grid;overflow:hidden}.lesson-editor-rail,.lesson-editor-inspector{background:var(--canvas);min-width:0}.lesson-editor-rail{border-right:1px solid var(--line)}.lesson-editor-rail>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:62px;padding:0 14px;display:flex}.lesson-editor-rail>header p{color:var(--ink);letter-spacing:normal;margin:0;font-size:12px;font-weight:650}.lesson-editor-rail>header strong{color:var(--ink);font:750 12px/1 ui-monospace,monospace}.lesson-editor-rail>div{max-height:calc(100vh - 245px);padding:8px;overflow-y:auto}.lesson-editor-rail button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:34px minmax(0,1fr);gap:3px 7px;margin-bottom:5px;padding:11px 10px;display:grid}.lesson-editor-rail button:hover{background:var(--hover)}.lesson-editor-rail button.active{border-color:var(--line);background:var(--canvas);box-shadow:none}.lesson-editor-rail button>span{color:var(--ink);grid-row:1/3;font:800 12px/1.4 ui-monospace,monospace}.lesson-editor-rail button strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.lesson-editor-rail button small{color:var(--ink);font-size:12px}.lesson-editor-canvas{min-width:0}.lesson-editor-canvas-toolbar{border-bottom:1px solid var(--line);background:var(--canvas);align-items:center;gap:12px;height:62px;padding:0 15px;display:flex}.lesson-editor-canvas-toolbar>div{min-width:0;margin-right:auto}.lesson-editor-canvas-toolbar>div span,.lesson-editor-canvas-toolbar>div strong{display:block}.lesson-editor-canvas-toolbar>div span{color:var(--ink);font:800 12px/1 ui-monospace,monospace}.lesson-editor-canvas-toolbar>div strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;overflow:hidden}.lesson-editor-canvas-toolbar label{color:var(--ink);align-items:center;gap:7px;font-size:12px;display:flex}.lesson-editor-canvas-toolbar select{width:auto;min-width:150px;padding:7px 28px 7px 8px;font-size:12px}.lesson-version-state{color:var(--ink);background:var(--canvas);white-space:nowrap;border-radius:8px;padding:5px 7px;font-size:12px}.lesson-version-state.state-published,.lesson-version-state.state-draft{color:var(--ink);background:var(--canvas)}.lesson-editor-page-shell{background-color:var(--canvas);background-image:none;background-size:20px 20px;min-height:618px;max-height:calc(100vh - 245px);padding:24px clamp(16px,3vw,38px) 56px;position:relative;overflow:auto}.lesson-editor-page-shell:before{content:"STUDENT PAGE · LIVE PREVIEW";z-index:5;width:max-content;color:var(--ink);background:var(--canvas);letter-spacing:normal;border-radius:4px;margin:0 0 8px auto;padding:5px 8px;font:800 12px/1 ui-monospace,monospace;display:block;position:sticky;top:0}.lesson-editor-preview{border:1px solid var(--line);background:var(--canvas);width:100%;max-width:940px;min-height:720px;box-shadow:none;border-radius:8px;padding:30px}.lesson-editor-preview [data-editor-editable=true]{outline-offset:4px;cursor:text;border-radius:3px;outline:1px dashed #0000;transition:background-color .15s,color .15s,opacity .15s;position:relative}.lesson-editor-preview [data-editor-editable=true]:hover{outline-color:var(--focus);background-color:var(--hover)}.lesson-editor-preview [data-editor-editable=true]:focus,.lesson-editor-preview [data-editor-editable=true].is-editor-selected{outline:2px solid var(--focus);background-color:var(--canvas);box-shadow:none}.lesson-editor-preview [data-editor-editable=true]:focus-visible{outline-width:3px}.lesson-editor-preview pre[data-python-runner],.lesson-editor-preview [data-exercise-slot],.lesson-editor-preview [data-memory-slot],.lesson-editor-preview [data-algorithm-lab]{pointer-events:none;filter:none;position:relative}.lesson-editor-preview pre[data-python-runner]:after,.lesson-editor-preview [data-exercise-slot]:after,.lesson-editor-preview [data-memory-slot]:after,.lesson-editor-preview [data-algorithm-lab]:after{content:"结构已锁定";z-index:2;border:1px solid var(--line);color:var(--ink);background:var(--canvas);border-radius:4px;padding:5px 7px;font:800 12px/1 ui-monospace,monospace;position:absolute;top:10px;right:10px}.lesson-editor-preview [data-exercise-slot],.lesson-editor-preview [data-memory-slot],.lesson-editor-preview [data-algorithm-lab]{border:1px dashed var(--line);background:var(--canvas);border-radius:8px;min-height:82px;margin:18px 0}.lesson-editor-preview [data-exercise-slot]:before,.lesson-editor-preview [data-memory-slot]:before,.lesson-editor-preview [data-algorithm-lab]:before{content:"学生端互动组件将在这里加载";color:var(--ink);place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.lesson-editor-loading{min-height:560px;color:var(--ink);text-align:center;place-content:center;justify-items:center;display:grid}.lesson-editor-loading strong{color:var(--ink);margin-top:13px;font-size:14px}.lesson-editor-loading span{margin-top:6px;font-size:12px}.lesson-editor-inspector{border-left:1px solid var(--line);padding:18px 16px}.lesson-editor-inspector>header{border-bottom:1px solid var(--line);padding-bottom:14px}.lesson-editor-inspector>header p{color:var(--ink);letter-spacing:normal;margin:0 0 4px;font:800 12px/1 ui-monospace,monospace}.lesson-editor-inspector>header h2{color:var(--ink);margin:0;font-size:16px}.selected-block-summary{border:1px solid var(--line);background:var(--canvas);border-radius:8px;margin:14px 0;padding:12px}.selected-block-summary span,.selected-block-summary strong,.selected-block-summary small{display:block}.selected-block-summary span{color:var(--ink);font:800 12px/1 ui-monospace,monospace}.selected-block-summary strong{overflow-wrap:anywhere;color:var(--ink);margin:7px 0 5px;font-size:12px;line-height:1.5}.selected-block-summary small{color:var(--ink);font-size:12px;line-height:1.5}.lesson-editor-inspector>label{color:var(--ink);gap:6px;margin:13px 0;font-size:12px;font-weight:650;display:grid}.lesson-editor-inspector fieldset{border:0;margin:13px 0;padding:0}.lesson-editor-inspector legend{color:var(--ink);margin-bottom:6px;font-size:12px;font-weight:650}.inspector-segmented{border:1px solid var(--line);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.inspector-segmented button{border:0;border-right:1px solid var(--line);min-height:35px;color:var(--ink);background:var(--canvas);cursor:pointer;font-size:12px}.inspector-segmented button:last-child{border-right:0}.inspector-segmented button:hover{background:var(--hover)}.inspector-segmented button[aria-pressed=true]{color:var(--ink);background:var(--canvas)}.lesson-editor-inspector fieldset:disabled{opacity:.45}.lesson-inspector-empty{text-align:center;place-content:center;justify-items:center;min-height:310px;display:grid}.lesson-inspector-empty>span{width:43px;height:43px;color:var(--ink);background:var(--canvas);border-radius:6px;place-items:center;font-size:18px;display:grid}.lesson-inspector-empty strong{color:var(--ink);margin:13px 0 4px;font-size:12px}.lesson-inspector-empty p{max-width:190px;color:var(--ink);margin:0;font-size:12px;line-height:1.7}.lesson-editor-guardrail{border:1px solid var(--line);background:var(--canvas);border-radius:8px;margin-top:22px;padding:12px}.lesson-editor-guardrail strong{color:var(--ink);font-size:12px}.lesson-editor-guardrail p{color:var(--ink);margin:5px 0 0;font-size:12px;line-height:1.65}.lesson-destructive-button{border-color:var(--line);color:var(--ink);background:var(--canvas)}@media (width<=1180px){.lesson-editor-workbench{grid-template-columns:154px minmax(0,1fr)}.lesson-editor-inspector{border-top:1px solid var(--line);border-left:0;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 12px;display:grid}.lesson-editor-inspector>header,.lesson-editor-guardrail{grid-column:1/-1}.selected-block-summary{grid-column:span 2}.lesson-inspector-empty{grid-column:1/-1;min-height:180px}}@media (width<=820px){.teacher-sidebar nav{grid-template-columns:repeat(6,minmax(106px,1fr));min-width:690px}.lesson-editor-heading{align-items:flex-start}.lesson-editor-actions{justify-content:flex-start}.lesson-editor-workbench{display:block;overflow:visible}.lesson-editor-rail{border-right:0;border-bottom:1px solid var(--line)}.lesson-editor-rail>div{gap:5px;max-height:none;display:flex;overflow-x:auto}.lesson-editor-rail button{min-width:170px}.lesson-editor-page-shell{min-height:540px;max-height:none;padding:14px 10px 36px}.lesson-editor-preview{min-height:620px;padding:16px}.lesson-editor-inspector{display:block}.lesson-content .lesson-layout-wide{width:100%;margin-left:0}}@media (width<=600px){.lesson-editor-canvas-toolbar{flex-wrap:wrap;align-items:flex-start;height:auto;min-height:78px;padding:12px}.lesson-editor-canvas-toolbar>div{width:100%}.lesson-editor-canvas-toolbar label{margin-right:auto}.lesson-editor-canvas-toolbar select{min-width:136px}.lesson-content .lesson-layout-columns{column-count:1}}.lesson-main:has(.ppt-lesson){background:var(--canvas)}:is(.lesson-content:has(>.ppt-lesson),.lesson-editor-preview:has(>.ppt-lesson)){max-width:1000px}.lesson-content .ppt-lesson{isolation:isolate;color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;position:relative;overflow:hidden}.lesson-content .ppt-lesson:before{content:"";z-index:-1;background:var(--canvas);filter:none;pointer-events:none;border-radius:6px;width:28rem;height:28rem;position:absolute;top:36rem;right:-12rem}.ppt-lesson-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);align-items:stretch;min-height:510px;display:grid;position:relative}.ppt-hero-copy{z-index:1;align-self:center;padding:clamp(50px,7vw,86px) clamp(34px,6vw,72px)}.lesson-content .ppt-lesson .ppt-overline{color:var(--ink);letter-spacing:normal;text-transform:none;margin:0 0 15px;font:800 12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace}.lesson-content .ppt-lesson h1{max-width:660px;color:var(--ink);background:var(--canvas);letter-spacing:-.055em;-webkit-text-fill-color:currentColor;margin:0;font-size:clamp(48px,7vw,78px);font-weight:650;line-height:1.06}.ppt-chapter-index{color:var(--ink);gap:10px;margin-top:36px;font:700 13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;display:grid}.ppt-chapter-index span{border:1px solid var(--line);background:var(--canvas);border-radius:8px;width:fit-content;padding:7px 11px}.ppt-hero-image{min-width:0;margin:0;position:relative;overflow:hidden}.ppt-hero-image:after{content:"";background:var(--canvas);position:absolute;inset:0}.ppt-hero-image img{object-fit:cover;opacity:.72;filter:none;width:100%;height:100%;display:block}.lesson-content .ppt-lesson>.ppt-chapter{color:var(--ink);border:0;border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin:0;padding:0 0 30px}.lesson-content .ppt-lesson>.ppt-chapter:before{display:none}.lesson-content .ppt-lesson>.ppt-chapter:first-of-type{border-top:0}.ppt-chapter-cover{background:var(--canvas);border-bottom:1px solid var(--line);align-items:center;gap:22px;min-height:190px;margin:0 0 30px;padding:44px clamp(34px,6vw,70px);display:flex;overflow:hidden}.ppt-chapter-cover img{object-fit:contain;filter:none;width:72px;height:72px}.lesson-content .ppt-lesson .ppt-chapter-cover p{color:var(--ink);background:var(--canvas);letter-spacing:-.045em;-webkit-text-fill-color:currentColor;margin:0;font-size:clamp(31px,4.5vw,50px);font-weight:650;line-height:1.1}.ppt-reading-block{color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:8px;margin:0 clamp(22px,5vw,52px) 22px;padding:clamp(25px,4vw,39px)}.ppt-reading-block>:first-child{margin-top:0}.ppt-reading-block>:last-child{margin-bottom:0}.lesson-content .ppt-lesson h2,.lesson-content .ppt-lesson h3{max-width:none;color:var(--ink);letter-spacing:-.025em}.lesson-content .ppt-lesson h2{margin:0 0 18px;font-size:clamp(25px,3.2vw,36px);line-height:1.22}.lesson-content .ppt-lesson h3{margin:18px 0 8px;font-size:clamp(17px,2vw,21px);line-height:1.35}.lesson-content .ppt-lesson p,.lesson-content .ppt-lesson li,.lesson-content .ppt-lesson td,.lesson-content .ppt-lesson th{color:var(--ink);font-size:15px;line-height:1.82}.lesson-content .ppt-lesson p{margin:10px 0}.lesson-content .ppt-lesson strong{color:var(--ink)}.ppt-line{display:block}.ppt-split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(24px,4vw,44px);display:grid}.ppt-media{background:var(--canvas);border:1px solid var(--line);border-radius:8px;min-width:0;margin:0;padding:10px;overflow:hidden}.ppt-media-wide{margin-top:22px}.ppt-media img,.ppt-figure-grid>img,.ppt-figure-stack>img,.ppt-ai-question img{border-radius:8px;width:100%;height:auto;display:block}.ppt-media figcaption{color:var(--ink);letter-spacing:normal;text-transform:none;padding:3px 3px 10px;font:800 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.ppt-figure-grid{gap:16px;margin:22px 0;display:grid}.ppt-figure-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ppt-figure-grid.compact{align-items:center}.ppt-figure-grid>img{background:var(--canvas);border:1px solid var(--line);padding:10px}.ppt-figure-stack{gap:16px;display:grid}.ppt-figure-stack>img{background:var(--canvas);border:1px solid var(--line);padding:10px}.phone-captures img{object-fit:contain;background:var(--canvas);max-height:720px}.lesson-content .ppt-lesson blockquote{color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-left:0;border-radius:0 8px 8px 0;margin:22px 0;padding:22px 24px}.lesson-content .ppt-lesson blockquote p{color:var(--ink)}.ppt-definition-list,.ppt-step-list{gap:14px;margin-top:22px;display:grid}.ppt-definition-list{grid-template-columns:repeat(3,minmax(0,1fr))}.ppt-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ppt-definition-list>div,.ppt-step-list>div,.ppt-learning-path>div,.ppt-pro-con>div{background:var(--canvas);border:1px solid var(--line);border-radius:8px;min-width:0;padding:21px;position:relative}.ppt-definition-list>div{border-top:3px solid var(--line)}.ppt-definition-list>div:nth-child(2),.ppt-definition-list>div:nth-child(3){border-top-color:var(--line)}.ppt-step-list>div>span,.ppt-sequence{width:34px;height:34px;color:var(--ink);background:var(--canvas);box-shadow:none;border-radius:8px;place-items:center;font:900 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-grid}.ppt-sequence{margin-top:18px}.ppt-reading-block .ppt-sequence:first-child{margin-top:0}.ppt-table-wrap{border:1px solid var(--line);border-radius:8px;margin:22px 0;overflow-x:auto}.lesson-content .ppt-lesson table{border-collapse:collapse;background:var(--canvas);border:0;width:100%;margin:0}.lesson-content .ppt-lesson th{color:var(--ink);background:var(--canvas);font-weight:650}.lesson-content .ppt-lesson th,.lesson-content .ppt-lesson td{border:1px solid var(--line);min-width:118px;padding:13px 15px}.lesson-content .ppt-lesson tbody tr:nth-child(2n){background:var(--canvas)}.ppt-question-mark{color:var(--ink);letter-spacing:-.03em;font-size:clamp(28px,4vw,46px);font-weight:650}.ppt-ai-question .ppt-figure-grid>div{background:var(--canvas);border:1px solid var(--line);border-radius:8px;min-width:0;padding:24px;overflow:hidden}.ppt-ai-question img{object-fit:cover;object-position:top;max-height:500px}.ppt-dark-question{background:var(--canvas)}.ppt-pro-con,.ppt-learning-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:22px 0;display:grid}.ppt-pro-con>div:first-child,.ppt-pro-con>div:last-child{border-left:0}.ppt-learning-path>div:first-child,.ppt-learning-path>div:last-child{border-top:3px solid var(--line)}.ppt-code-compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0;display:grid}.ppt-code-compare>div{background:var(--canvas);border:1px solid var(--line);border-radius:8px;min-width:0;overflow:hidden}.ppt-code-compare>div>span{color:var(--ink);border-bottom:1px solid var(--line);letter-spacing:normal;padding:11px 15px;font:800 12px/1 ui-monospace,SFMono-Regular,Consolas,monospace;display:block}.lesson-content .ppt-lesson .ppt-code-compare pre{color:var(--ink);background:0 0;border:0;border-radius:0;margin:0;padding:18px;font-size:13px;line-height:1.75;overflow-x:auto}.lesson-content .ppt-lesson pre[data-python-runner],.lesson-content .ppt-lesson .python-runner{background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;margin:24px 0 0;overflow:hidden}.lesson-content .ppt-lesson pre[data-python-runner]{color:var(--ink);padding:50px 22px 22px}.lesson-content .ppt-lesson pre[data-python-runner]:before{color:var(--ink)}.ppt-lesson .runner-toolbar{color:var(--ink);border-color:var(--line)}.ppt-lesson .runner-toolbar i{background:var(--canvas);box-shadow:none;margin-right:31px}.ppt-lesson .runner-code-id{color:var(--ink)}.ppt-lesson .python-runner textarea{color:var(--ink);background:var(--canvas)}.ppt-lesson .runner-prediction{background:var(--canvas);border-color:var(--line)}.ppt-lesson .runner-prediction label,.ppt-lesson .runner-prediction label small{color:var(--ink)}.ppt-lesson .runner-prediction input{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-lesson .runner-prediction input:focus{border-color:var(--line);box-shadow:none}.ppt-lesson .runner-actions{border-color:var(--line)}.ppt-lesson .runner-actions button{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-lesson .runner-actions .primary-action{color:var(--ink);background:var(--canvas);border-color:#0000}.ppt-lesson .runner-output{background:var(--canvas);border-color:var(--line)}.ppt-lesson .runner-output>span{color:var(--ink)}.lesson-content .ppt-lesson>.ppt-exercise-bank{color:var(--ink);background:var(--canvas);border-top:1px solid var(--line);margin:0;padding:clamp(42px,6vw,70px) clamp(22px,5vw,52px) 54px}.lesson-content .ppt-lesson>.ppt-exercise-bank>h2{color:var(--ink);margin-bottom:10px;font-size:clamp(33px,5vw,52px)}.lesson-content .ppt-lesson>.ppt-exercise-bank>p{max-width:680px;color:var(--ink)}.lesson-content .ppt-exercise-bank .exercise-panel.task-card{background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;margin:30px 0}.ppt-exercise-bank .task-card-header{background:var(--canvas)}.ppt-exercise-bank .task-flag{color:var(--ink);background:var(--canvas)}.ppt-exercise-bank .task-heading-copy .eyebrow,.ppt-exercise-bank .task-count,.ppt-exercise-bank .task-count strong{color:var(--ink)}.ppt-exercise-bank .task-card .exercise-progress,.ppt-exercise-bank .task-card .exercise-progress span{background:var(--canvas)}.ppt-exercise-bank .task-card .question-meta span,.ppt-exercise-bank .task-card .question-meta .question-type-chip,.ppt-exercise-bank .task-card .question-meta .difficulty-chip{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .question-prompt{background:var(--canvas);border-left-color:var(--line)}.ppt-exercise-bank .question-prompt-label,.lesson-content .ppt-exercise-bank .question-prompt .question-stem{color:var(--ink)}.lesson-content .ppt-exercise-bank .question-prompt .question-stem code{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .answer-workspace{background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .answer-workspace-heading span,.ppt-exercise-bank .answer-workspace-heading small{color:var(--ink)}.ppt-exercise-bank .choice-list label{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .choice-list label:hover{background:var(--hover)}.ppt-exercise-bank .choice-list label.selected{color:var(--ink);background:var(--canvas);border-color:var(--line);box-shadow:none}.ppt-exercise-bank .choice-list label>span{color:var(--ink);background:var(--canvas)}.ppt-exercise-bank .choice-list label.selected>span{background:var(--canvas)}.ppt-exercise-bank .test-contract{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .test-contract>strong,.ppt-exercise-bank .test-contract .public-tests{color:var(--ink)}.ppt-exercise-bank .ai-support-dock,.ppt-exercise-bank .ai-support-dock.is-locked{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .ai-coach-mark{background:var(--canvas)}.ppt-exercise-bank .ai-support-dock.is-locked .ai-coach-mark{color:var(--ink);background:var(--canvas)}.ppt-exercise-bank .ai-support-copy>span,.ppt-exercise-bank .ai-support-copy strong,.ppt-exercise-bank .ai-support-copy p{color:var(--ink)}.ppt-exercise-bank .ai-locked-label{color:var(--ink);background:var(--canvas)}.ppt-exercise-bank .strategy-choice{background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .strategy-choice h3,.ppt-exercise-bank .strategy-card-grid strong,.ppt-exercise-bank .strategy-choice>div:first-child>span,.ppt-exercise-bank .strategy-card-grid span{color:var(--ink)}.ppt-exercise-bank .strategy-card-grid button{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .strategy-card-grid button i{background:var(--canvas)}.ppt-exercise-bank .strategy-card-grid small{color:var(--ink)}.ppt-exercise-bank .task-card>.exercise-actions{border-color:var(--line)}.ppt-exercise-bank .exercise-actions button{color:var(--ink);background:var(--canvas);border-color:var(--line)}.ppt-exercise-bank .exercise-actions .primary-action{color:var(--ink);background:var(--canvas);border-color:#0000}.lesson-editor-preview .ppt-lesson [data-editor-editable=true]:hover{outline-color:var(--focus);background-color:var(--hover)}.lesson-editor-preview .ppt-lesson [data-editor-editable=true]:focus,.lesson-editor-preview .ppt-lesson [data-editor-editable=true].is-editor-selected{outline-color:var(--focus);background-color:var(--canvas);box-shadow:none}.lesson-editor-preview .ppt-lesson-hero{grid-template-columns:1fr;min-height:0}.lesson-editor-preview .ppt-hero-copy{padding:42px 26px 34px}.lesson-content.lesson-editor-preview .ppt-lesson h1{font-size:42px;line-height:1.1}.lesson-editor-preview .ppt-hero-image{min-height:230px}.lesson-editor-preview .ppt-hero-image:after{background:var(--canvas)}.lesson-editor-preview .ppt-chapter-cover{gap:14px;min-height:142px;padding:32px 22px}.lesson-editor-preview .ppt-chapter-cover img{width:50px;height:50px}.lesson-editor-preview .ppt-reading-block{margin-left:11px;margin-right:11px;padding:22px 19px}.lesson-editor-preview .ppt-split,.lesson-editor-preview .ppt-definition-list,.lesson-editor-preview .ppt-step-list,.lesson-editor-preview .ppt-pro-con,.lesson-editor-preview .ppt-learning-path,.lesson-editor-preview .ppt-code-compare,.lesson-editor-preview .ppt-figure-grid.two{grid-template-columns:1fr}.lesson-editor-preview .ppt-lesson>.ppt-exercise-bank{padding-left:11px;padding-right:11px}@media (width<=820px){.lesson-content .ppt-lesson{border-radius:8px}.ppt-lesson-hero{grid-template-columns:1fr;min-height:620px}.ppt-hero-copy{padding-bottom:40px}.ppt-hero-image{min-height:240px}.ppt-hero-image:after{background:var(--canvas)}.ppt-chapter-cover{min-height:150px}.ppt-split,.ppt-definition-list,.ppt-step-list,.ppt-pro-con,.ppt-learning-path,.ppt-code-compare,.ppt-figure-grid.two{grid-template-columns:1fr}}@media (width<=600px){.lesson-main:has(.ppt-lesson){padding-left:8px;padding-right:8px}.lesson-content .ppt-lesson{border-radius:8px}.ppt-lesson-hero{min-height:570px}.ppt-hero-copy{padding:42px 24px 30px}.lesson-content .ppt-lesson h1{font-size:clamp(43px,16vw,60px)}.ppt-chapter-cover{gap:15px;padding:34px 24px}.ppt-chapter-cover img{width:54px;height:54px}.ppt-reading-block{margin-left:12px;margin-right:12px;padding:23px 20px}.lesson-content .ppt-lesson>.ppt-exercise-bank{padding-left:12px;padding-right:12px}.ppt-exercise-bank .task-card-header{grid-template-columns:62px minmax(0,1fr);gap:13px}.ppt-exercise-bank .task-flag{width:60px;min-height:60px}.ppt-exercise-bank .task-count{grid-column:2}}@media (prefers-reduced-motion:reduce){.lesson-content .ppt-lesson *,.lesson-content .ppt-lesson :before,.lesson-content .ppt-lesson :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lesson-main:has(.reference-lesson){background:var(--canvas)}:is(.lesson-content:has(>.reference-lesson),.lesson-editor-preview:has(>.reference-lesson)){max-width:1000px}.lesson-content .reference-lesson{isolation:isolate;color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;border-radius:8px;position:relative;overflow:hidden}.lesson-content .reference-lesson>.lesson-hero{color:var(--ink);background:var(--canvas);border:0;border-bottom:1px solid var(--line);box-shadow:none;border-radius:0;margin:0;padding:clamp(54px,7vw,86px) clamp(34px,6vw,72px)}.lesson-content .reference-lesson>.lesson-hero:after{color:var(--ink);font-size:180px;bottom:-36px;right:38px}.lesson-content .reference-lesson>.lesson-hero .eyebrow,.lesson-content .reference-lesson .section-kicker,.lesson-content .reference-lesson .ppt-overline{color:var(--ink);letter-spacing:normal;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.lesson-content .reference-lesson>.lesson-hero h1{max-width:780px;color:var(--ink);background:var(--canvas);letter-spacing:-.052em;-webkit-text-fill-color:currentColor;font-size:clamp(44px,6vw,72px);font-weight:650;line-height:1.07}.lesson-content .reference-lesson>.lesson-hero .lead{max-width:760px;color:var(--ink);font-size:17px;line-height:1.85}.lesson-content .reference-lesson>section:not(.lesson-summary):not(.lesson-exercise-bank){color:var(--ink);background:var(--canvas);border:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:8px;margin:0 clamp(22px,5vw,52px) 22px;padding:clamp(26px,4vw,40px)}.lesson-content .reference-lesson>section:not(.lesson-summary):not(.lesson-exercise-bank):first-of-type{margin-top:34px}.lesson-content .reference-lesson>section[data-concept-id]:before,.lesson-content .reference-lesson>.concept-section:before{background:var(--canvas);border-radius:0 4px 4px 0;width:4px;height:42px;top:38px;left:-1px}.lesson-content .reference-lesson h2,.lesson-content .reference-lesson h3{color:var(--ink)}.lesson-content .reference-lesson h2{max-width:none;font-size:clamp(25px,3.2vw,36px);line-height:1.25}.lesson-content .reference-lesson h3{line-height:1.4}.lesson-content .reference-lesson p,.lesson-content .reference-lesson li,.lesson-content .reference-lesson td,.lesson-content .reference-lesson th{color:var(--ink);font-size:15px;line-height:1.82}.lesson-content .reference-lesson strong{color:var(--ink)}.lesson-content .reference-lesson code{color:var(--ink);background:var(--canvas)}.lesson-content .reference-lesson pre code,.lesson-content .reference-lesson .python-runner code{color:inherit;background:0 0}.lesson-content .reference-lesson table{background:var(--canvas);border-color:var(--line)}.lesson-content .reference-lesson th{color:var(--ink);background:var(--canvas);border-color:var(--line)}.lesson-content .reference-lesson td{border-color:var(--line)}.lesson-content .reference-lesson blockquote,.lesson-content .reference-lesson .dispatch-note{color:var(--ink);background:var(--canvas);border-color:var(--line);border-left:0}.lesson-content .reference-lesson blockquote p{color:var(--ink)}.lesson-content .reference-lesson .pitfall-card{background:var(--canvas);border-color:var(--line);border-left-color:var(--line)}.lesson-content .reference-lesson :is(.learning-goals,.compare-card,.work-card,.practice-brief,.explore-card,.boundary-lab,.trace-table,.control-card,.incident-console,.indent-scene,.story-beat,.handoff-strip,.completion-stamp,.commissioning-checklist>div,.summary-route>div,.mission-route>div,.card-grid>article,.card-grid>div,.summary-grid>div){color:var(--ink);background:var(--canvas);border-color:var(--line);box-shadow:none}.lesson-content .reference-lesson :is(.learning-goals,.compare-card,.work-card,.practice-brief,.explore-card,.boundary-lab,.trace-table,.control-card,.incident-console,.indent-scene,.story-beat,.handoff-strip,.completion-stamp,.commissioning-checklist>div,.summary-route>div,.mission-route>div,.card-grid>article,.card-grid>div,.summary-grid>div) :is(p,small,span),.lesson-content .reference-lesson :is(.learning-goals,.compare-card,.work-card,.practice-brief,.explore-card,.boundary-lab,.trace-table,.control-card,.incident-console,.indent-scene,.story-beat,.handoff-strip,.completion-stamp,.commissioning-checklist>div,.summary-route>div,.mission-route>div,.card-grid>article,.card-grid>div,.summary-grid>div) strong{color:var(--ink)}.lesson-content .reference-lesson .learning-goals{border-color:var(--line);border-left-color:var(--line);margin-top:30px}.lesson-content .reference-lesson .incident-ribbon{color:var(--ink);background:var(--canvas);border-left-color:var(--line)}.lesson-content .reference-lesson .mission-route:before,.lesson-content .reference-lesson .knowledge-signal:before{background:var(--canvas)}.lesson-content .reference-lesson .concept-figure{background:var(--canvas);border-color:var(--line)}.lesson-content .reference-lesson>.lesson-summary{color:var(--ink);background:var(--canvas);border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;margin:30px 0 0;padding:clamp(36px,5vw,56px) clamp(28px,5vw,58px)}.lesson-content .reference-lesson>.lesson-summary p,.lesson-content .reference-lesson>.lesson-summary li{color:var(--ink)}.lesson-content .reference-lesson>.lesson-exercise-bank,.lesson-content .ppt-lesson>.lesson-exercise-bank{color:var(--ink);background:var(--canvas);border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;margin:0;padding:clamp(42px,6vw,70px) clamp(22px,5vw,52px) 54px}.lesson-exercise-bank .ppt-exercise-header{margin-bottom:30px}.lesson-content .lesson-exercise-bank .ppt-exercise-header h2{color:var(--ink);margin:0 0 12px;font-size:clamp(32px,5vw,50px)}.lesson-content .lesson-exercise-bank .ppt-exercise-header>p:last-child{max-width:700px;color:var(--ink)}.ppt-lesson :is(.phone-captures,.product-captures,.ppt-ai-question) img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:none;margin-inline:auto}.ppt-lesson .ppt-figure-grid{align-items:start}.ppt-lesson .ppt-figure-grid>img{object-fit:contain;box-shadow:none;border:0;align-self:start;padding:0}.ppt-lesson .ppt-figure-stack>img{object-fit:contain;box-shadow:none;border:0;padding:0}.lesson-content .reference-lesson .ppt-source-gallery{gap:18px;margin:26px 0;display:grid}.lesson-content .reference-lesson .ppt-source-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-content .reference-lesson .ppt-source-gallery.three{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-content .reference-lesson .ppt-source-figure{background:var(--canvas);border:1px solid var(--line);border-radius:8px;min-width:0;margin:24px 0 0;padding:12px;overflow:hidden}.lesson-content .reference-lesson .ppt-source-gallery .ppt-source-figure{height:100%;margin:0}.lesson-content .reference-lesson .ppt-source-figure img{object-fit:contain;background:var(--canvas);border-radius:8px;width:100%;height:auto;display:block}.lesson-content .reference-lesson .ppt-source-figure.compact img,.lesson-content .reference-lesson .ppt-source-gallery.compact img{width:auto;max-width:100%;max-height:520px;margin-inline:auto}.lesson-content .reference-lesson .ppt-source-figure figcaption{color:var(--ink);padding:12px 4px 2px;font-size:13px;line-height:1.65}.lesson-content .reference-lesson .ppt-source-figure figcaption>span{color:var(--ink);letter-spacing:normal;margin-right:8px;font:800 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;display:inline-block}:is(:root[data-course-theme=light] .lesson-main:has(.ppt-lesson),:root[data-course-theme=light] .lesson-main:has(.reference-lesson)){background:var(--canvas)}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson){color:var(--ink);background:var(--canvas);border-color:var(--line);box-shadow:none}:root[data-course-theme=light] .lesson-content .ppt-lesson .ppt-lesson-hero,:root[data-course-theme=light] .lesson-content .reference-lesson>.lesson-hero{background:var(--canvas);border-color:var(--line)}:root[data-course-theme=light] .lesson-content .ppt-lesson h1,:root[data-course-theme=light] .lesson-content .reference-lesson>.lesson-hero h1{background-image:none}:root[data-course-theme=light] .lesson-content .ppt-lesson .ppt-chapter-index,:root[data-course-theme=light] .lesson-content .reference-lesson>.lesson-hero .lead{color:var(--ink)}:root[data-course-theme=light] .ppt-hero-image:after{background:var(--canvas)}:root[data-course-theme=light] .lesson-content .ppt-lesson :is(h2,h3),:root[data-course-theme=light] .lesson-content .reference-lesson :is(h2,h3),:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) :is(p,li,td,th),:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) strong{color:var(--ink)}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) code{color:var(--ink);background:var(--canvas)}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) pre code,:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) .python-runner code{color:inherit;background:0 0}:root[data-course-theme=light] .ppt-reading-block,:root[data-course-theme=light] .lesson-content .reference-lesson>section:not(.lesson-summary):not(.lesson-exercise-bank){background:var(--canvas);border-color:var(--line);box-shadow:none}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) blockquote{color:var(--ink);background:var(--canvas);border-color:var(--line);border-left-color:var(--line)}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) blockquote p{color:var(--ink)}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) :is(.ppt-definition-list>div,.ppt-step-list>div,.ppt-learning-path>div,.ppt-pro-con>div,.ppt-ai-question .ppt-figure-grid>div,.learning-goals,.compare-card,.work-card,.practice-brief,.explore-card,.boundary-lab,.trace-table,.control-card,.incident-console,.indent-scene,.story-beat,.handoff-strip,.completion-stamp,.commissioning-checklist>div,.summary-route>div,.mission-route>div,.card-grid>article,.card-grid>div,.summary-grid>div){color:var(--ink);background:var(--canvas);border-color:var(--line)}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) :is(.learning-goals,.compare-card,.work-card,.practice-brief,.explore-card,.boundary-lab,.trace-table,.control-card,.incident-console,.indent-scene,.story-beat,.handoff-strip,.completion-stamp,.commissioning-checklist>div,.summary-route>div,.mission-route>div,.card-grid>article,.card-grid>div,.summary-grid>div) :is(p,small,span),:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) :is(.learning-goals,.compare-card,.work-card,.practice-brief,.explore-card,.boundary-lab,.trace-table,.control-card,.incident-console,.indent-scene,.story-beat,.handoff-strip,.completion-stamp,.commissioning-checklist>div,.summary-route>div,.mission-route>div,.card-grid>article,.card-grid>div,.summary-grid>div) strong{color:var(--ink)}:root[data-course-theme=light] .ppt-media,:root[data-course-theme=light] .ppt-figure-grid>img,:root[data-course-theme=light] .ppt-figure-stack>img{background:var(--canvas)}:root[data-course-theme=light] .lesson-content .reference-lesson .ppt-source-figure{background:var(--canvas);border-color:var(--line);box-shadow:none}:root[data-course-theme=light] .lesson-content .reference-lesson .ppt-source-figure figcaption,:root[data-course-theme=light] .lesson-content .reference-lesson .ppt-source-figure figcaption>span{color:var(--ink)}:root[data-course-theme=light] .lesson-content .ppt-lesson table,:root[data-course-theme=light] .lesson-content .reference-lesson table{background:var(--canvas)}:root[data-course-theme=light] .lesson-content .ppt-lesson th,:root[data-course-theme=light] .lesson-content .reference-lesson th{color:var(--ink);background:var(--canvas)}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson) tbody tr:nth-child(2n){background:var(--canvas)}:root[data-course-theme=light] .lesson-content .reference-lesson>.lesson-summary{background:var(--canvas);border-color:var(--line)}:root[data-course-theme=light] .lesson-content .reference-lesson>.lesson-summary :is(p,li){color:var(--ink)}:root[data-course-theme=light] .lesson-content :is(.ppt-lesson,.reference-lesson)>.ppt-exercise-bank{color:var(--ink);background:var(--canvas);border-color:var(--line)}:root[data-course-theme=light] .lesson-content .lesson-exercise-bank .ppt-exercise-header h2,:root[data-course-theme=light] .lesson-content .lesson-exercise-bank .ppt-exercise-header>p:last-child{color:var(--ink)}:root[data-course-theme=light] .ppt-exercise-bank .exercise-panel.task-card{background:var(--canvas);border-color:var(--line);box-shadow:none}:root[data-course-theme=light] .ppt-exercise-bank .task-card-header{background:var(--canvas)}:root[data-course-theme=light] .ppt-exercise-bank .task-heading-copy :is(.eyebrow,h2),:root[data-course-theme=light] .ppt-exercise-bank .task-count,:root[data-course-theme=light] .ppt-exercise-bank .answer-workspace-heading span,:root[data-course-theme=light] .ppt-exercise-bank .ai-support-copy strong,:root[data-course-theme=light] .ppt-exercise-bank .task-count strong,:root[data-course-theme=light] .ppt-exercise-bank .question-prompt-label,:root[data-course-theme=light] .ppt-exercise-bank .ai-support-copy>span{color:var(--ink)}:root[data-course-theme=light] .ppt-exercise-bank .question-prompt,:root[data-course-theme=light] .ppt-exercise-bank .answer-workspace,:root[data-course-theme=light] .ppt-exercise-bank .ai-support-dock,:root[data-course-theme=light] .ppt-exercise-bank .strategy-choice{background:var(--canvas);border-color:var(--line)}:root[data-course-theme=light] .lesson-content .ppt-exercise-bank .question-prompt .question-stem,:root[data-course-theme=light] .ppt-exercise-bank .answer-workspace-heading small,:root[data-course-theme=light] .ppt-exercise-bank .ai-support-copy p{color:var(--ink)}:root[data-course-theme=light] .ppt-exercise-bank .choice-list label{color:var(--ink);background:var(--canvas);border-color:var(--line)}:root[data-course-theme=light] .ppt-exercise-bank .choice-list label:hover{background:var(--hover)}:root[data-course-theme=light] .ppt-exercise-bank .choice-list label.selected{color:var(--ink);background:var(--canvas);border-color:var(--line)}:root[data-course-theme=light] .ppt-exercise-bank .choice-list label>span{color:var(--ink);background:var(--canvas)}@media (width<=940px){.lesson-content .reference-lesson .ppt-source-gallery.three{grid-template-columns:1fr}}@media (width<=720px){.lesson-content .reference-lesson{border-radius:8px}.lesson-content .reference-lesson>.lesson-hero{padding:44px 24px}.lesson-content .reference-lesson>section:not(.lesson-summary):not(.lesson-exercise-bank){margin-left:12px;margin-right:12px;padding:24px 20px}.lesson-content .reference-lesson>.lesson-exercise-bank{padding-left:12px;padding-right:12px}.lesson-content .reference-lesson .ppt-source-gallery.two{grid-template-columns:1fr}}.student-page-links{border-bottom:1px solid var(--line);gap:6px;padding:0 0 18px;display:grid}.student-page-links a{min-height:46px;color:var(--muted);border-radius:8px;align-items:center;gap:11px;padding:10px 13px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.student-page-links svg{fill:none;stroke:currentColor;stroke-width:1.6px;flex-shrink:0;width:19px;height:19px}.student-page-links a>span{margin-left:auto}.student-page-links a:hover{background:var(--hover)}.student-page-links a[aria-current=page]{color:var(--teal-dark);background:var(--canvas);box-shadow:none}.student-page-links a:focus-visible,.practice-page :is(button,a,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}.student-page-practice .workspace{grid-template-columns:268px minmax(0,1fr)}.student-page-practice .lesson-main{background:var(--canvas);padding:32px clamp(20px,3vw,48px) 60px}[data-student-page][hidden],.practice-question-pane[hidden]{display:none!important}.lesson-practice-link{border:1px solid var(--line);max-width:720px;color:var(--teal-dark);background:var(--canvas);text-align:center;border-radius:8px;margin:32px auto;padding:22px;font-weight:700;text-decoration:none;display:block}.practice-page{width:100%;max-width:1460px;color:var(--ink);margin:0 auto}.practice-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.practice-heading p{color:var(--ink);letter-spacing:normal;margin:0 0 8px;font-size:12px;font-weight:700}.practice-heading h1{letter-spacing:-.035em;margin:0 0 10px;scroll-margin-top:88px;font-size:clamp(23px,2.4vw,32px);font-weight:650;line-height:1.4}.practice-heading span{color:var(--ink);font-size:14px;line-height:1.8}.practice-page button{cursor:pointer;min-height:44px}.practice-page button:disabled{cursor:not-allowed;opacity:.55}.practice-heading>button,.practice-paging button{white-space:nowrap;background:var(--canvas);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 16px}.practice-load{border:1px dashed var(--line);background:var(--canvas);text-align:center;border-radius:8px;padding:48px 24px}.practice-question-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:20px 0;display:flex}.practice-question-nav>div:first-child{flex-direction:column;gap:5px;display:flex}.practice-question-nav strong{font-size:15px}.practice-question-nav>div>span{color:var(--ink);font-size:12px}.practice-question-links{flex-wrap:wrap;gap:7px;display:flex}.practice-question-links button{min-width:44px;color:var(--ink);background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-weight:650}.practice-question-links button[aria-current=step]{color:var(--ink);background:var(--canvas);border-color:var(--line)}.practice-question-links button.is-complete:not([aria-current]){color:var(--ink);border-color:var(--line);background:var(--canvas)}.practice-question-links button span{margin-left:4px}.question-with-coach{align-items:start;gap:24px;min-width:0;display:grid}.question-with-coach.has-coach{grid-template-columns:minmax(0,1fr) 340px}.question-with-coach>*{min-width:0}.practice-page .task-card{background:var(--canvas);border:1px solid var(--line);box-shadow:none;color:var(--ink);border-radius:8px;margin:0;padding-bottom:8px}.practice-page .task-card-header{background:0 0;padding:22px 24px}.practice-page .task-flag,.practice-page .task-count{display:none}.practice-page .task-heading-copy h2{color:var(--ink);font-size:18px}.practice-page .task-heading-copy .eyebrow{color:var(--ink);font-size:12px}.practice-page .exercise-progress{height:3px}.practice-page .task-card>:is(.question-meta,.question-prompt,.answer-workspace,.hint-card,.attempt-result,.exercise-actions,.exercise-error,.cw-boundary,.cw-save-status){margin-left:24px;margin-right:24px}.practice-page .question-prompt{background:0 0;border:0;padding:14px 0}.practice-page .question-stem{color:var(--ink);font-size:18px;line-height:1.9}.practice-page .question-prompt-label{color:var(--ink)}.practice-page .answer-workspace{background:var(--canvas);border-color:var(--line);border-radius:8px;padding:18px}.practice-page .answer-workspace-heading span,.practice-page .answer-workspace-heading small{color:var(--ink)}.practice-page .choice-list label{background:var(--canvas);color:var(--ink);border-color:var(--line);border-radius:8px;min-height:52px}.practice-page .choice-list label.selected{background:var(--canvas);border-color:var(--line);color:var(--ink);box-shadow:none}.practice-page .choice-list strong{font-size:14px}.practice-page .exercise-actions{border-top:1px solid var(--line);flex-wrap:wrap;margin-top:24px;padding-top:18px}.practice-page .exercise-actions .primary-action{margin-left:auto}.practice-page .attempt-result{border-radius:8px;padding:16px}.practice-page .attempt-result p{font-size:13px;line-height:1.7}.practice-page .attempt-checks{padding-left:16px;font-size:13px}.practice-page .draft-changed{color:var(--ink);font-weight:700}.question-coach{background:var(--canvas);border:1px solid var(--line);border-radius:8px;overflow:hidden}.question-coach-heading{align-items:center;gap:12px;padding:22px 20px 18px;display:flex}.question-coach-heading>span{background:var(--canvas);width:36px;height:36px;color:var(--ink);border-radius:8px;place-content:center;font-size:12px;font-weight:650;display:grid}.question-coach-heading h2{color:var(--ink);margin:0;font-size:17px}.question-coach-heading p{color:var(--ink);margin:5px 0 0;font-size:12px}.work-evidence{background:var(--canvas);border:1px solid var(--line);border-radius:8px;margin:0 16px;padding:14px;font-size:12px}.work-evidence-title{flex-wrap:wrap;justify-content:space-between;gap:6px;display:flex}.work-evidence-title strong{color:var(--ink);font-size:12px}.work-evidence-title>span{color:var(--ink);overflow-wrap:anywhere;font-size:12px}.work-evidence dl{gap:10px;margin:12px 0;display:grid}.work-evidence dl>div{grid-template-columns:64px minmax(0,1fr);gap:12px;line-height:1.7;display:grid}.work-evidence dt{color:var(--ink)}.work-evidence dd{text-align:right;overflow-wrap:anywhere;color:var(--ink);margin:0}.work-evidence details{border-top:1px solid var(--line);padding-top:4px}.work-evidence summary{min-height:40px;color:var(--ink);cursor:pointer;padding:11px 0}.work-evidence pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;color:var(--ink);font-size:12px;line-height:1.7;overflow:auto}.work-evidence small{color:var(--ink);line-height:1.8;display:block}.coach-entry,.coach-strategies{padding:22px 20px}.coach-entry h3,.coach-strategies h3{color:var(--ink);margin:0 0 8px;font-size:15px}.coach-entry p,.coach-strategies p{color:var(--ink);margin:0 0 18px;font-size:13px;line-height:1.85}.coach-entry .primary-action{background:var(--canvas);width:100%;min-height:44px;color:var(--ink);border:1px solid var(--line);border-radius:8px;font-size:13px;font-weight:650}.coach-entry .primary-action:disabled{background:var(--canvas);color:var(--ink);border-color:var(--line);opacity:1}.coach-strategies button{border:1px solid var(--line);background:var(--canvas);text-align:left;width:100%;color:var(--ink);border-radius:8px;align-items:center;gap:12px;margin-top:10px;padding:14px 12px;display:flex}.coach-strategies button:hover{background:var(--hover)}.coach-strategies button div{flex:1;min-width:0}.coach-strategies strong{color:var(--ink);margin-bottom:5px;font-size:13px;display:block}.coach-strategies small{color:var(--ink);font-size:12px;line-height:1.7;display:block}.question-coach .tutor-embedded{width:100%;max-width:none;height:auto;min-height:0;box-shadow:none;visibility:visible;pointer-events:auto;color:var(--ink);background:0 0;border:0;gap:14px;padding:16px;display:flex;position:static;overflow:visible;transform:none}.tutor-embedded .tutor-conversation{max-height:560px}.tutor-embedded .tutor-policy-note{display:none}.tutor-embedded .active-strategy-card{border-color:var(--line);background:var(--canvas);margin:0}.tutor-embedded .active-strategy-card>:is(p,h3,span){display:none}.tutor-embedded .return-to-task{border:0;margin:0;padding:0}.tutor-embedded .return-to-task p{margin:5px 0 10px}.tutor-embedded .tutor-compose{margin:0}.tutor-embedded :is(.tutor-compose textarea,.tutor-bubble){color:var(--ink);background:var(--canvas);border-color:var(--line)}.tutor-embedded .tutor-compose textarea{min-height:92px}.tutor-embedded .tutor-compose>span,.tutor-embedded .tutor-conversation-shell>p{color:var(--ink)}.tutor-embedded .tutor-bubble p{white-space:pre-wrap;overflow-wrap:anywhere}.coach-pending{color:var(--ink);background:var(--canvas);border-radius:8px;margin:0;padding:18px;font-size:13px;line-height:1.8}.coach-collapse{width:100%;color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:8px;font-size:12px}.practice-paging{justify-content:space-between;align-items:center;gap:16px;margin-top:24px;display:flex}.practice-paging>span{color:var(--ink);overflow-wrap:anywhere;font-size:12px}@media (width<=1300px){.student-page-practice .workspace{grid-template-columns:258px minmax(0,1fr)}.question-with-coach.has-coach{grid-template-columns:minmax(0,1fr)}}@media (width<=850px){.student-page-practice .workspace{display:block}.student-page-practice .lesson-main{padding:24px 20px 60px}.practice-heading{align-items:flex-start;gap:14px}.practice-heading>button{padding:8px 10px}.practice-heading span{font-size:13px}.practice-question-nav{align-items:flex-start}}@media (width<=540px){.student-page-practice .lesson-main{padding:20px 12px 48px}.practice-heading{flex-wrap:wrap}.practice-page .task-card>:is(.question-meta,.question-prompt,.answer-workspace,.hint-card,.attempt-result,.exercise-actions,.exercise-error){margin-left:16px;margin-right:16px}.practice-page .task-card-header{padding:18px 16px}.practice-page .question-stem{font-size:16px}.practice-page .answer-workspace{padding:12px}.practice-page .exercise-actions .primary-action{flex:1;margin-left:0}.practice-paging{gap:8px}.practice-paging>span{text-align:center}}.practice-page .task-card-header{display:block}.practice-page .task-heading-copy{width:auto;max-width:none}.practice-page .task-heading-copy h2{max-width:none}.practice-page .student-classroom{background:var(--canvas);border:1px solid var(--line);max-width:none;color:var(--ink);border-radius:8px;margin:0 0 16px;padding:18px 20px}.practice-page .student-classroom :is(h2,p,summary){color:inherit}.practice-page .student-classroom h2{font-size:14px}.practice-page .student-classroom>p{color:var(--ink);font-size:12px}:root[data-course-theme=light] .student-page-practice .lesson-main{background:var(--canvas)}@media (width>=1180px) and (width<=1300px){.question-with-coach.has-coach{grid-template-columns:minmax(0,1fr) 310px;gap:18px}}.practice-page .task-card-header{min-height:0;padding-top:18px;padding-bottom:18px}.practice-page .task-card>.question-meta{margin-top:18px}.practice-page .question-prompt{margin-top:10px}.practice-page .answer-workspace{margin-top:14px}.practice-page .runner-toolbar .cw-actions button,.question-coach .tutor-embedded>button,.question-coach .tutor-error button,.practice-load button{border:1px solid var(--line);background:var(--canvas);color:var(--ink);border-radius:8px;padding:9px 12px;font-size:12px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#37352f;--muted:#65635d;--line:#e5e7eb;--paper:#fff;--canvas:#f7f6f3;--hover:#efedea;--active:#e3e1db;--accent:#2eaadc;--link:#206780;--info-soft:#edf5f9;--success:#0f7b6c;--success-soft:#edf6f1;--warning:#8a6500;--warning-soft:#faf5e5;--danger:#b73c3c;--danger-soft:#fbeeee;--focus:#2eaadc66;--shadow-sm:0 1px 2px #37352f0a;--shadow-md:0 2px 8px #37352f14;--overlay:#19181659;--z-floating-tool:30;--z-navigation:25;--z-tutor-backdrop:44;--z-tutor:45;--z-notebook:65;--z-dialog:70;--student-header-height:64px;--graph-blue:#2865a8;--graph-blue-soft:#edf5ff;--graph-green:#237b69;--graph-green-soft:#eaf6f0;--graph-violet:#6d58aa;--graph-violet-soft:#f2effb;--graph-amber:#8d6030;--graph-amber-soft:#fcf3e8;--motion-map-focus:.56s;--motion-map-fade:.18s;--ease-map-focus:cubic-bezier(.22, .8, .24, 1);--idle-paper:#fff;--idle-ink:#202124;--idle-chrome:#f0f0f0;--idle-gutter:#f7f7f7;--idle-keyword:#a33b00;--idle-string:#006b27;--idle-builtin:#79269a;--idle-comment:#62676f;--idle-output:#1748a0;--idle-current:#fff0b8;--scrollbar-thumb:#c6c4bd;--scrollbar-thumb-hover:#aaa79f;--scrollbar-track:var(--canvas);--night:var(--ink);--teal:var(--link);--teal-dark:var(--link);--teal-soft:var(--info-soft);--orange:var(--warning);--coral:var(--danger);--coral-soft:var(--danger-soft);--violet:var(--link);--violet-soft:var(--info-soft);--ppt-bg:var(--paper);--ppt-bg-2:var(--canvas);--ppt-surface:var(--paper);--ppt-surface-strong:var(--canvas);--ppt-border:var(--line);--ppt-text:var(--ink);--ppt-muted:var(--muted);--ppt-indigo:var(--link);--ppt-violet:var(--link);--ppt-pink:var(--danger);--ppt-cyan:var(--link);--ppt-amber:var(--warning);--ppt-emerald:var(--success);--practice-paper:var(--paper);--practice-canvas:var(--canvas);--practice-ink:var(--ink);--practice-muted:var(--muted);--practice-line:var(--line);--practice-blue:var(--link);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}body{min-width:0;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:14px;font-weight:500;line-height:1.5;transition:background-color .15s,color .15s,opacity .15s}button:hover:not(:disabled),summary:hover{background-color:var(--hover)}button:active:not(:disabled),summary:active{background-color:var(--active)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[contenteditable]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input:not([type=checkbox]):not([type=radio]),textarea,select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:6px;transition:background-color .15s,color .15s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--link)}[aria-invalid=true]{border-color:var(--danger)}code,pre,.code-editor{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}::selection{color:var(--ink);background:var(--active)}.resize-none{resize:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{border:2px solid var(--scrollbar-track);background:var(--scrollbar-thumb);border-radius:6px;min-height:32px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background:var(--teal-dark)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){html{scrollbar-color:auto}::-webkit-scrollbar-thumb{background:buttontext;border-color:canvas}::-webkit-scrollbar-track{background:canvas}}.python-runner.is-idle{background:var(--idle-paper);color:var(--idle-ink);border:1px solid var(--line);border-radius:6px;margin:20px 0;overflow:hidden}.python-runner.is-idle .runner-toolbar{background:var(--idle-chrome);min-height:36px;color:var(--idle-comment);border-bottom:1px solid var(--line);padding:8px 14px;font-size:12px}.idle-editor{background:var(--idle-paper);min-width:0;display:flex}.python-runner.is-idle .idle-gutter{border:0;border-right:1px solid var(--line);text-align:right;width:44px;color:var(--idle-comment);background:var(--idle-gutter);-webkit-user-select:none;user-select:none;border-radius:0;flex:0 0 44px;margin:0;padding:14px 9px;font:13px/23px ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.idle-editor-input{flex:1;min-width:0;position:relative}.python-runner.is-idle .idle-highlight,.python-runner.is-idle .idle-editor textarea{letter-spacing:normal;tab-size:4;white-space:pre;overflow-wrap:normal;border:0;border-radius:0;width:100%;height:100%;min-height:0;margin:0;padding:14px;font:14px/23px ui-monospace,SFMono-Regular,Consolas,monospace;position:absolute;inset:0}.python-runner.is-idle .idle-highlight{pointer-events:none;color:var(--idle-ink);background:var(--idle-paper);overflow:hidden}.python-runner.is-idle .idle-editor textarea{color:#0000;caret-color:var(--idle-ink);resize:none;background:0 0;overflow:auto}.python-runner.is-idle .idle-editor textarea:focus-visible{outline-offset:-2px}.py-keyword{color:var(--idle-keyword)}.py-string{color:var(--idle-string)}.py-builtin{color:var(--idle-builtin)}.py-comment{color:var(--idle-comment)}.py-number{color:var(--idle-ink)}.python-runner.is-idle .runner-actions{border-top:1px solid var(--line);background:var(--idle-chrome);flex-wrap:wrap;gap:8px;padding:9px 12px;display:flex}.python-runner.is-idle .runner-actions button{background:var(--idle-paper);min-height:36px;color:var(--idle-ink);border-radius:4px;padding:5px 12px;font-size:13px}.python-runner.is-idle .runner-actions button:hover:not(:disabled){background:var(--hover)}.python-runner.is-idle .runner-actions button:active:not(:disabled){background:var(--active)}.python-runner.is-idle .runner-actions .primary-action{min-width:110px;color:var(--idle-output);font-weight:650}.python-runner.is-idle .cw-save-status{color:var(--idle-comment);margin:0;padding:5px 12px;font-size:12px}.idle-tools{border-top:1px solid var(--line);font-size:12px}.idle-tools>summary{cursor:pointer;color:var(--idle-comment);padding:7px 14px}.idle-tools>div{padding:4px 14px 12px}.idle-tools label{gap:5px;display:grid}.idle-tools small{color:var(--idle-comment)}.python-runner.is-idle .idle-tools textarea{border:1px solid var(--line);background:var(--idle-paper);width:100%;height:92px;min-height:92px;color:var(--idle-ink);resize:none;padding:8px;font:13px/1.5 ui-monospace,monospace;position:static}.idle-file-actions{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.idle-file-actions button{min-height:34px;font-size:12px}.python-runner.is-idle .idle-shell{background:var(--idle-paper);border-top:1px solid var(--line);min-height:92px;padding:10px 14px}.python-runner.is-idle .idle-shell>span{color:var(--idle-comment);font:12px/1.5 ui-monospace,monospace}.python-runner.is-idle .idle-shell pre{color:var(--idle-output);white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;border:0;margin:6px 0 0;padding:0;font:14px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.idle-prompt{color:var(--idle-builtin)}.idle-error,.trace-stderr{color:var(--danger)}.python-trace-backdrop{z-index:var(--z-dialog);background:var(--overlay);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.python-trace-dialog{width:min(1320px,100%);min-width:0;height:min(820px,100dvh - 48px);max-height:calc(100dvh - 48px);color:var(--ink);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.trace-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 16px;display:flex}.trace-header h2{margin:0;font-size:24px;line-height:1.4}.trace-header p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.65}.trace-header>button{flex-shrink:0;min-height:38px}.trace-header,.trace-controls{flex-shrink:0}.trace-controls{border-block:1px solid var(--line);background:var(--canvas);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 24px;display:flex}.trace-controls>div{gap:6px;display:flex}.trace-controls button{min-height:38px}.trace-controls label{align-items:center;gap:8px;margin-left:8px;font-size:13px;display:flex}.trace-controls select{min-height:36px;padding:4px 8px}.trace-controls output{text-align:right;min-width:75px;margin-left:auto;font:14px/1.5 ui-monospace,monospace}.trace-body{scrollbar-gutter:stable;flex:1;min-height:0;padding:16px 24px 22px;overflow:auto}.trace-state{text-align:center;place-content:center;justify-items:center;gap:8px;min-height:360px;display:grid}.trace-state h3,.trace-state p{margin:0}.trace-state p{color:var(--muted);font-size:14px}.trace-reading-hint{color:var(--muted);margin:0 0 16px;font-size:12px;line-height:1.65}.trace-workspace{grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr) minmax(0,1fr);gap:16px;display:grid}.trace-workspace>section,.trace-bottom>section{border:1px solid var(--line);border-radius:6px;min-width:0;overflow:hidden}.trace-workspace h3,.trace-bottom h3{margin:0;font-size:15px;font-weight:600}.trace-code-panel>h3,.trace-output>h3{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:13px 14px;display:flex}.trace-code-panel h3>span,.trace-output h3>span{color:var(--muted);font-size:11px;font-weight:400}.trace-code-scroll{background:var(--idle-paper);max-height:390px;color:var(--idle-ink);padding:14px 0;overflow:auto}.trace-code-scroll pre{min-width:max-content;margin:0;padding:0;font:13px/25px ui-monospace,SFMono-Regular,Consolas,monospace}.trace-code-line{white-space:pre;height:25px;padding-right:14px;display:block}.trace-code-line.is-current{background:var(--idle-current)}.trace-line-number{text-align:right;width:48px;color:var(--idle-comment);-webkit-user-select:none;user-select:none;padding-right:10px;display:inline-block}.trace-code-line code{font:inherit}.trace-step-panel{padding:14px}.trace-step-panel h4{overflow-wrap:anywhere;margin:18px 0 12px;font-size:18px;line-height:1.5}.trace-step-panel>pre{color:var(--idle-ink);background:var(--idle-gutter);border-radius:4px;margin:0 0 14px;padding:10px;font-size:13px;overflow:auto}.trace-step-panel p{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.trace-step-panel .trace-message{color:var(--danger)}.trace-step-panel h5{color:var(--muted);margin:18px 0 10px;font-size:12px;font-weight:500}.trace-changes{gap:10px;max-height:215px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.trace-changes li{gap:3px;display:grid}.trace-changes strong{font-size:12px;font-weight:600}.trace-changes code{color:var(--link);overflow-wrap:anywhere;font-size:12px}.trace-workspace>.trace-variables{max-height:450px;padding:14px;overflow:auto}.trace-section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.trace-section-heading button{min-height:34px;padding:4px 8px;font-size:12px}.trace-scope h4{color:var(--muted);margin:15px 0 5px;font-size:12px;font-weight:500}.trace-scope dl{margin:0}.trace-scope dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:12px 0;display:flex}.trace-scope dt{overflow-wrap:anywhere;min-width:55px;font:600 13px/1.6 ui-monospace,monospace}.trace-scope small{color:var(--muted);font:11px/1.6 ui-monospace,monospace;display:block}.trace-scope dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px}.trace-scope p,.trace-help{color:var(--muted);margin:10px 0;font-size:12px;line-height:1.7}.trace-object{border-bottom:1px solid var(--line);gap:5px;padding:14px 0;display:grid}.trace-object strong{overflow-wrap:anywhere;font:600 13px/1.6 ui-monospace,monospace}.trace-object strong span{color:var(--link)}.trace-object small{color:var(--muted);font-size:11px}.trace-object code{overflow-wrap:anywhere;font-size:13px}.trace-bottom{grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:16px;margin-top:16px;display:grid}.trace-timeline h3{border-bottom:1px solid var(--line);padding:13px 14px}.trace-timeline ol{max-height:190px;margin:0;padding:8px;list-style:none;position:relative;overflow:auto}.trace-timeline button{text-align:left;overflow-wrap:anywhere;border:0;align-items:baseline;gap:12px;width:100%;padding:8px;font-size:12px;display:flex}.trace-timeline button[aria-current]{background:var(--info-soft);color:var(--link)}.trace-timeline button>span{width:26px;color:var(--muted);flex-shrink:0;font-family:ui-monospace,monospace}.trace-output pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--idle-paper);min-height:125px;max-height:190px;color:var(--idle-output);margin:0;padding:16px;font:14px/1.65 ui-monospace,monospace;overflow:auto}.trace-output>p{color:var(--muted);margin:0;padding:8px 14px;font-size:12px}.trace-limits{color:var(--muted);margin-top:15px;font-size:12px;line-height:1.75}.trace-limits summary{cursor:pointer;width:fit-content}@media (width<=1000px){.trace-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.trace-step-panel{grid-area:2/1/auto/-1}}@media (width<=600px){.python-trace-backdrop{padding:8px}.python-trace-dialog{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.trace-header{gap:10px;padding:14px}.trace-header h2{font-size:19px}.trace-header p{font-size:12px}.trace-controls{gap:8px;padding:10px 14px}.trace-controls button{min-height:40px;padding:6px 9px;font-size:12px}.trace-controls label{margin-left:0}.trace-body{padding:14px}.trace-workspace,.trace-bottom{grid-template-columns:minmax(0,1fr)}.trace-step-panel{grid-area:auto}.trace-code-scroll{max-height:280px}.trace-workspace>.trace-variables{max-height:none}}@media (forced-colors:active){.python-runner.is-idle .idle-editor textarea{color:canvastext;caret-color:canvastext;background:canvas}.idle-highlight{visibility:hidden}.trace-code-line.is-current{outline-offset:-1px;outline:1px solid highlight}}.ai-fab{z-index:var(--z-floating-tool);right:170px;bottom:max(22px, env(safe-area-inset-bottom));background:var(--paper);min-height:46px;color:var(--link);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:8px;align-items:center;gap:8px;padding:10px 14px;display:flex;position:fixed}.ai-fab svg{stroke:currentColor;stroke-width:1.6px;fill:none;width:20px;height:20px}.ai-widget{z-index:var(--z-tutor);border:1px solid var(--line);background:var(--paper);width:min(430px,100vw - 32px);height:min(650px,100dvh - 108px);box-shadow:var(--shadow-md);color:var(--ink);border-radius:8px;flex-direction:column;display:flex;position:fixed;bottom:80px;right:24px;overflow:hidden}.ai-widget[hidden]{display:none}.ai-widget-header{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;padding:16px 18px;display:flex}.ai-widget-mark{background:var(--canvas);border:1px solid var(--line);width:36px;height:36px;color:var(--link);border-radius:6px;place-items:center;font-size:13px;font-weight:650;display:grid}.ai-widget-header h2{margin:0;font-size:17px}.ai-widget-header p{color:var(--muted);margin:3px 0 0;font-size:12px}.ai-widget-header button{min-width:40px;min-height:40px;margin-left:auto;font-size:22px}.ai-reference{background:var(--canvas);border-bottom:1px solid var(--line);flex-shrink:0;gap:10px;padding:12px 18px;font-size:12px;display:flex}.ai-reference>span{color:var(--muted);white-space:nowrap}.ai-reference>div{flex:1;min-width:0}.ai-reference strong{overflow-wrap:anywhere;font-weight:500;display:block}.ai-reference small{color:var(--muted);margin-top:3px;display:block}.ai-reference blockquote{white-space:pre-wrap;overflow-wrap:anywhere;max-height:80px;margin:6px 0 0;overflow:auto}.ai-reference>button{align-self:start;min-width:32px;min-height:32px}.ai-widget .tutor-panel.tutor-embedded{background:var(--paper);visibility:visible;pointer-events:auto;width:100%;height:auto;min-height:0;box-shadow:none;border:0;flex-direction:column;flex:1;gap:0;padding:0;display:flex;position:static;inset:auto;overflow:auto}.ai-widget .tutor-next-step{background:0 0;border:0;flex:1;padding:28px 20px}.ai-widget .tutor-next-step>div:first-child{display:block}.ai-widget .tutor-next-step p{margin:0 0 8px;font-size:19px;font-weight:550}.ai-widget .tutor-next-step span{color:var(--muted);font-size:13px;line-height:1.8}.ai-widget .tutor-quick-actions{flex-wrap:wrap;gap:6px;margin-top:22px;display:flex}.ai-widget .tutor-quick-actions button{border:1px solid var(--line);white-space:nowrap;border-radius:6px;width:auto;min-height:38px;padding:6px 10px;display:block}.ai-widget .tutor-quick-actions strong{font-size:13px;font-weight:400}.ai-widget .tutor-conversation-shell{flex:1;min-height:80px;padding:16px 18px;overflow:auto}.ai-widget .tutor-conversation{gap:18px;max-height:none;padding:0;overflow:visible}.ai-widget .student-bubble{background:var(--canvas);width:fit-content;max-width:94%;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border:0;border-radius:6px;margin-left:auto;padding:10px 12px;font-size:14px}.ai-widget .tutor-bubble{border:0;padding:14px 0}.ai-widget .tutor-bubble>span{color:var(--muted);font-size:12px}.ai-widget .tutor-bubble p,.ai-widget .tutor-bubble blockquote{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.85}.ai-widget .tutor-bubble blockquote{background:var(--canvas);color:var(--ink);border:0;border-radius:6px;margin:10px 0 0;padding:10px 12px}.ai-widget .tutor-compose{border-top:1px solid var(--line);background:var(--paper);flex-shrink:0;grid-template-columns:1fr auto;gap:6px 10px;margin:auto 0 0;padding:12px 16px;display:grid;position:sticky;bottom:0}.ai-widget .tutor-compose>label{color:var(--muted);grid-column:1/-1;font-size:12px}.ai-widget .tutor-compose textarea{resize:none;background:var(--paper);width:100%;height:76px;min-height:76px;color:var(--ink);grid-column:1/-1;padding:9px 10px;font-size:14px;line-height:1.7}.ai-widget .tutor-compose small{color:var(--muted);align-self:center;font-size:11px}.ai-widget .tutor-compose button{min-height:36px;color:var(--link);padding:6px 10px}.ai-widget .tutor-error{flex-shrink:0;margin:8px 16px;padding:8px 10px;font-size:13px}.ai-widget .coach-pending{color:var(--muted);margin:8px 18px;font-size:13px}.ai-widget :is(.active-strategy-card,.independent-probe,.probe-complete,.coach-strategies){flex-shrink:0;margin:0;padding:14px 18px}.ai-widget .tutor-policy-note{display:none}.student-page-practice .question-with-coach.has-coach{grid-template-columns:minmax(0,1fr)}.practice-ai-entry{justify-content:flex-end;margin-top:16px;display:flex}.practice-nav-slot .practice-question-nav{background:0 0;border:0;margin:0;padding:16px 0}.practice-nav-slot{min-height:0;overflow:auto}.practice-nav-slot .practice-question-nav>div:first-child{justify-content:space-between;margin-bottom:12px;font-size:13px;display:flex}.practice-nav-slot .practice-question-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.practice-nav-slot .practice-question-links button{min-width:0;min-height:44px}.lesson-directory.is-practice :is(.directory-label,.directory-scroll,.directory-status){display:none}@media (width<=600px){.ai-widget{width:calc(100vw - 16px);right:8px}.ai-fab{right:160px}}.learning-map-page{width:100%;min-width:0;max-width:1420px;margin:0 auto;padding:36px 40px 80px}.learning-map-heading,.learning-map-title,.learning-map-toolbar,.learning-map-context,.learning-map-canvas-controls,.learning-map-figure figcaption,.learning-map-pagination{align-items:center;gap:16px;display:flex}.learning-map-heading{justify-content:space-between;margin-bottom:20px}.learning-map-title{gap:18px}.learning-map-heading h1{letter-spacing:-.025em;margin:0;font-size:clamp(27px,2.5vw,36px);line-height:1.35}.learning-map-heading p{color:var(--muted);margin:8px 0 0;font-size:14px}.learning-map-heading>button{flex-shrink:0;min-width:98px;min-height:42px}.learning-map-icon{background:var(--info-soft);height:54px;color:var(--link);border-radius:8px;flex:0 0 54px;place-items:center;display:grid}.learning-map-toolbar{align-items:flex-end;gap:18px;margin-bottom:14px}.learning-map-search{flex:1;min-width:160px}.learning-map-search label,.learning-map-chapter{color:var(--muted);font-size:12px}.learning-map-search>div{margin-top:6px;position:relative}.learning-map-search>div>svg{color:var(--muted);pointer-events:none;position:absolute;top:14px;left:14px}.learning-map-search input{width:100%;height:44px;padding:10px 45px 10px 42px;font-size:14px}.learning-map-search>div>button{border:0;width:36px;height:36px;padding:0;font-size:21px;position:absolute;top:4px;right:4px}.learning-map-chapter{flex:0 250px;gap:6px;display:grid}.learning-map-chapter select{width:100%;min-width:0;height:44px;color:var(--ink);padding:8px 12px;font-size:14px}.learning-map-view{border:1px solid var(--line);border-radius:6px;flex-shrink:0;gap:4px;padding:3px;display:flex}.learning-map-view button{border:0;min-height:36px}.learning-map-view button[aria-pressed=true]{background:var(--active)}.learning-map-context{min-height:28px;color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:13px}.learning-map-context nav{min-width:0;max-width:100%;height:36px;overflow-x:auto}.learning-map-context ol{white-space:nowrap;gap:8px;width:max-content;margin:0;padding:4px 2px;list-style:none;display:flex}.learning-map-context li:not(:first-child):before{content:"/";color:var(--muted);margin-right:8px}.learning-map-context a{color:var(--link);text-underline-offset:3px}.learning-map-context a:hover{background:var(--hover)}.learning-map-context [aria-current]{color:var(--ink);font-weight:600}.learning-map-context>span{flex-shrink:0}.learning-map-error{border:1px solid var(--danger);background:var(--danger-soft);color:var(--danger);border-radius:8px;margin-bottom:20px;padding:16px}.learning-map-error p{margin:6px 0}.learning-map-error button{margin-left:16px}.learning-map-state{border:1px solid var(--line);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:440px;padding:30px;display:flex}.learning-map-state>svg{color:var(--link);margin-bottom:15px}.learning-map-state h2{margin:0;font-size:20px}.learning-map-state p{color:var(--muted);font-size:14px;line-height:1.8}.learning-map-figure{border:1px solid var(--line);background:var(--paper);border-radius:8px;margin:0}.learning-map-canvas-controls{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 18px}.learning-map-canvas-controls p{color:var(--muted);margin:0;font-size:13px}.learning-map-canvas-controls>div{flex-shrink:0;align-items:center;gap:6px;display:flex}.learning-map-canvas-controls .learning-map-focus-help{flex-shrink:1;gap:14px}.learning-map-focus-help>button{flex-shrink:0}.learning-map-canvas-controls button,.learning-map-pan button{min-width:36px;min-height:36px;padding:4px 8px}.learning-map-canvas-controls output{text-align:center;min-width:40px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.learning-map-viewport{scrollbar-gutter:stable;width:100%;max-height:750px;overflow:auto}.learning-map-viewport:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.learning-map-world{isolation:isolate;margin:0 auto;position:relative;overflow:clip}.learning-map-blank-return{cursor:zoom-out;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.learning-map-blank-return:hover:not(:disabled),.learning-map-blank-return:active:not(:disabled){background:0 0}.learning-map-scene-node{transform-origin:0 0;width:192px;height:192px;transform:translate3d(var(--node-x), var(--node-y), 0) scale(var(--node-scale));opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--motion-map-focus) var(--ease-map-focus), opacity var(--motion-map-fade) ease, visibility var(--motion-map-fade) step-end;position:absolute;top:0;left:0}.learning-map-scene-node.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-timing-function:var(--ease-map-focus), ease, step-start}.learning-map-scene-edge{transform-origin:0 0;transform:translate(var(--edge-x), var(--edge-y)) rotate(var(--edge-angle)) scaleX(var(--edge-length));transition:transform var(--motion-map-focus) var(--ease-map-focus), opacity var(--motion-map-fade) ease}.learning-map-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.learning-map-inline-evidence{text-align:center;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px 18px;font-size:13px;line-height:1.7;position:absolute}.learning-map-inline-evidence p{color:var(--muted);margin:4px 0 0;font-size:12px}.learning-map-edges{pointer-events:none;position:absolute;inset:0}.learning-map-edges path{fill:none;stroke:var(--graph-line,var(--line));stroke-width:1.5px}.learning-map-edges circle{fill:var(--graph-line,var(--line))}.map-color-0{--map-node-color:var(--graph-blue,var(--link));--map-node-surface:var(--graph-blue-soft,var(--info-soft))}.map-color-1{--map-node-color:var(--graph-green,var(--success));--map-node-surface:var(--graph-green-soft,var(--success-soft))}.map-color-2{--map-node-color:var(--graph-violet,var(--link));--map-node-surface:var(--graph-violet-soft,var(--info-soft))}.map-color-3{--map-node-color:var(--graph-amber,var(--warning));--map-node-surface:var(--graph-amber-soft,var(--warning-soft))}.learning-map-bubble{width:100%;height:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid;position:absolute;inset:0}.learning-map-bubble:hover:not(:disabled),.learning-map-bubble:active:not(:disabled){background:0 0}.learning-map-node-shape{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.learning-map-node-shape circle{fill:var(--map-node-surface);stroke:var(--map-node-color);stroke-width:1px;stroke-opacity:.28}.learning-map-bubble.is-selected .learning-map-node-shape circle{stroke-width:2px;stroke-opacity:.8}.learning-map-bubble:hover .learning-map-node-shape circle{fill:var(--hover)}.learning-map-bubble:active .learning-map-node-shape circle{fill:var(--active)}.learning-map-bubble.is-unmeasured .learning-map-node-shape circle{stroke-dasharray:4 3}.learning-map-node-content{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:76%;line-height:1.35;display:flex}.learning-map-node-content strong{-webkit-line-clamp:3;font-size:var(--map-label-size);overflow-wrap:anywhere;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.learning-map-node-content small{font-size:var(--map-small-size);color:var(--muted);line-height:1.4}.learning-map-node-content b{font-size:var(--map-number-size);color:var(--map-node-color);font-variant-numeric:tabular-nums;font-weight:650}.learning-map-bubble.is-unmeasured b{font-size:23px;font-weight:500}.learning-map-bubble.is-center .learning-map-node-content{gap:7px}.learning-map-figure figcaption{border-top:1px solid var(--line);justify-content:space-between;padding:10px 18px}.learning-map-legend{color:var(--muted);align-items:center;gap:12px;font-size:12px;line-height:1.7;display:flex}.map-legend-circles{flex-shrink:0;display:flex}.map-legend-circles circle{fill:var(--info-soft);stroke:var(--link);stroke-opacity:.4}.learning-map-pan{gap:5px;display:flex}.learning-map-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.learning-map-list>ol{margin:0;padding:0;list-style:none}.learning-map-list li+li{border-top:1px solid var(--line)}.learning-map-list-node{text-align:left;border:0;border-radius:0;align-items:center;gap:22px;width:100%;padding:15px 22px;display:flex}.learning-map-list .is-selected>button{background:var(--active)}.learning-map-list-label{flex:1;gap:3px;min-width:0;display:grid}.learning-map-list-label strong{overflow-wrap:anywhere;font-weight:600}.learning-map-list-node small{color:var(--muted);font-size:12px;font-weight:400}.learning-map-list-score{text-align:right;gap:2px;min-width:112px;display:grid}.learning-map-list-score b{color:var(--map-node-color);font-variant-numeric:tabular-nums;font-size:21px;font-weight:600}.learning-map-list-action{color:var(--muted);font-size:13px}.learning-map-pagination{color:var(--muted);justify-content:center;margin:18px 0;font-size:13px}.learning-map-pagination button{min-height:40px}.learning-map-detail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px 30px;margin-top:24px;padding:24px 0;scroll-margin-top:130px;display:flex}.learning-map-detail-title{flex:270px}.learning-map-detail-title h2{margin:4px 0 7px;font-size:21px;font-weight:600}.learning-map-detail-title p{color:var(--muted);margin:0;font-size:12px;line-height:1.8}.learning-map-detail dl{flex-wrap:wrap;gap:24px;margin:0;display:flex}.learning-map-detail dt{color:var(--muted);font-size:12px}.learning-map-detail dd{color:var(--link);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:25px;font-weight:600;line-height:1.4}.learning-map-detail dd span{color:var(--muted);font-size:14px;font-weight:400}.learning-map-unmapped{color:var(--muted);flex-basis:100%;margin:0;font-size:13px}.learning-map-method{color:var(--muted);margin-top:17px;font-size:13px;line-height:1.9}.learning-map-method summary{cursor:pointer;width:fit-content;color:var(--ink);border-radius:6px;margin-left:-8px;padding:5px 8px}.learning-map-method p{max-width:84ch;margin:10px 0}@media (width<=1000px){.learning-map-page{padding:28px 24px 70px}.learning-map-toolbar{flex-wrap:wrap;gap:14px}.learning-map-search{flex-basis:100%}.learning-map-chapter{flex:1}.learning-map-context{flex-direction:column;align-items:flex-start;gap:6px}.learning-map-canvas-controls,.learning-map-figure figcaption{flex-wrap:wrap}}@media (width<=560px){.learning-map-page{padding:22px 16px 70px}.learning-map-heading{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:20px}.learning-map-title{align-items:flex-start;gap:12px}.learning-map-icon{flex-basis:40px;height:42px}.learning-map-heading p{font-size:13px}.learning-map-heading>button{min-height:36px}.learning-map-toolbar{gap:10px}.learning-map-chapter{flex-basis:100%}.learning-map-canvas-controls,.learning-map-figure figcaption{padding:12px}.learning-map-canvas-controls .learning-map-focus-help{align-items:flex-start;gap:10px}.learning-map-viewport{max-height:590px}.learning-map-list-node{flex-wrap:wrap;gap:10px;padding:14px 12px}.learning-map-list-label{flex-basis:calc(100% - 100px)}.learning-map-list-score{min-width:86px}.learning-map-list-action{flex-basis:100%}.learning-map-detail dl{gap:20px}.learning-map-pagination{flex-wrap:wrap;gap:10px}.learning-map-state{min-height:360px;padding:20px}}@media (forced-colors:active){.learning-map-node-shape circle,.map-legend-circles circle{fill:canvas;stroke:buttontext;stroke-opacity:1}.learning-map-bubble.is-selected .learning-map-node-shape circle{stroke:highlight}.learning-map-edges path{stroke:canvastext}}.presentation-viewer{min-width:0;max-width:1120px;color:var(--ink);margin:0 auto}.presentation-heading,.presentation-manager>header,.presentation-expanded>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.presentation-heading h1,.presentation-manager h1{margin:0;font-size:clamp(25px,3vw,34px);font-weight:650;line-height:1.45}.presentation-heading p,.presentation-caption,.presentation-manager>header p{color:var(--muted);margin:8px 0;font-size:14px}.presentation-download{border:1px solid var(--line);white-space:nowrap;color:var(--link);border-radius:6px;padding:8px 12px}.presentation-stage{background:var(--canvas);border:1px solid var(--line);border-radius:6px;width:100%;position:relative;overflow:hidden}.presentation-stage>img{object-fit:contain;width:100%;height:100%;display:block}.presentation-image-state{background:var(--canvas);text-align:center;place-content:center;padding:20px;display:grid;position:absolute;inset:0}.presentation-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.presentation-controls label{color:var(--muted);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.presentation-controls select{width:min(28vw,300px);min-width:100px;max-width:300px}.presentation-controls button,.presentation-bottom button{min-height:40px}.presentation-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;padding:8px 0;font-size:13px;display:flex}.presentation-bottom>span{margin-right:auto}.presentation-transcript{border-top:1px solid var(--line);padding:16px 0}.presentation-transcript summary{cursor:pointer;color:var(--muted);padding:6px 0;font-size:14px}.presentation-transcript summary:hover{background:var(--hover)}.presentation-transcript summary:active{background:var(--active)}.presentation-transcript p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.85}.presentation-overlay{z-index:var(--z-dialog);background:var(--overlay);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.presentation-expanded{border:1px solid var(--line);background:var(--paper);width:min(1300px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-md);border-radius:8px;padding:20px;overflow:auto}.presentation-expanded h2{margin:0;font-size:18px}.presentation-expanded .presentation-stage{width:auto;max-height:72dvh;margin:auto}.presentation-confirm{background:var(--paper);width:min(480px,100%);max-height:calc(100dvh - 40px);box-shadow:var(--shadow-md);border-radius:8px;padding:28px;overflow:auto}.presentation-manager{max-width:1120px}.presentation-upload{border-block:1px solid var(--line);margin-bottom:20px;padding:22px 0}.presentation-upload label,.presentation-actions label{gap:8px;min-width:0;font-size:14px;display:grid}.presentation-upload>label{max-width:600px;margin-bottom:24px}.presentation-upload form>p{color:var(--muted);font-size:13px}.presentation-upload input[type=file]{width:100%;max-width:600px}.presentation-actions{flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0;display:flex}.presentation-actions select{max-width:100%}.presentation-actions label{flex:270px;max-width:100%}.presentation-nav-summary{color:var(--muted);border-top:1px solid var(--line);margin:18px 0;padding:12px 8px;font-size:13px}.presentation-nav-summary p{margin:8px 0}.feature-error{color:var(--danger);background:var(--danger-soft);overflow-wrap:anywhere;border-radius:6px;padding:12px}.feature-notice{color:var(--success);background:var(--success-soft);border-radius:6px;padding:12px}.feature-empty{min-height:150px;color:var(--muted);padding:32px 0}@media (width<=620px){.presentation-heading{align-items:start}.presentation-controls{gap:8px}.presentation-controls label{order:3;width:100%}.presentation-controls select{flex:1;width:100%;max-width:none}.presentation-expanded,.presentation-confirm{padding:16px}.presentation-overlay{padding:10px}}.notebook-fab{z-index:var(--z-floating-tool);right:24px;bottom:max(22px, env(safe-area-inset-bottom));background:var(--paper);min-height:46px;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:8px;align-items:center;gap:8px;padding:10px 16px;display:flex;position:fixed}.notebook-fab svg{fill:none;stroke:currentColor;stroke-width:1.5px;width:20px;height:20px}.notebook-draft-dot{color:var(--warning);font-size:24px;line-height:1}.notebook-overlay{z-index:var(--z-notebook);background:var(--overlay);justify-content:flex-end;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.notebook-panel{scrollbar-gutter:stable;background:var(--paper);width:min(470px,100%);max-height:calc(100dvh - 40px);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:8px;padding:24px;overflow-y:auto}.notebook-panel>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.notebook-panel>header h2{margin:0;font-size:23px}.notebook-panel>header p{color:var(--muted);margin:0 0 3px;font-size:12px}.notebook-context{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px;font-size:13px}.notebook-visibility{color:var(--muted);margin:0 0 20px;font-size:13px}.notebook-kinds{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.notebook-kinds button{text-align:left;border:1px solid var(--line);gap:3px;padding:10px;display:grid}.notebook-kinds button[aria-pressed=true]{background:var(--active)}.notebook-kinds small{color:var(--muted);font-size:12px;font-weight:400}.notebook-panel form>label{margin-bottom:8px;font-size:14px;font-weight:550;display:block}.notebook-panel textarea{resize:none;width:100%;min-height:150px;padding:12px;line-height:1.7}.notebook-draft-meta{color:var(--muted);justify-content:space-between;gap:12px;padding:8px 0;font-size:11px;display:flex}.notebook-draft-meta>span:last-child{white-space:nowrap}.notebook-save{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 22px;display:flex}.notebook-save>button:first-child{border:1px solid var(--line);min-width:106px}.notebook-history{border-top:1px solid var(--line);padding-top:16px}.notebook-history>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.notebook-history h3{margin:0;font-size:15px}.notebook-history>p{color:var(--muted);font-size:13px}.notebook-history ul{margin:10px 0;padding:0;list-style:none}.notebook-history li{border-bottom:1px solid var(--line);padding:14px 0}.notebook-history li>div{color:var(--muted);justify-content:space-between;gap:12px;font-size:11px;display:flex}.notebook-history li p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:14px;line-height:1.75}.teacher-notes>header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:20px;display:flex}.teacher-notes h1{margin:0;font-size:32px;font-weight:650}.teacher-notes>header p{color:var(--muted);margin:8px 0 24px}.teacher-notes label{gap:8px;font-size:13px;display:grid}.notes-filters{border-block:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:16px;padding:18px 0;display:flex}.notes-filters select{min-width:130px;max-width:340px}.notes-summary{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:20px 0;font-size:13px;display:flex}.teacher-note-list{margin:0;padding:0;list-style:none}.teacher-note-list>li{border-bottom:1px solid var(--line);padding:22px 0}.teacher-note-meta{flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.teacher-note-meta strong{font-size:16px}.teacher-note-meta time{color:var(--muted);margin-left:auto}.note-kind{background:var(--canvas);border-radius:4px;padding:2px 8px}.teacher-note-context{color:var(--muted);margin:8px 0;font-size:13px}.teacher-note-body{white-space:pre-wrap;overflow-wrap:anywhere;max-width:80ch;font-size:16px;line-height:1.8}.teacher-note-action{align-items:center;gap:12px;display:flex}.teacher-note-action small{color:var(--muted)}.notes-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;padding:22px 0;font-size:13px;display:flex}.notebook-history-link{text-align:left;border:0;border-top:1px solid var(--line);width:100%;color:var(--link);border-radius:0;padding:16px 0}.note-quote{background:var(--canvas);border-radius:6px;margin:0 0 18px;padding:12px 14px}.note-quote>span{color:var(--muted);font-size:12px}.note-quote blockquote{white-space:pre-wrap;overflow-wrap:anywhere;border:0;max-height:180px;margin:6px 0 0;padding:0;font-size:14px;line-height:1.75;overflow-y:auto}.note-body-input{max-height:400px;overflow-y:auto}.note-selection-actions{z-index:var(--z-floating-tool);border:1px solid var(--line);background:var(--paper);width:264px;max-width:calc(100vw - 16px);color:var(--ink);box-shadow:var(--shadow-md);border-radius:8px;gap:4px;padding:5px;display:flex;position:fixed}.note-selection-actions button{border:0;flex:1;min-height:40px}.note-selection-actions p{margin:5px;font-size:13px}.note-selection-actions.is-context-menu{flex-direction:column;width:224px}.note-selection-actions.is-context-menu button{text-align:left;flex:none}.student-page-notes .workspace{grid-template-columns:248px minmax(0,1fr)}.student-page-notes .lesson-main{background:var(--paper);padding:40px clamp(24px,4vw,56px) 96px}.student-notes-page{max-width:1000px;margin-inline:auto}.student-notes-page>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.student-notes-page h1{margin:6px 0;font-size:32px;line-height:1.4}.student-notes-page>header p{color:var(--muted);margin:6px 0;font-size:14px}.student-notes-page .notes-filters label{gap:8px;font-size:13px;display:grid}.student-note-list{margin:0;padding:0;list-style:none}.student-note-list>li{border-bottom:1px solid var(--line);padding:24px 0}.student-note-heading{flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.student-note-heading time,.student-note-heading>span:not(.note-kind),.student-note-list small{color:var(--muted)}.student-note-heading button{min-width:60px;margin-left:auto}.student-note-body,.note-preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.student-note-body{font-size:16px}.note-editor{width:min(660px,100%)}.note-conflict{border:1px solid var(--line);border-radius:6px;margin-block:16px;padding:14px}.note-conflict h3{margin:0;font-size:15px}.note-conflict .note-preserve-lines{max-height:180px;overflow-y:auto}.note-revisions{border-top:1px solid var(--line);padding-top:16px;font-size:14px}.note-revisions summary{cursor:pointer;padding:6px 0}.note-revisions ol{padding:0;list-style:none}.note-revisions li{border-bottom:1px solid var(--line);padding:16px 0}.note-revisions li>p{color:var(--muted);margin-top:0;font-size:12px}@media (width<=620px){.student-page-notes .lesson-main{padding:24px 20px 96px}.notebook-fab{right:14px;bottom:max(14px, env(safe-area-inset-bottom))}.notebook-overlay{padding:8px}.notebook-panel{max-height:calc(100dvh - 16px);padding:20px}.notes-filters label{width:100%}.notes-filters select{width:100%;max-width:none}}.student-management{min-width:0}.student-management .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sm-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin:24px 0 12px;display:flex}.sm-toolbar label,.sm-review-tools>label{color:var(--muted);gap:7px;font-size:13px;display:grid}.sm-toolbar input,.sm-toolbar select,.sm-review-tools select{border:1px solid var(--line);background:var(--paper);min-height:38px;color:var(--ink);border-radius:6px;max-width:100%;padding:7px 10px}.sm-search{flex:200px}.sm-search>label{margin-bottom:7px}.sm-search-field{gap:6px;display:flex}.sm-search-field input{flex:1;min-width:0}.sm-search-field button{flex-shrink:0}.sm-toolbar>label:not(.sm-search){max-width:250px}.sm-definition{color:var(--muted);margin:12px 0 22px;font-size:13px;line-height:1.8}.sm-metrics{border-block:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:22px 0;padding:20px 0;display:grid}.sm-metrics>div{gap:8px;display:grid}.sm-metrics span{color:var(--muted);font-size:13px}.sm-metrics strong{font-variant-numeric:tabular-nums;font-size:27px;font-weight:600}.sm-metrics small{color:var(--muted);font-size:14px;font-weight:400}.sm-list-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:24px 0 12px;display:flex}.sm-list-title h2,.sm-list-title h3{margin:0;font-size:17px}.sm-list-title span,.sm-dialog h3 small{color:var(--muted);font-size:12px;font-weight:400}.sm-table{min-width:860px}.sm-table td{vertical-align:top;font-variant-numeric:tabular-nums}.sm-table th{white-space:nowrap}.sm-table td small{margin-top:5px}.sm-table button{white-space:nowrap;position:relative}.sm-table .sm-question-preview{white-space:pre-wrap;overflow-wrap:anywhere;min-width:280px;max-width:470px;line-height:1.7}.sm-question-preview small{color:var(--muted);margin-bottom:6px;display:block}.sm-warning{color:var(--danger);font-weight:600}.sm-success{color:var(--success);font-weight:600}.sm-empty{border-block:1px solid var(--line);text-align:center;color:var(--muted);padding:44px 20px;line-height:1.8}.sm-empty h2{color:var(--ink);font-size:19px}.sm-loading{min-height:32px;color:var(--muted)}.sm-pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin:22px 0;font-size:13px;display:flex}.sm-pagination span{color:var(--muted);margin-right:auto}.sm-backdrop{z-index:var(--z-dialog);background:var(--overlay);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.sm-dialog{background:var(--paper);border:1px solid var(--line);width:min(1080px,100%);height:min(820px,100dvh - 48px);min-height:220px;max-height:calc(100dvh - 48px);box-shadow:var(--shadow-md);color:var(--ink);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.sm-dialog-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:start;gap:16px;padding:20px 26px;display:flex}.sm-dialog-header p{color:var(--muted);margin:0 0 7px;font-size:12px}.sm-dialog-header h2{overflow-wrap:anywhere;margin:0;font-size:23px}.sm-dialog-header h2 small{color:var(--muted);margin-left:14px;font-size:14px;font-weight:400;display:inline-block}.sm-dialog-header button{flex-shrink:0}.sm-dialog-body{scrollbar-gutter:stable;min-height:0;padding:20px 26px;overflow:auto}.sm-dialog h3{font-size:17px}.sm-dialog pre{background:var(--canvas);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:5px;padding:14px;font:14px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.sm-dialog summary{cursor:pointer;color:var(--link);padding:10px 0}.sm-visits{margin:0;padding:0;list-style:none}.sm-visits li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 0;font-size:14px;display:flex}.sm-visits span{color:var(--muted);font-size:13px}.sm-answer-list{margin:0;padding:0;list-style:none}.sm-answer-list>li{border-bottom:1px solid var(--line);padding:18px 0}.sm-answer-list header{justify-content:space-between;align-items:start;gap:18px;font-size:14px;display:flex}.sm-answer-list header div span{color:var(--muted);margin-top:6px;font-size:12px;display:block}.sm-answer-list small{color:var(--muted)}.sm-review-tools{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.sm-review-tools .sm-check,.sm-check{color:var(--ink);align-items:center;gap:8px;min-height:38px;font-size:14px;display:flex}.sm-check input{width:16px;height:16px;accent-color:var(--link)}.sm-answer-filter{flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.sm-answer-filter select{background:var(--paper);max-width:100%;color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:7px 10px}.sm-teaching-grid{border-block:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);gap:28px;padding:20px 0;display:grid}.sm-question,.sm-distribution{min-width:0}.sm-distribution{border-left:1px solid var(--line);padding-left:24px;font-size:14px}.sm-distribution p>strong{font-size:24px}.sm-distribution-row{margin-top:20px}.sm-distribution-row>div{justify-content:space-between;gap:15px;display:flex}.sm-distribution-row span{overflow-wrap:anywhere;white-space:pre-wrap}.sm-distribution-row strong{white-space:nowrap}.sm-distribution-row meter{width:100%;height:12px;accent-color:var(--link)}.sm-distribution-row meter::-webkit-meter-optimum-value{background:var(--link)}.sm-distribution-row meter::-moz-meter-bar{background:var(--link)}.sm-options{padding:0;list-style:none}.sm-options li{border-bottom:1px solid var(--line);gap:12px;padding:10px 0;display:flex}.sm-options li>strong{color:var(--muted);padding-top:3px}.sm-options p{margin:0}.sm-markdown{overflow-wrap:anywhere;min-width:0;font-size:15px;line-height:1.8}.sm-markdown img{max-width:100%}.sm-reference{border-top:1px solid var(--line);margin-top:22px}.sm-reference dt{font-weight:600}.sm-reference dd{margin:0 0 14px}@media (width<=700px){.sm-backdrop{padding:10px}.sm-dialog{max-height:calc(100dvh - 20px)}.sm-dialog-header,.sm-dialog-body{padding:16px}.sm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-teaching-grid{grid-template-columns:minmax(0,1fr)}.sm-distribution{border-left:0;border-top:1px solid var(--line);padding-top:16px;padding-left:0}.sm-toolbar>label:not(.sm-search){flex:130px;max-width:100%}.sm-dialog-header h2 small{margin:7px 0 0;display:block}}.app-shell,.teacher-shell{color:var(--ink);background:var(--canvas)}.topbar{background:var(--paper);height:60px;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;gap:20px;padding:0 24px}.brand-block{gap:10px;min-width:0}.brand-icon{border:1px solid var(--ink);width:30px;height:32px;color:var(--ink);box-shadow:none;background:0 0;border-radius:4px;font:600 16px/1 ui-monospace,monospace}.brand-icon:after{display:none}.brand-block strong{color:var(--ink);font-size:15px;font-weight:600}.brand-block>div:not(.brand-icon)>span{display:none}.topbar-meta{gap:12px;min-width:0}.stage-badge{color:var(--muted);background:0 0;border:0;padding:0;font-size:12px}.stage-badge i{display:none}.user-menu{min-height:36px;color:var(--ink);background:0 0;border:0;gap:8px;padding:4px 6px}.user-menu>i{background:var(--active);width:28px;height:28px;color:var(--ink);border:0;border-radius:6px;font-size:12px}.user-menu small{color:var(--muted)}.student-topbar :is(.tutor-toggle-button,.menu-button){border-color:#0000}.tutor-toggle-button>span{color:var(--muted);background:0 0;border:0}.workspace{grid-template-columns:224px minmax(0,1fr) 280px;max-width:none}.lesson-nav,.tutor-panel{height:calc(100dvh - 60px);top:60px}.lesson-nav{background:var(--canvas);border-right:1px solid var(--line);padding:24px 16px 16px}.course-label{padding:0 8px 20px}.course-label>span{color:var(--muted);font-size:12px}.course-label strong{color:var(--ink);font-size:14px;font-weight:600;line-height:1.7}.student-page-links{gap:3px;padding-bottom:12px}.student-page-links a{border-radius:6px;min-height:36px;padding:7px 8px;font-size:14px;font-weight:500}.student-page-links a>span{display:none}.student-page-links a[aria-current=page],.lesson-switcher button.active,.concept-list button.active,.teacher-sidebar nav button.active{color:var(--ink);background:var(--active);box-shadow:none}.student-page-links a:hover{color:var(--ink);background:var(--hover)}.student-page-links a:active{background:var(--active)}.lesson-nav-tools{gap:2px;padding:12px 0 0;display:grid}.lesson-nav-tools button{text-align:left;width:100%;min-height:32px;color:var(--muted);border:0;padding:6px 8px;font-size:13px}.progress-card{box-shadow:none;background:0 0;border:0;margin:20px 8px;padding:0}.progress-card :is(span,strong){color:var(--muted);font-size:12px;font-weight:400}.progress-track{background:var(--line);border-radius:0;height:3px;margin-top:10px}.progress-track span,.exercise-progress span{background:var(--muted);border-radius:0}.nav-heading{color:var(--muted);letter-spacing:normal;margin:22px 8px 8px;font-size:12px;font-weight:500}.lesson-switcher{gap:2px}.lesson-switcher button{text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:25px minmax(0,1fr);gap:0 8px;min-height:48px;padding:8px;position:relative}.lesson-switcher button>span{width:25px;height:25px;color:var(--muted);background:0 0;border:0;border-radius:3px;grid-row:1/3;align-self:center;padding:0;font-size:12px}.lesson-switcher button strong{color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}.lesson-switcher button small{color:var(--ink);font-size:13px;font-weight:500;line-height:1.5}.lesson-switcher button.active>span{color:var(--ink);background:0 0}.nav-section-heading>span,.concept-list:before,.concept-list:after{display:none}.concept-list{margin-top:8px}.concept-list li{margin-bottom:2px}.concept-list button{border:0;min-height:36px;padding:6px 8px;font-size:13px;font-weight:400}.concept-list button>span{width:23px;height:23px;color:var(--muted);background:0 0;border:0;border-radius:0}.concept-list button.active>span{color:var(--ink);background:0 0}.nav-footer{color:var(--muted);padding-inline:8px;font-size:11px}.nav-footer .version-dot{background:var(--muted);box-shadow:none}.lesson-main{background:var(--paper);min-width:0;padding:24px clamp(28px,4vw,72px) 72px}.preview-notice{border:0;border-bottom:1px solid var(--line);max-width:800px;color:var(--muted);background:0 0;border-radius:0;align-items:start;margin:0 auto;padding:10px 0 18px}.preview-notice>span{display:none}.preview-notice p{color:var(--muted);font-size:12px;line-height:1.8}.preview-notice strong{color:var(--ink);font-weight:500}:is(.lesson-content,.lesson-content:has(>.ppt-lesson),.lesson-content:has(>.reference-lesson)){max-width:800px;margin-inline:auto;padding:0}.lesson-content :is(.ppt-lesson,.reference-lesson){box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.lesson-content :is(.ppt-lesson,.reference-lesson):before,.lesson-content .lesson-hero:after,.lesson-content section[data-concept-id]:before,.ppt-hero-image:after{display:none}.lesson-content :is(.lesson-hero,.ppt-lesson-hero){border:0;border-bottom:1px solid var(--line);min-height:0;box-shadow:none;background:0 0;border-radius:0;margin:0;padding:48px 0 32px}.lesson-content :is(.lesson-hero,.ppt-lesson-hero) h1{max-width:100%;color:var(--ink);-webkit-text-fill-color:currentColor;letter-spacing:-.035em;background:0 0;margin:10px 0 16px;font-size:clamp(30px,3.2vw,42px);font-weight:650;line-height:1.3}.lesson-content .lesson-hero .lead{color:var(--muted);max-width:72ch;font-size:16px;line-height:1.85}.lesson-content :is(.eyebrow,.ppt-overline,.section-kicker){color:var(--muted);letter-spacing:normal;text-transform:none;font-family:inherit;font-size:13px;font-weight:500;line-height:1.6}.lesson-content .section-kicker{display:none}.lesson-content .ppt-lesson-hero{grid-template-columns:1fr 160px;align-items:center;gap:24px}.ppt-hero-copy{padding:0}.ppt-hero-image{border-radius:6px;min-height:0;max-height:180px}.ppt-hero-image img{object-fit:contain;opacity:1;filter:none;width:100%;height:auto}.ppt-chapter-index{font:inherit;flex-wrap:wrap;gap:6px 12px;margin-top:20px;display:flex}.ppt-chapter-index span{color:var(--muted);background:0 0;border:0;border-radius:0;padding:0;font-size:12px}.ppt-chapter-cover{background:0 0;border:0;gap:14px;min-height:0;margin:0 0 12px;padding:32px 0 16px}.ppt-chapter-cover img{filter:none;width:34px;height:34px}.lesson-content .ppt-chapter-cover p{color:var(--ink);-webkit-text-fill-color:currentColor;background:0 0;font-size:26px;font-weight:650}.lesson-content .reference-lesson>section:not(.lesson-exercise-bank),.lesson-content .ppt-reading-block{color:var(--ink);border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;margin:0;padding:32px 0;position:relative}.lesson-content .reference-lesson>section:first-of-type{margin-top:0}.lesson-content :is(h2,h3){color:var(--ink);letter-spacing:-.02em;font-weight:600}.lesson-content h2{margin:0 0 20px;font-size:25px;line-height:1.5}.lesson-content h3{font-size:19px;line-height:1.5}.lesson-content :is(p,li,td,th){color:var(--ink);font-size:16px;line-height:1.9}.lesson-content p{max-width:72ch}.lesson-content strong{color:var(--ink);font-weight:600}.lesson-content small{color:var(--muted)}.lesson-content :is(blockquote,.dispatch-note,.pitfall-card,.learning-goals){background:var(--canvas);color:var(--ink);box-shadow:none;border:0;border-radius:6px;padding:16px 20px}.lesson-content blockquote p{color:var(--ink)}.lesson-content :is(.compare-card,.work-card,.practice-brief,.explore-card,.control-card,.story-beat,.card-grid>article,.card-grid>div,.summary-grid>div,.summary-route>div){box-shadow:none;background:0 0;border:0;border-radius:0;padding:12px 0}.lesson-content :is(.card-grid,.summary-grid,.mission-route){gap:24px}.lesson-content :is(.card-grid,.summary-grid)>:not(:first-child){border-left:1px solid var(--line);padding-left:24px}.lesson-content :is(.mission-route,.knowledge-signal):before{display:none}.lesson-content :is(code,pre){color:var(--ink);background:var(--canvas)}.lesson-content code{border-radius:4px}.lesson-content pre code{background:0 0}.lesson-content table{background:var(--paper);border-color:var(--line)}.lesson-content th{color:var(--ink);background:var(--canvas);font-weight:600}.lesson-content tbody tr:nth-child(2n){background:0 0}.lesson-content td{border-color:var(--line)}.ppt-media,.ppt-figure-grid>img,.ppt-figure-stack>img,.ppt-source-figure{background:var(--paper);border:1px solid var(--line);box-shadow:none;border-radius:6px}.lesson-content img{object-fit:contain;max-width:100%}.ppt-source-figure figcaption,.ppt-media figcaption{color:var(--muted);background:0 0;font-family:inherit;font-size:12px;font-weight:400;line-height:1.7}.lesson-content .ppt-source-figure figcaption>span{color:var(--muted);background:0 0}.lesson-content .lesson-summary{border-top:1px solid var(--line);background:0 0;padding:32px 0}.lesson-practice-link{border:0;border-bottom:1px solid var(--line);text-align:left;max-width:800px;color:var(--link);background:0 0;border-radius:0;margin-top:24px;padding:18px 0;font-size:15px;font-weight:500;transition:background-color .15s}.lesson-practice-link:hover{background:var(--hover)}.lesson-practice-link:active{background:var(--active)}.group{position:relative}.block-handle{width:18px;color:var(--muted);letter-spacing:-4px;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:14px;line-height:1.5;transition:opacity .15s;position:absolute;top:14px;left:-21px}.group:not(:has(>.block-handle)):after{width:18px;color:var(--muted);letter-spacing:-4px;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:inherit;font-size:14px;line-height:1.5;transition:opacity .15s;position:absolute;top:14px;left:-21px}.group:not(:has(>.block-handle)):after{content:"⋮⋮" / ""}.group:hover:after,.group:focus-within:after,.group:hover>.block-handle,.group:focus-within>.block-handle{opacity:1}.document-block{transition:background-color .15s}.document-block:hover{background-color:var(--hover)}.document-block:active{background-color:var(--active)}.lesson-switcher .block-handle,.lesson-switcher .group:after{top:16px;left:-13px}.python-runner{background:var(--canvas);color:var(--ink);border:1px solid var(--line);box-shadow:none;border-radius:6px}.runner-toolbar,.runner-statusbar,.runner-footer{border-color:var(--line);color:var(--muted);background:0 0}.runner-label,.runner-language,.runner-toolbar strong{color:var(--muted)}.runner-editor-wrap,.runner-output{background:var(--canvas);border-color:var(--line);color:var(--ink)}.python-runner>textarea{color:var(--ink);background:0 0;border:0;border-radius:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.75}.code-editor{color:var(--ink);background:0 0;border:0;border-radius:0;font-size:14px;line-height:1.75}.runner-output pre,.runner-output>span{color:var(--ink);background:0 0}.runner-output>span{color:var(--muted);font-size:12px}.runner-status,.runner-hint{color:var(--muted)}.primary-action,.teacher-primary,.cw-primary,.login-submit{font-weight:600}.lab-controls button[aria-pressed=true],.conveyor-item.is-current,.control-record.is-current,.nested-scanner>div.is-current{background:var(--active);border-color:var(--line);color:var(--ink)}.student-page-practice .workspace{grid-template-columns:248px minmax(0,1fr)}.student-page-practice .lesson-main{background:var(--paper);padding:40px clamp(24px,4vw,56px) 64px}.practice-page{max-width:1200px}.practice-heading{margin-bottom:24px}.practice-heading>div>p{display:none}.practice-heading h1{color:var(--ink);font-size:32px;font-weight:650}.practice-heading span{color:var(--muted)}.practice-question-nav{border-top:1px solid var(--line)}.practice-question-links button[aria-current=step]{background:var(--active);color:var(--ink);border-color:var(--line)}.practice-question-links button.is-complete:not([aria-current]){color:var(--success);border-color:var(--line);background:var(--success-soft)}.practice-page .task-card{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.practice-page .task-card-header{border-bottom:1px solid var(--line);padding:0 0 14px}.practice-page .task-heading-copy .eyebrow{display:none}.practice-page .task-heading-copy h2{color:var(--ink);font-size:21px}.practice-page .task-card>:is(.question-meta,.question-prompt,.answer-workspace,.hint-card,.attempt-result,.exercise-actions,.exercise-error,.cw-boundary,.cw-save-status){margin-left:0;margin-right:0}.practice-page .exercise-progress{display:none}.question-meta span{color:var(--muted);background:var(--canvas);border-color:var(--line)}.practice-page .question-prompt{padding:12px 0}.practice-page .question-stem{color:var(--ink);max-width:72ch;font-size:18px;line-height:1.9}.practice-page .answer-workspace{background:0 0;border:0;border-radius:0;padding:0}.practice-page .answer-workspace-heading{margin-bottom:12px}.practice-page .choice-list label{border:1px solid var(--line);background:var(--canvas);box-shadow:none;border-radius:6px;transition:background-color .15s}.practice-page .choice-list label:hover{background:var(--hover)}.practice-page .choice-list label.selected,.practice-page .choice-list label:active{background:var(--active);border-color:var(--line);color:var(--ink);box-shadow:none}.practice-page .choice-list label>span{color:var(--muted);background:0 0}.question-coach{background:var(--canvas);border:0;border-radius:6px}.question-coach-heading>span{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:4px}.work-evidence{border:0;border-block:1px solid var(--line);background:0 0;border-radius:0;padding:12px 0}.coach-strategies button{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:6px}.coach-pending{color:var(--muted);background:0 0}.attempt-result.correct,.probe-complete.correct{background:var(--success-soft);color:var(--success);border-color:var(--line)}.attempt-result.incorrect,.hint-card{background:var(--warning-soft);color:var(--warning);border-color:var(--line)}.exercise-error,.login-error,.tutor-error,.teacher-alert,.cw-error{background:var(--danger-soft);color:var(--danger);border:1px solid var(--line)}.tutor-panel{background:var(--canvas);width:auto;color:var(--ink);border-left:1px solid var(--line);box-shadow:none;padding:24px 20px}.tutor-header{grid-template-columns:32px minmax(0,1fr) 28px;gap:5px 10px;display:grid}.tutor-header .tutor-avatar{grid-area:1/1/3;width:32px;height:32px}.tutor-header>div:nth-child(2){grid-area:1/2}.tutor-header h2{font-size:17px;font-weight:600}.tutor-header p{display:none}.tutor-header .tutor-availability{white-space:nowrap;width:auto;color:var(--muted);grid-area:2/2;justify-content:flex-start;margin:0;padding:0;font-size:12px;font-weight:400;display:flex}.tutor-availability i{display:none}.tutor-header .tutor-close{grid-area:1/3/3}.tutor-heading h2{font-size:18px}.tutor-heading>div>p,.tutor-context small,.tutor-policy-note{color:var(--muted);font-size:12px}.ai-coach-mark,.tutor-avatar{color:var(--ink);border:1px solid var(--line);box-shadow:none;background:0 0;border-radius:6px}.tutor-context,.active-strategy-card{border:0;border-block:1px solid var(--line);background:0 0;border-radius:0;padding:16px 0}.tutor-quick-actions button{border:0;border-bottom:1px solid var(--line);text-align:left;border-radius:0}.tutor-conversation-shell{background:0 0;border:0;border-radius:0;padding:0}.tutor-bubble{border:0;border-bottom:1px solid var(--line);color:var(--ink);box-shadow:none;background:0 0;border-radius:0;padding:14px 0}.tutor-bubble p{color:var(--ink);font-size:14px;line-height:1.8}.tutor-turn.student .tutor-bubble{background:var(--paper);border:0;border-radius:6px;padding:12px}.tutor-compose{border-top:1px solid var(--line);padding-top:16px}.tutor-compose textarea{border-radius:6px}.teacher-shell{background:var(--paper);padding-left:248px}.teacher-topbar{margin-left:-248px}.teacher-sidebar{background:var(--canvas);width:248px;padding:24px 16px 20px;top:60px;overflow-y:auto}.teacher-sidebar nav button{border:0;gap:10px;padding:9px 10px;font-size:14px}.teacher-sidebar nav button svg{width:18px;height:18px;color:var(--muted);fill:none;stroke:currentColor;stroke-width:1.6px;flex-shrink:0}.teacher-course{padding:0 8px 24px}.teacher-course strong{font-size:14px;line-height:1.7}.teacher-sidebar>p{color:var(--muted);font-size:12px}.teacher-main{max-width:1440px;padding:40px clamp(24px,4vw,56px) 72px}.teacher-page-heading h1,.cw-heading h1{color:var(--ink);font-size:32px;font-weight:650;line-height:1.4}.teacher-page-heading>div>p,.teacher-panel-title>div>p,.cw-heading>div>p{display:none}.teacher-page-heading span{color:var(--muted);font-size:14px}.teacher-panel,.cw-panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-sm);border-radius:8px;transition:background-color .15s}.teacher-panel:hover,.cw-panel:hover{background-color:var(--hover)}.cw-panel{overflow:visible}.teacher-sidebar .group:after{left:-13px}.teacher-panel-title h2,.cw-panel-head h2{font-size:18px;font-weight:600}.teacher-panel-title>span{color:var(--muted);background:0 0}.teacher-table :is(th,td),.cw-workspace :is(th,td){font-size:13px}.teacher-table th{background:var(--canvas);color:var(--muted);font-weight:500}.teacher-table td{color:var(--ink)}.teacher-table td small{color:var(--muted);font-size:12px;line-height:1.7}.teacher-table tbody tr:hover,.cw-workspace tr:hover td{background:var(--hover)}.metric-grid{border-block:1px solid var(--line);gap:0;margin-bottom:24px}.metric-grid article{box-shadow:none;background:0 0;border:0;border-radius:0;padding:24px}.metric-grid article+article{border-left:1px solid var(--line)}.metric-grid strong{font-size:30px;font-weight:600}.metric-grid :is(span,small){color:var(--muted);font-size:12px}.cw-context{background:var(--canvas);border:0;border-radius:6px}.cw-tabs{gap:8px;padding-bottom:8px}.cw-workspace .cw-tabs button{border:0;border-radius:6px;padding:8px 12px}.cw-workspace .cw-tabs button[aria-pressed=true],.cw-workspace .cw-phase-rail button[aria-pressed=true],.inspector-segmented button[aria-pressed=true]{color:var(--ink);background:var(--active);border-color:var(--line)}.cw-workspace .cw-phase-rail button{border:0;border-radius:6px;min-height:80px}.cw-phase-mark{color:var(--muted);font-size:20px}.cw-workspace .cw-phase-rail button[aria-pressed=true] .cw-phase-mark{color:var(--ink)}.cw-boundary{background:var(--canvas);color:var(--muted);border:0;border-radius:6px}.cw-panel :is(.cw-memos article,.cw-targets),.teacher-panel :is(.source-list article,.student-evidence-grid article,.ir-block,.config-version-list article,.experiment-list article){border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0}.cw-version,.cw-badge{color:var(--muted);background:var(--canvas);border:0;border-radius:4px}.cw-warning{color:var(--warning);background:var(--warning-soft)}.cw-dot-label.is-live:before,.cw-switch.is-on>span{background:var(--success);box-shadow:none}.cw-form-row{gap:16px}.teacher-form-grid label,.question-editor label{font-size:13px;font-weight:500}.lesson-editor-workbench,.lesson-editor-preview,.lesson-editor-canvas{background:var(--paper)}.lesson-editor-rail,.lesson-editor-inspector{background:var(--canvas)}.lesson-editor-preview.lesson-content{box-shadow:none;border:0;border-radius:0;padding:28px}.lesson-editor-rail button{border:0}.lesson-editor-rail button.active{background:var(--active)}.lesson-editor-page-shell{padding:16px}.lesson-editor-page-shell:before{content:"学生端预览";color:var(--muted);font:inherit;padding:4px 0;font-size:12px}.lesson-editor-inspector>header p{display:none}.lesson-editor-preview [data-editor-editable=true]:hover{background-color:var(--hover);outline-color:#0000}.lesson-editor-preview [data-editor-editable=true].is-editor-selected{outline:2px solid var(--focus);outline-offset:2px}.lesson-editor-preview .teacher-highlight{background:var(--warning-soft)}.lesson-editor-preview :is([data-exercise-slot],[data-memory-slot],[data-algorithm-lab]){background:var(--canvas)}.lesson-editor-preview [contenteditable=true]:focus{outline:2px solid var(--focus)}.lesson-destructive-button{color:var(--danger)}.selected-block-summary,.lesson-editor-guardrail{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0}.wiki-overlay,.private-memory-overlay,.consent-overlay,.teacher-confirm-overlay,.cw-modal-backdrop,.tutor-backdrop{background:var(--overlay);-webkit-backdrop-filter:none;backdrop-filter:none}.wiki-drawer,.private-memory-drawer,.consent-dialog,.teacher-confirm-dialog,.cw-modal{color:var(--ink);background:var(--paper);border-color:var(--line);box-shadow:var(--shadow-md);border-radius:8px}.wiki-drawer>header,.private-memory-drawer>header,.wiki-layout>nav{color:var(--ink);background:var(--canvas);border-color:var(--line)}.wiki-bubble-map button{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:6px}.wiki-card-index button,.memory-card-list article{box-shadow:none;border-radius:6px}.login-page{background:var(--canvas);min-height:100dvh;color:var(--ink);grid-template-columns:minmax(0,430px) minmax(0,380px);justify-content:center;gap:72px;padding:64px 28px}.login-intro{color:var(--ink);padding:0}.login-intro h1{color:var(--ink);letter-spacing:-.03em;font-size:36px;font-weight:650;line-height:1.4}.login-intro>p,.login-intro li{color:var(--muted);font-size:14px;line-height:1.9}.login-intro .eyebrow{color:var(--muted);font-size:14px}.login-intro li:before{color:var(--muted);background:0 0}.login-brand{margin-bottom:24px}.login-card{border:1px solid var(--line);background:var(--paper);width:100%;max-width:380px;box-shadow:var(--shadow-sm);border-radius:8px;padding:32px}.login-card h2{color:var(--ink);font-size:24px}.login-card .stage-badge{display:none}.login-card>p,.login-card>small{color:var(--muted);font-size:13px;line-height:1.7}.login-card label{color:var(--ink);font-size:14px}.login-card input,.login-card button{min-height:40px}.skip-link{background:var(--paper);color:var(--ink);border:1px solid var(--line);position:fixed;top:-100px;left:16px}.skip-link:focus{top:10px}.load-state,.app-boot{color:var(--muted);background:var(--paper)}.loader{border:1px solid var(--line);background:var(--active);border-radius:6px;animation:none}.lesson-content .lesson-emphasis-key{background:var(--warning-soft);color:var(--ink);border-radius:4px;padding:4px 8px}.lesson-content .lesson-emphasis-note{background:var(--info-soft);color:var(--ink);border:0;border-radius:6px;padding:13px 15px}.lesson-content :is(.reference-lesson,.ppt-lesson) section.lesson-layout-wide{width:calc(100% + 32px);margin-left:-16px}.lesson-content :is(.reference-lesson,.ppt-lesson) section.lesson-layout-compact{padding-top:16px;padding-bottom:16px}.lesson-content .lesson-layout-columns{column-count:2;column-gap:32px}@media (width<=1439px){.workspace{grid-template-columns:248px minmax(0,1fr)}.tutor-panel{visibility:hidden;pointer-events:none;width:min(380px,100%);height:calc(100dvh - 60px);position:fixed;top:60px;bottom:0;right:0}.tutor-panel.is-open{visibility:visible;pointer-events:auto}.tutor-backdrop{top:60px}}@media (width<=980px){.workspace,.student-page-practice .workspace{display:block}.lesson-nav{z-index:25;width:260px;height:calc(100dvh - 60px);display:none;position:fixed;top:60px;bottom:0;left:0}.lesson-nav.is-open{display:flex}.menu-button{display:inline-flex}.stage-badge{display:none}.lesson-main{padding-inline:36px}.teacher-main{padding-inline:24px}}@media (width<=820px){.lesson-content :is(.reference-lesson,.ppt-lesson) section.lesson-layout-wide{width:100%;margin-left:0}.lesson-content .lesson-layout-columns{column-count:1}.teacher-shell{padding-left:0}.teacher-topbar{margin-left:0}.teacher-sidebar{border:0;border-bottom:1px solid var(--line);width:100%;padding:10px 16px;position:static;overflow:visible}.teacher-course,.teacher-sidebar>p{display:none}.teacher-sidebar nav{gap:4px;min-width:0;max-width:100%;margin:0;padding:3px 0;display:flex;overflow-x:auto}.teacher-sidebar nav button{flex-shrink:0;width:auto;padding:8px;font-size:13px}.teacher-sidebar nav button svg{width:16px;height:16px}.teacher-main{padding-top:28px}.teacher-page-heading h1,.cw-heading h1{font-size:27px}.teacher-page-heading{align-items:stretch}.login-page{grid-template-columns:minmax(0,440px);gap:30px;padding:36px 24px}.login-intro h1{font-size:28px}.login-intro ul{display:none}}@media (width<=600px){.topbar{gap:8px;height:56px;padding:0 12px}.brand-icon{width:26px;height:28px;font-size:13px}.brand-block strong{font-size:13px}.topbar-meta{gap:2px}.topbar-meta .user-menu>span,.tutor-toggle-button>span{display:none}.topbar-meta .user-menu{display:inline-flex}.topbar-meta button{padding:6px;font-size:12px}.student-topbar .brand-block{flex-shrink:0;max-width:145px}.student-topbar .brand-block strong{white-space:nowrap}.lesson-nav,.tutor-panel{height:calc(100dvh - 56px);top:56px}.tutor-backdrop{top:56px}.lesson-main{padding:16px 24px 48px}.lesson-content :is(.lesson-hero,.ppt-lesson-hero){padding:32px 0 24px}.lesson-content :is(.lesson-hero,.ppt-lesson-hero) h1{font-size:30px}.lesson-content .ppt-lesson-hero{grid-template-columns:1fr}.ppt-hero-image{max-width:180px;max-height:120px}.lesson-content :is(h2,.ppt-chapter-cover p){font-size:23px}.lesson-content .reference-lesson>section:not(.lesson-exercise-bank),.lesson-content .ppt-reading-block{padding:28px 0}.lesson-content :is(.card-grid,.summary-grid)>:not(:first-child){border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.block-handle{left:-18px}.student-page-practice .lesson-main{padding:28px 20px 48px}.practice-heading h1{font-size:27px}.practice-heading{gap:16px}.practice-question-nav{gap:14px}.practice-page .task-card-header{padding:0 0 16px}.practice-page .answer-workspace{padding:0}.practice-page .question-stem{font-size:16px}.teacher-main{padding-inline:18px}.teacher-page-heading{flex-direction:column;gap:16px}.teacher-page-heading label{width:100%;min-width:0}.cw-form-row{grid-template-columns:1fr}.cw-workspace .cw-tabs button{padding-inline:8px}.cw-tabs{gap:2px;max-width:100%;overflow-x:auto}.cw-workspace .cw-tabs button{white-space:nowrap;flex-shrink:0}.cw-setting-row{align-items:flex-start;gap:12px}.metric-grid article{padding:18px 10px}.lesson-editor-preview.lesson-content{padding:20px}}@media (hover:none){.block-handle{display:none}}@media (width<=370px){.student-topbar .brand-icon{display:none}.student-topbar .topbar-meta button{white-space:nowrap;padding-inline:4px}.student-topbar .brand-block strong{font-size:12px}.student-topbar .user-menu{display:inline-flex}}.lesson-scene{border-left:3px solid var(--link);background:var(--info-soft);margin-top:24px;padding:16px 20px}.lesson-content .lesson-scene p{margin-bottom:0}.lesson-content .lesson-check{border:1px solid var(--line);background:var(--canvas);border-radius:6px;margin:24px 0;padding:16px 20px}.lesson-check>strong{font-size:14px;display:block}.lesson-content .lesson-check p{margin:8px 0}.lesson-check details{margin-top:12px}.lesson-check summary{cursor:pointer;width:fit-content;min-height:32px;color:var(--link);padding:4px 0;font-size:14px}.lesson-check summary:hover{color:var(--ink)}.reference-lab{border:1px solid var(--line);background:var(--canvas);border-radius:6px;margin:24px 0;padding:20px}.reference-lab header p{color:var(--muted);margin:0 0 6px;font-size:12px}.reference-lab header h3{margin:0 0 16px}.reference-modes{flex-wrap:wrap;gap:6px;display:flex}.reference-modes button,.reference-actions button{min-height:36px;padding:6px 10px;font-size:12px}.reference-modes button[aria-pressed=true]{background:var(--active);color:var(--ink)}.reference-code{margin:0;padding:12px 0;list-style:none}.reference-code li{border-left:2px solid #0000;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:6px 10px;display:flex}.reference-code li[aria-current=step]{background:var(--info-soft);border-left-color:var(--link)}.reference-code small{color:var(--muted);font-size:11px}.reference-map{border-block:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px 0;display:grid}.reference-map>div{flex-direction:column;gap:6px;min-width:0;display:flex}.reference-map>div>span,.reference-map small{color:var(--muted);font-size:11px}.reference-map strong{justify-content:space-between;margin-top:8px;display:flex}.reference-object{background:var(--paper);border:1px solid var(--line);border-radius:4px;gap:4px;min-height:60px;padding:8px 12px;transition:background-color .15s;display:grid}.reference-object.is-changed{background:var(--info-soft)}.reference-bindings{flex-wrap:wrap;gap:6px;min-height:28px;display:flex}.reference-bindings span{border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:12px}.lesson-content .reference-caption{color:var(--muted);font-size:12px}.reference-status{min-height:3.8em;font-size:14px}.reference-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reference-actions>span{color:var(--muted);margin-left:auto;font-size:12px}.lesson-nav .lesson-picker{margin:24px 8px}.lesson-directory{border-left:1px solid var(--line);background:var(--paper);flex-direction:column;min-width:0;height:calc(100dvh - 60px);padding:24px 16px 84px;display:flex;position:sticky;top:60px}.directory-heading{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;font-size:12px;display:flex}.lesson-picker{min-width:0;color:var(--muted);gap:8px;font-size:12px;display:grid}.lesson-picker select{border:1px solid var(--line);background:var(--canvas);width:100%;min-width:0;min-height:40px;color:var(--ink);font:inherit;border-radius:6px;padding:8px;font-size:13px}.directory-label{justify-content:space-between;align-items:baseline;gap:8px;padding:24px 0 12px;display:flex}.directory-label strong{font-size:13px;font-weight:600}.directory-label small{color:var(--muted);font-size:11px}.directory-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.directory-scroll ol{margin:0;padding:0;list-style:none}.directory-scroll li{margin:2px 0}.directory-scroll a{color:var(--muted);overflow-wrap:anywhere;border-left:2px solid #0000;border-radius:0 4px 4px 0;padding:7px 8px;font-size:12px;line-height:1.6;text-decoration:none;display:block}.directory-scroll .directory-level-0{margin-top:10px}.directory-level-0 a{color:var(--ink);font-weight:600}.directory-level-1 a{padding-left:18px}.directory-level-2 a{padding-left:28px}.directory-scroll a:hover{background:var(--hover);color:var(--ink)}.directory-scroll a[aria-current=location]{color:var(--link);background:var(--info-soft);border-left-color:var(--link)}.directory-status{color:var(--muted);font-size:13px;line-height:1.8}.directory-toggle,.directory-close{display:none}.lesson-content [id^=outline-]{scroll-margin-top:92px}.lesson-content section>:is(h3,h4){margin-top:32px}.lesson-content .reference-lesson section section[data-block-id]{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.lesson-content h4{color:var(--ink);font-size:17px;font-weight:600;line-height:1.6}.lesson-content pre:not([data-python-runner]){white-space:pre;max-width:100%;overflow-x:auto}.student-topbar .tutor-toggle-button{align-items:center;display:inline-flex}.tutor-drawer{z-index:var(--z-tutor);visibility:hidden;pointer-events:none;width:min(400px,100%);height:calc(100dvh - 60px);position:fixed;inset:60px 0 0 auto}.tutor-drawer.is-open{visibility:visible;pointer-events:auto}.tutor-drawer .tutor-close{place-items:center;display:grid}.tutor-backdrop{z-index:var(--z-tutor-backdrop);background:var(--overlay);border:0;width:100%;display:block;position:fixed;inset:60px 0 0}@media (width>=1240px){.student-page-lesson .workspace{grid-template-columns:224px minmax(0,1fr) 280px}.student-page-lesson .lesson-main{padding-inline:clamp(28px,3vw,56px)}}@media (width<=1239px){.student-page-lesson .workspace{grid-template-columns:224px minmax(0,1fr)}.lesson-directory{width:min(320px,100%);z-index:var(--z-navigation);border-left:1px solid var(--line);box-shadow:var(--shadow-md);display:none;position:fixed;right:0}.lesson-directory.is-open{display:flex}.directory-toggle,.directory-close{align-items:center;min-height:36px;display:inline-flex}.stage-badge{display:none}}@media (width<=600px){.student-topbar .brand-block>div:not(.brand-icon){display:none}.student-topbar .brand-icon{display:grid}.student-topbar .topbar-meta{gap:4px}.lesson-directory,.tutor-drawer{height:calc(100dvh - 56px);top:56px}.tutor-backdrop{top:56px}.directory-scroll a{min-height:36px}}.student-shell .student-topbar{height:var(--student-header-height);min-height:var(--student-header-height);grid-template-columns:minmax(160px,1fr) auto minmax(150px,1fr);gap:16px;padding:0 24px;display:grid}.student-shell .student-topbar .topbar-meta{justify-self:end;gap:6px}.student-primary-nav{align-items:center;gap:4px;min-width:0;display:flex}.student-primary-nav a{min-height:40px;color:var(--muted);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.student-primary-nav a svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.student-primary-nav a:hover{color:var(--ink);background:var(--hover)}.student-primary-nav a:active{background:var(--active)}.student-primary-nav a[aria-current=page]{color:var(--link);background:var(--info-soft);font-weight:650}.student-shell .workspace{grid-template-columns:272px minmax(0,1fr);display:grid}.student-shell .lesson-directory{inset:auto;top:var(--student-header-height);width:auto;height:calc(100dvh - var(--student-header-height));background:var(--canvas);border:0;border-right:1px solid var(--line);box-shadow:none;padding:26px 18px 18px;display:flex;position:sticky}.student-shell .directory-heading{color:var(--ink);margin-bottom:24px;font-size:14px;font-weight:600}.student-shell .lesson-picker select{background:var(--paper);min-height:44px}.student-shell .directory-label{padding-top:26px}.student-shell .directory-scroll a{border-left:0;border-radius:4px}.student-shell .directory-level-0 a{padding-block:9px;font-size:13px}.student-shell .directory-scroll a[aria-current=location]{color:var(--link);background:var(--info-soft)}.directory-version{color:var(--muted);margin-top:auto;padding:16px 8px 0;font-size:11px}.student-shell .directory-close,.student-shell .directory-toggle{display:none}.student-shell .lesson-main{min-height:calc(100dvh - var(--student-header-height));padding:32px clamp(28px,5vw,88px) 96px}.student-shell :is(.lesson-content [id^=outline-],[data-student-page] h1,#lesson-content){scroll-margin-top:calc(var(--student-header-height) + 24px)}.student-shell .tutor-drawer{top:var(--student-header-height);height:calc(100dvh - var(--student-header-height))}.student-shell .tutor-backdrop{top:var(--student-header-height)}.student-shell:is(.student-page-wiki,.student-page-map) .workspace{display:block}.student-shell:is(.student-page-wiki,.student-page-map) .lesson-main{padding:0}.student-route-state{max-width:800px;min-height:340px;margin:0 auto;padding:32px 24px}.student-route-state h1{font-size:32px}.student-route-state h2{margin-top:36px;font-size:20px}.student-route-state p{color:var(--muted);line-height:1.8}@media (width<=1199px){:root{--student-header-height:108px}.student-shell .student-topbar{grid-template-rows:56px 52px;grid-template-columns:minmax(0,1fr) auto;gap:0 12px;padding:0 20px}.student-primary-nav{grid-area:2/1/auto/-1;align-self:stretch;padding:2px 0 8px;overflow-x:auto}.student-shell .student-topbar .topbar-meta{grid-area:1/2}.student-shell .lesson-main{padding-inline:32px}}@media (width<=979px){.student-shell .workspace{display:block}.student-shell .lesson-directory{width:min(300px,100% - 24px);z-index:var(--z-navigation);box-shadow:var(--shadow-md);display:none;position:fixed;left:0;right:auto}.student-shell .lesson-directory.is-open{display:flex}.student-shell .directory-close,.student-shell .directory-toggle{justify-content:center;align-items:center;min-height:40px;display:inline-flex}}@media (width<=600px){.student-shell .student-topbar{gap:0 8px;padding-inline:12px}.student-shell .student-topbar .brand-icon{display:none}.student-shell .student-topbar .brand-block>div:not(.brand-icon){display:block}.student-shell .student-topbar .brand-block strong{max-width:none;font-size:13px}.student-shell .student-topbar .brand-block>div>span{display:none}.student-shell .student-topbar .user-menu{min-height:40px;padding:2px;display:flex}.student-shell .student-topbar .user-menu>span{display:none}.student-shell .student-topbar .tutor-toggle-button{min-width:40px;padding-inline:6px}.student-shell .student-topbar .directory-toggle{padding-inline:6px;font-size:12px}.student-primary-nav{gap:2px}.student-primary-nav a{min-height:40px;padding:8px 10px;font-size:13px}.student-primary-nav a svg{display:none}.student-shell .lesson-main{padding:24px 20px 96px}.student-shell:is(.student-page-wiki,.student-page-map) .lesson-main{padding:0}.student-route-state h1{font-size:26px}}@media (width<=370px){.student-shell .student-topbar .brand-block strong{max-width:70px}.student-shell .student-topbar .topbar-meta{gap:2px}}
