/* OpenDesign Paper / orange editorial. Consolidated from the supplied final index, not the historical override files.
 * The lesson-flow components live in flow.css. Structural diagram rules remain here.
 * Hallmark: genre editorial; system DESIGN.md; macrostructure learning workbench. */
@layer od-layout {:where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile) > :where(*) {min-width: 0;}
.od-stack   {display: flex;flex-direction: column;gap: var(--od-gap, 8px);}
.od-row     {display: flex;align-items: center;gap: var(--od-gap, 8px);}
.od-row-top {display: flex;align-items: flex-start;gap: var(--od-gap, 8px);}
.od-cluster {display: flex;flex-wrap: wrap;align-items: center;gap: var(--od-gap, 8px);}
.od-fill    {flex: 1 1 0;min-width: 0;}
.od-fixed   {flex: none;}
.od-grid    {display: grid;gap: var(--od-gap, 12px);grid-template-columns: repeat(var(--od-cols, 3), minmax(0, 1fr));}
.od-stat, .od-field, .od-cell {display: grid;gap: var(--od-gap, 2px);}
:where(.od-stat,.od-field,.od-cell) > :where(*) {display: block;}
.od-tile {display: grid;grid-template-rows: auto 1fr;}
:where(.od-tile) > :where(*) {display: block;}
.od-media {display: block;width: 100%;height: auto;aspect-ratio: var(--od-ratio, auto);}
.od-media-cover {object-fit: cover;}
.od-truncate {display: block;max-width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.od-clamp-2, .od-clamp-3 {display: -webkit-box;-webkit-box-orient: vertical;overflow: hidden;overflow-wrap: anywhere;}
.od-clamp-2 {-webkit-line-clamp: 2;}
.od-clamp-3 {-webkit-line-clamp: 3;}
.od-lines-2 {min-height: calc(2 * 1.4em);}
.od-nowrap  {white-space: nowrap;}
.od-keep    {word-break: keep-all;overflow-wrap: anywhere;}
.od-screen {display: grid;grid-template-rows: auto minmax(0, 1fr) auto;height: 100%;}
.od-scroll {overflow-y: auto;overscroll-behavior: contain;min-height: 0;}
.od-rail {display: flex;gap: var(--od-gap, 8px);overflow-x: auto;scroll-snap-type: x proximity;scrollbar-width: none;padding-inline: var(--od-rail-pad, 16px);scroll-padding-inline: var(--od-rail-pad, 16px);}
.od-rail::-webkit-scrollbar {display: none;}
:where(.od-rail) > :where(*) {flex: none;scroll-snap-align: start;}
:where(.od-rail) > :where(:last-child) {margin-inline-end: var(--od-rail-pad, 16px);}
.od-spacer {flex: none;visibility: hidden;pointer-events: none;}
.od-touch  {min-width: 44px;min-height: 44px;}}
:root{color-scheme:light;font-synthesis:none;}
:root[data-theme=contrast]{--shadow:none;}
html{scroll-behavior:smooth;}
body{margin:0;}
button,input,textarea,select{font:inherit;}
button,a,input,select,textarea{touch-action:manipulation;}
button{cursor:pointer;}
.skip{position:fixed;top:-100px;left:15px;background:var(--panel);padding:12px;z-index:1000;}
.skip:focus{top:12px;}
button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:9px;padding:10px 15px;font-weight:600;}
button:hover:not(:disabled){background:var(--soft);border-color:var(--graph-line);}
button.primary,.button.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
button.primary:hover{filter:brightness(1.08);}
button.ghost{background:transparent;border-color:transparent;}
button.small{padding:6px 10px;font-size:13px;}
button.danger{color:var(--bad);}
button.icon{padding:8px 10px;min-width:38px;}
.button{display:inline-flex;padding:10px 15px;text-decoration:none;border-radius:9px;font-weight:650;border:1px solid var(--line);}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:10px 12px;border-radius:8px;max-width:100%;}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:18px;height:18px;vertical-align:middle;margin-right:7px;}
textarea{width:100%;min-height:90px;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.field>label{font-size:13px;font-weight:700;color:var(--muted);}
.field small{color:var(--muted);}
.inline-fields{display:flex;flex-wrap:wrap;gap:12px;align-items:end;}
.inline-fields .field{flex:1;min-width:100px;}
.check-label{display:inline-flex;gap:4px;align-items:center;margin:5px 12px 5px 0;font-weight:500;}
.checkbox-grid{display:flex;flex-wrap:wrap;gap:10px;}
#shell{display:grid;min-height:100vh;}
.sidebar{position:sticky;top:0;z-index:40;}
.brand{display:flex;align-items:center;color:var(--ink);text-decoration:none;}
.brand-mark{place-items:center;font:24px Georgia,serif;}
.brand small{display:block;color:var(--muted);}
.nav-list{display:flex;flex-direction:column;}
.nav-list a{display:flex;align-items:center;text-decoration:none;font-weight:600;}
.nav-list a svg{height:18px;width:18px;}
.nav-list a:hover{background:var(--soft);}
.side-bottom{color:var(--muted);}
.side-status{display:flex;align-items:center;gap:7px;margin-bottom:7px;}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);}
.side-bottom .button-row{margin-top:14px;}
.mobile-header{display:none;}
.topbar{display:flex;align-items:center;justify-content:space-between;}
.topbar .meta{display:flex;align-items:center;font-size:12px;color:var(--muted);}
main{margin:0 auto;}
h1{margin:7px 0 14px;}
h2{margin:0 0 17px;}
h3{margin:0 0 12px;}
h4{margin:15px 0 8px;}
p{margin:0 0 15px;}
.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:750;text-transform:uppercase;color:var(--muted);}
.lede{color:var(--muted);max-width:730px;}
.tiny{font-size:12px;}
.page-heading{display:flex;justify-content:space-between;}
.page-heading .button-row{flex-shrink:0;}
.button-row{display:flex;align-items:center;flex-wrap:wrap;}
.section-line{display:flex;justify-content:space-between;gap:20px;align-items:center;}
.section-line h2{margin:0;}
.section-line a{font-size:13px;}
.grid{display:grid;gap:18px;}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}
.card.flat{box-shadow:none;}
.card.accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.card.accent .eyebrow,.card.accent .muted{color:inherit;opacity:.8;}
.card.accent button{background:var(--on-accent);color:var(--accent);border-color:transparent;}
.hero-study{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:25px;padding:29px 32px;}
.hero-study h2{font-size:28px;max-width:700px;}
.hero-study .step-art{display:flex;flex-direction:column;justify-content:center;gap:12px;border-left:1px solid #ffffff35;padding-left:23px;font-size:13px;}
.step-art .row{display:flex;align-items:center;gap:11px;}
.step-art b{height:26px;width:26px;display:grid;place-items:center;border:1px solid #ffffff88;border-radius:50%;font-size:12px;}
.metric{font-size:29px;font-weight:720;line-height:1.1;margin:13px 0 7px;letter-spacing:-.8px;}
.metric-label{font-size:12px;font-weight:650;color:var(--muted);}
.meter{height:6px;background:var(--soft);border-radius:8px;overflow:hidden;margin:13px 0;}
.meter>span{height:100%;display:block;background:var(--accent);}
.chapter-card{position:relative;text-decoration:none;color:var(--ink);display:block;padding:21px;}
.chapter-card:hover{border-color:var(--accent);background:var(--panel);}
.chapter-card .chapter-num{font-size:11px;font-weight:800;border:1px solid var(--line);padding:4px 7px;border-radius:6px;display:inline-block;margin-bottom:14px;}
.chapter-card h3{font-size:17px;min-height:41px;}
.chapter-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);}
.badge{display:inline-flex;align-items:center;font-size:11px;line-height:1.3;font-weight:700;background:var(--soft);color:var(--muted);gap:5px;white-space:normal;}
.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0;}
.notice{padding:15px 18px;background:var(--soft);border:1px solid var(--line);line-height:1.6;margin:17px 0;}
.notice.good{background:var(--accent-soft);color:var(--good);border-color:var(--accent);}
.notice.warn{background:var(--gold-bg);color:var(--gold);}
.notice.bad{background:var(--bad-bg);color:var(--bad);}
.notice p:last-child{margin:0;}
.notice strong{display:block;margin-bottom:5px;}
.empty{padding:30px;text-align:center;color:var(--muted);background:var(--soft);border-radius:12px;}
.list-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);}
.list-row:last-child{border-bottom:0;}
.list-row .subtitle{font-size:12px;color:var(--muted);margin-top:4px;}
.list-row a.title{font-weight:650;text-decoration:none;color:var(--ink);}
.list-row .num{font-variant-numeric:tabular-nums;font-size:12px;color:var(--muted);min-width:38px;}
.list-start{display:flex;align-items:center;gap:15px;}
.filters{display:flex;flex-wrap:wrap;gap:11px;margin:23px 0;}
.filters input{flex:1;min-width:180px;}
.filters select{max-width:240px;}
.chapter-group summary{cursor:pointer;font-size:18px;font-weight:700;list-style:none;padding:20px 24px;display:flex;justify-content:space-between;gap:12px;align-items:center;}
.chapter-group summary::-webkit-details-marker{display:none;}
.chapter-group summary:after{content:"+";font-size:22px;color:var(--muted);}
.chapter-group[open] summary:after{content:"−";}
.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px;align-items:start;}
.lesson-main{min-width:0;}
.lesson-aside{position:sticky;top:20px;}
.lesson-aside .card{padding:19px;margin-bottom:16px;}
.lesson-aside ul{padding-left:18px;margin:0;font-size:13px;}
.lesson-aside li{margin:7px 0;}
.lesson-tabs{margin-bottom:25px;padding-bottom:0;}
.lesson-tabs button{border:0;background:transparent;border-radius:0;padding:12px 13px;font-size:13px;white-space:nowrap;border-bottom:3px solid transparent;color:var(--muted);}
.lesson-tabs button.active{border-bottom-color:var(--accent);color:var(--accent);}
.lesson-copy{font-family:ui-serif,Georgia,Cambria,"Times New Roman",serif;font-size:19px;line-height:1.8;}
.lesson-copy h3,.lesson-copy h4{font-family:Inter,system-ui,sans-serif;margin-top:25px;}
.lesson-copy p{margin-bottom:20px;}
.lesson-copy li{margin-bottom:12px;}
.lesson-copy table{font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.65;}
.intuition{font-size:19px;line-height:1.7;padding:23px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0;margin-bottom:24px;font-family:ui-serif,Georgia,serif;}
.formula{font-family:Cambria,"STIX Two Math","DejaVu Serif",serif;font-size:19px;padding:17px 19px;background:var(--soft);border:1px solid var(--line);border-radius:8px;margin:18px 0;line-height:1.85;}
.over{display:inline-block;text-decoration:overline;line-height:1.7;padding-top:1px;}
.method-step{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);}
.method-step:last-child{border-bottom:0;}
.method-step>span{flex:none;display:grid;place-items:center;width:27px;height:27px;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800;}
.method-step p{margin:0;font-size:15px;line-height:1.7;}
.trap{display:flex;gap:10px;margin:12px 0;color:var(--muted);font-size:14px;}
.trap:before{content:"!";font-weight:800;color:var(--gold);}
.skill-item{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;}
.skill-item .skill-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:3px;}
.skill-item button{padding:0;border:0;background:transparent;font-size:12px;font-weight:500;text-align:left;color:var(--muted);}
.learn-footer{justify-content:space-between;border-top:1px solid var(--line);}
.recall-card textarea{min-height:180px;}
.source-line{font-size:11px;color:var(--muted);line-height:1.6;margin-top:25px;}
.table-scroll{margin:16px 0;}
table{border-collapse:collapse;width:100%;font-size:14px;}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);}
th{font-size:12px;font-weight:700;color:var(--muted);background:var(--soft);}
tbody tr:last-child td{border-bottom:0;}
.matrix-wrap{display:flex;justify-content:center;margin:14px 0;overflow-x:auto;padding:3px;}
.matrix{width:auto;border-left:2px solid var(--ink);border-right:2px solid var(--ink);border-radius:2px;font-family:Cambria,"DejaVu Serif",serif;font-size:18px;}
.matrix td{border:0;text-align:center;min-width:42px;padding:8px 13px;}
.matrix td.spotlight{background:var(--gold-bg);color:var(--gold);}
.math-svg{display:block;max-height:380px;margin:10px auto;overflow:visible;}
.node-label{font:600 15px system-ui,sans-serif;fill:var(--ink);}
.small-label,.edge-label{font:600 12px system-ui,sans-serif;fill:var(--ink);}
.graph-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:center;}
.diagram-area{padding:15px;background:var(--soft);border-radius:10px;margin:16px 0;}
.diagram-area .math-svg{background:var(--panel);border-radius:8px;}
.question-stem{margin:18px 0 22px;}
.question-stem .table-scroll{font-size:15px;}
.question-type{font-size:11px;letter-spacing:1px;text-transform:uppercase;}
.choices{display:flex;flex-direction:column;gap:11px;margin:20px 0;}
.choice{display:flex;align-items:flex-start;text-align:left;border-radius:9px;border:1px solid var(--line);font-weight:450;line-height:1.6;}
.choice .letter{flex:none;width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--muted);}
.choice.selected{background:var(--accent-soft);border-color:var(--accent);}
.choice.correct{background:var(--accent-soft);}
.choice.wrong{border-color:var(--bad);background:var(--bad-bg);}
.choice.correct .letter{color:var(--good);}
.answer-input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:19px;width:100%;min-height:53px;}
.answer-help{font-size:12px;color:var(--muted);margin:6px 0 15px;}
.feedback{padding:22px;border-radius:11px;background:var(--soft);border:1px solid var(--line);margin:23px 0;}
.feedback h3{margin-bottom:13px;}
.feedback.good{border-color:var(--good);background:var(--accent-soft);}
.feedback.bad{border-color:var(--bad);background:var(--bad-bg);}
.solution-step{padding:10px 0;display:flex;gap:11px;font-size:15px;line-height:1.65;}
.solution-step>span{color:var(--muted);font-size:11px;flex:none;padding-top:4px;width:18px;}
.answer-box{font-family:Cambria,Georgia,serif;font-size:19px;border:1px solid var(--line);border-radius:7px;padding:13px 15px;background:var(--panel);margin:15px 0;overflow-wrap:anywhere;}
.confidence{align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap;margin:15px 0;}
.session-grid{display:grid;grid-template-columns:minmax(0,1fr) 225px;align-items:start;}
.session-nav button{font-size:12px;}
.session-nav button.answered{background:var(--accent-soft);color:var(--accent);}
.session-nav button.current{border:2px solid var(--accent);padding:5px 0;}
.session-nav button.flagged:after{content:"•";color:var(--gold);padding-left:2px;}
.session-aside{position:sticky;top:20px;}
.session-aside .card{padding:18px;margin-bottom:15px;}
.time{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;letter-spacing:-.5px;}
.score-number{font-size:58px;letter-spacing:-2px;font-weight:750;line-height:1.1;}
.review-item{padding:22px;border-bottom:1px solid var(--line);}
.review-item:last-child{border-bottom:0;}
.review-item summary{cursor:pointer;font-size:15px;font-weight:600;}
.review-item .question-stem{font-size:16px;}
.lab-layout{display:grid;grid-template-columns:295px minmax(0,1fr);gap:20px;align-items:start;}
.lab-controls{padding:21px;}
.lab-controls .field{margin-bottom:17px;}
.lab-output{padding:24px;min-height:390px;}
.lab-note{font-size:13px;line-height:1.6;margin:17px 0;color:var(--muted);}
.lab-controls textarea{font-family:ui-monospace,monospace;font-size:14px;min-height:80px;}
.bit-button{font-variant-numeric:tabular-nums;padding:9px 13px;}
.bit-button.on{background:var(--accent);color:var(--on-accent);}
.toggle-grid{display:grid;gap:6px;max-width:300px;margin:15px auto;}
.toggle-grid button{padding:8px;min-width:37px;font-variant-numeric:tabular-nums;}
.toggle-grid .bit-on{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.toggle-grid .axis{font-size:12px;font-weight:700;text-align:center;align-self:center;}
.lab-log{background:var(--soft);padding:15px;border-radius:8px;margin:15px 0;font-size:14px;}
.lab-log .queue{font-family:ui-monospace,monospace;font-size:13px;margin-top:8px;}
.proof-line{display:flex;gap:14px;align-items:center;margin:8px 0;padding:14px;background:var(--soft);border-radius:8px;}
.proof-line .line-text{flex:1;font-size:14px;}
.proof-line .line-number{font-size:12px;color:var(--muted);}
.proof-line .line-arrows{display:flex;flex-direction:column;gap:4px;}
.proof-line button{padding:0 8px;line-height:23px;font-size:13px;}
.coverage-cell{white-space:nowrap;}
.citation{font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px;}
.reference-list details{border-bottom:1px solid var(--line);padding:15px 0;}
.reference-list summary{cursor:pointer;font-weight:650;}
.reference-list details p{font-size:14px;margin-top:12px;}
.backup-box{border:1px dashed var(--graph-line);border-radius:10px;padding:24px;text-align:center;}
.search-result{padding:18px 0;border-bottom:1px solid var(--line);}
.notebook-section{padding:18px 0;}
.notebook-section blockquote{padding-left:18px;border-left:3px solid var(--line);}
.modal-backdrop{position:fixed;inset:0;background:#13261dc4;display:flex;align-items:center;justify-content:center;z-index:500;padding:20px;}
.modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:27px;max-width:620px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 25px 90px #0005;}
.modal h2{margin-right:25px;}
.modal .close{float:right;}
.toast{position:fixed;bottom:24px;right:24px;max-width:420px;background:var(--ink);color:var(--bg);padding:15px 20px;border-radius:10px;font-size:14px;box-shadow:0 10px 35px #0002;z-index:600;}
.rule{height:1px;background:var(--line);}
.arrow{margin-left:8px;}
.loading{padding:70px;text-align:center;}
.print-only{display:none;}
.error-banner{display:none;}
.no-script{padding:35px;color:#8a2b24;background:#fff2e9;}
@media(min-width:1500px){main{padding-left:60px;padding-right:60px;}
.topbar{padding-left:60px;padding-right:60px;}}
@media(max-width:1150px){#shell{grid-template-columns:200px 1fr;}
.sidebar{padding-left:12px;padding-right:12px;}
.topbar{padding:0 26px;}
main{padding:30px 26px;}
.lesson-layout{grid-template-columns:minmax(0,1fr) 230px;}
.grid.four{grid-template-columns:repeat(2,1fr);}
.hero-study{grid-template-columns:1fr;}
.hero-study .step-art{display:none;}
.lab-layout{grid-template-columns:245px minmax(0,1fr);}
.session-grid{grid-template-columns:minmax(0,1fr) 185px;}
.lesson-copy{font-size:18px;}
.lesson-tabs button{padding:11px 9px;}}
@media(max-width:960px){.lesson-layout{grid-template-columns:1fr;}
.lesson-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px;}
.lesson-aside .card{margin:0;}
.grid.three{grid-template-columns:repeat(2,1fr);}
.lab-layout{grid-template-columns:1fr;}
.lab-controls{display:block;}
.lab-controls .control-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;}
.session-grid{grid-template-columns:1fr;}
.session-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px;}
.session-aside .card{margin:0;}
.page-heading{flex-wrap:wrap;}
.settings-grid{grid-template-columns:1fr;}}
@media(max-width:720px){#shell{display:block;}
.sidebar{display:none;position:fixed;left:0;top:60px;bottom:0;height:calc(100vh - 60px);width:260px;box-shadow:20px 0 80px #10291b44;overflow:auto;}
.sidebar.open{display:flex;}
.sidebar .brand{display:none;}
.mobile-header{display:flex;position:sticky;top:0;height:61px;align-items:center;justify-content:space-between;padding:0 17px;background:var(--panel);border-bottom:1px solid var(--line);z-index:100;}
.mobile-header .brand{font-size:17px;padding:0;gap:8px;}
.mobile-header .brand-mark{height:29px;width:29px;font-size:20px;}
.mobile-header .brand small{display:none;}
.topbar{height:49px;padding:0 20px;}
.topbar .meta .desktop-only{display:none;}
.topbar .crumb{font-size:10px;letter-spacing:1px;}
main{padding:25px 18px 50px;}
h1{font-size:30px;}
.lede{font-size:15px;}
.card{padding:20px;border-radius:12px;}
.hero-study{padding:24px;}
.hero-study h2{font-size:24px;}
.grid.three,.grid.two{grid-template-columns:1fr;}
.grid.four{gap:10px;}
.grid.four .card{padding:16px;}
.metric{font-size:26px;}
.page-heading{gap:12px;}
.page-heading .button-row{flex-shrink:1;}
.lesson-heading h1{font-size:27px;}
.lesson-aside{grid-template-columns:1fr;}
.lesson-copy{font-size:18px;line-height:1.8;}
.lesson-tabs{margin-left:-4px;margin-right:-4px;}
.lesson-tabs button{padding:10px 10px;font-size:12px;}
.intuition{padding:17px;font-size:18px;}
.question-stem{font-size:18px;}
.session-aside{grid-template-columns:1fr;}
.session-nav{grid-template-columns:repeat(10,1fr);}
.session-nav button{min-width:0;}
.list-row{gap:10px;}
.list-start{gap:9px;}
.list-row .badge{font-size:10px;max-width:110px;}
.list-row .title{font-size:14px;}
.chapter-group summary{font-size:16px;padding:18px;}
.chapter-group .group-list{padding:0 18px 10px;}
.list-row .num{min-width:33px;}
.lab-controls .control-grid{grid-template-columns:1fr 1fr;}
.lab-output{padding:18px;}
.inline-fields .field{min-width:85px;}
.graph-pair{gap:5px;}
.formula{font-size:17px;padding:12px;}
.filters select{max-width:100%;}
.filters>*{flex:1;}
.toast{left:18px;right:18px;bottom:15px;}
.section-line{gap:12px;}
.section-line h2{font-size:21px;}
.table-scroll td,.table-scroll th{padding:8px;}
.lesson-copy ul{padding-left:22px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
*,*:before,*:after{transition:none!important;animation:none!important;}}
@media print{body{background:#fff!important;color:#000!important;font-size:11pt;}
#shell{display:block;}
.sidebar,.topbar,.mobile-header,.lesson-tabs,.lesson-aside,.learn-footer,.button-row,button,.session-aside,.toast,.no-print{display:none!important;}
main{padding:0;max-width:none;}
.lesson-layout{display:block;}
.card{border:0;padding:0;box-shadow:none;}
.lesson-copy{font-size:12pt;line-height:1.7;}
.intuition{background:#f4f4f4;color:#000;}
.formula{background:#f6f6f6;color:#000;border:1px solid #ccc;white-space:normal;}
.print-only{display:block;}
.table-scroll{overflow:visible;}
tr,.method-step,.formula{break-inside:avoid;}
h1,h2,h3{break-after:avoid;}
a{color:#000;text-decoration:none;}
.math-svg{max-height:280px;}
.source-line{font-size:9pt;}}
.lesson-tabs a{white-space:nowrap;}
.lesson-tabs a.active{border-color:var(--accent);}
.proof-block{display:flex;align-items:center;gap:13px;background:var(--soft);padding:15px;border-radius:10px;margin:10px 0;}
.proof-moves{display:flex;flex-direction:column;gap:5px;}
.proof-moves button{padding:3px 8px;}
.proof-block p{margin:5px 0 0;}
.reference-item{padding:17px 0;border-bottom:1px solid var(--line);}
.math-svg text{fill:var(--ink);}
.math-svg .small-label{font-size:11px;}
.matrix td{white-space:nowrap;}
.chapter-group{margin-bottom:18px;}
.lesson-copy,.question-stem{overflow-wrap:anywhere;}
.formula{overflow-x:auto;}
.feedback .formula{max-width:100%;}
@media(max-width:720px){.lesson-tabs a{padding:10px 9px;font-size:12px;}
.hero-study .button-row button,.hero-study .button-row .button{width:100%;justify-content:center;}
.question-stem .formula{font-size:16px;}
.proof-block{padding:12px;align-items:flex-start;}}
.field{min-width:0;}
.lab-controls .control-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.lab-controls input,.lab-controls select{width:100%;min-width:0;}
.lab-output .formula{max-width:100%;}
.lab-output>svg{max-width:100%;height:auto;display:block;}
.lab-note{overflow-wrap:anywhere;}
:root{--bg:#f4f7fb;--panel:#fff;--ink:#19253c;--muted:#5a6579;--accent:#265bd9;--accent-soft:#edf2ff;--on-accent:#fff;--line:#dce3ee;--soft:#f1f4f9;--good:#17644e;--good-bg:#e9f6ef;--bad:#a32f3a;--bad-bg:#fff0f1;--gold:#805a12;--gold-bg:#fff6df;--graph-line:#657791;--shadow:none;--scene:#f8faff;--signal:#14775c;--signal-bg:#e4f6ee;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
:root[data-theme=contrast]{--scene:#fff;--signal:#00532d;--signal-bg:#ddf0e4;}
h1{font-size:clamp(27px,2.65vw,36px);font-weight:750;}
button,.button{align-items:center;justify-content:center;}
button.small{min-height:36px;}
input,textarea,select{min-height:44px;}
button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:4px;}
.text-button{background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;padding-inline:0;color:var(--muted);}
.brand-mark{font-family:ui-serif,Georgia,serif;font-size:22px;letter-spacing:-2px;}
.brand small{text-transform:none;}
.side-bottom a{display:block;color:var(--muted);}
.side-bottom a:hover{color:var(--accent);}
.side-version{color:var(--muted);}
.topbar .crumb{font-weight:600;letter-spacing:0;text-transform:none;}
.topbar .meta{gap:12px;}
.save-status-button{background:transparent;gap:8px;color:var(--muted);padding:6px;}
.save-status-button:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted);}
.save-status-button[data-status=synced]:before{background:var(--good);}
.save-status-button[data-status=pending]:before,.save-status-button[data-status=offline]:before{background:var(--gold);}
.page-heading{margin-bottom:25px;}
.page-heading h1{margin-top:0;}
.lede{font-size:16px;line-height:1.6;margin:0;}
.card .eyebrow{letter-spacing:.7px;}
.block{display:block;}
.rule{margin:24px 0;}
.section-line{margin:30px 0 16px;}
.section-line h2{font-size:22px;}
.section-reference{font-size:13px;font-weight:650;color:var(--accent);}
.sync-invitation{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;margin:0 0 22px;border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel);font-size:13px;}
.sync-invitation b{font-weight:650;}
.sync-invitation .button{flex-shrink:0;}
.next-lesson{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:35px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:30px;}
.next-lesson h2{font-size:27px;line-height:1.25;max-width:740px;margin:9px 0 12px;}
.next-lesson p{font-size:15px;color:var(--muted);max-width:690px;}
.learning-path{border-left:1px solid var(--line);padding-left:25px;display:grid;gap:19px;}
.learning-path span{font-size:13px;font-weight:600;display:flex;gap:13px;align-items:center;}
.learning-path b{font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums;}
.progress-ribbon{align-items:center;border-bottom:1px solid var(--line);margin-bottom:10px;}
.progress-ribbon>div{flex-direction:column;}
.progress-ribbon b{font-size:28px;font-weight:700;line-height:1.2;}
.progress-ribbon b small{font-weight:500;color:var(--muted);}
.progress-ribbon>a{font-size:13px;margin-left:auto;}
.chapter-roadmap{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel);}
.roadmap-row{display:grid;grid-template-columns:34px minmax(0,1fr) 155px 15px;gap:17px;align-items:center;padding:18px 23px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
.roadmap-row:last-child{border-bottom:0;}
.roadmap-row:hover{background:var(--accent-soft);}
.roadmap-number{color:var(--muted);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;}
.roadmap-topic{display:flex;flex-direction:column;gap:3px;}
.roadmap-topic b{font-size:15px;font-weight:650;}
.roadmap-row small{font-size:12px;color:var(--muted);}
.roadmap-progress .meter{margin:3px 0 5px;height:5px;background:var(--line);}
.support-strip{display:flex;flex-wrap:wrap;gap:15px 26px;margin:21px 0 30px;font-size:13px;}
.source-footnote{font-size:12px;color:var(--muted);margin:25px 0 0;line-height:1.7;}
.study-plan,.source-audit-note{margin-top:25px;padding:18px 22px;border:1px solid var(--line);border-radius:9px;background:var(--panel);}
.study-plan summary,.source-audit-note summary{font-size:15px;font-weight:650;cursor:pointer;}
.study-plan[open] summary,.source-audit-note[open] summary{margin-bottom:16px;}
.study-plan p,.source-audit-note p{font-size:14px;line-height:1.7;}
.saved-sessions{margin-top:25px;}
.saved-sessions h2{font-size:20px;}
.skill-detail{border-bottom:1px solid var(--line);padding:13px 0;}
.skill-detail:last-child{border:0;}
.skill-detail summary{font-size:14px!important;letter-spacing:0;padding:0!important;display:list-item!important;list-style:disclosure-closed!important;font-weight:600!important;}
.skill-detail[open] summary{list-style:disclosure-open!important;}
.skill-detail summary:after{display:none;}
.skill-detail summary small{float:right;color:var(--muted);}
.skill-detail .list-row{font-size:13px;}
.source-summary>div{flex-direction:column;}
.source-summary b{font-size:16px;}
.source-audit-note p:last-child{margin-bottom:0;}
.sync-explanation summary{font-size:13px;cursor:pointer;font-weight:650;}
.sync-explanation[open] summary{margin-bottom:15px;}
.sync-explanation p{font-size:13px;line-height:1.65;}
#login-feedback{margin-top:14px;color:var(--bad);}
.lesson-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:11px;display:flex;flex-wrap:wrap;gap:5px;}
.lesson-breadcrumb a{text-decoration:none;}
.lesson-heading h1{font-size:clamp(26px,2.6vw,35px);}
.lesson-heading .page-heading{align-items:center;margin-bottom:20px;}
.lesson-tabs{gap:0;border-bottom:1px solid var(--line);margin:0 0 23px;overflow-x:auto;scrollbar-width:thin;display:flex;white-space:nowrap;background:transparent;}
.lesson-tabs a{padding:14px 15px;display:flex;align-items:center;gap:8px;color:var(--muted);border-bottom:3px solid transparent;font-size:14px;font-weight:600;text-decoration:none;}
.lesson-tabs a small{font-size:11px;font-weight:750;width:21px;height:21px;background:var(--soft);border-radius:50%;display:grid;place-items:center;color:var(--muted);}
.lesson-tabs a.active{color:var(--accent);background:transparent;border-bottom-color:var(--accent);}
.lesson-tabs a.active small{background:var(--accent);color:var(--on-accent);}
.lesson-tabs .notes-tab{margin-left:auto;font-size:12px;}
.lesson-main.visual-lesson{padding:0;background:transparent;border:0;box-shadow:none;}
.lesson-main.card{max-width:1050px;}
.guided-activity{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);}
.activity-header{padding:20px 24px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center;}
.activity-header h2{font-size:20px;margin:0;line-height:1.35;}
.guided-label{font-size:11px;color:var(--muted);text-align:right;max-width:165px;}
.activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;align-items:stretch;}
.activity-stage{background:var(--scene);padding:23px 25px;min-width:0;border-right:1px solid var(--line);}
.activity-coach{padding:25px 21px;min-width:0;}
.activity-coach h3{font-size:15px;margin:0 0 10px;}
.activity-coach>p{font-size:14px;line-height:1.65;margin-bottom:19px;}
.activity-coach .activity-check{width:100%;}
.activity-coach .tiny{font-size:11px;line-height:1.65;margin:15px 0 0;}
.activity-coach .text-button{font-size:12px;margin-top:10px;}
.scene-controls{display:flex;align-items:end;justify-content:center;flex-wrap:wrap;gap:12px 15px;margin-bottom:20px;}
.scene-controls:empty{margin:0;}
.scene-select{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:var(--muted);min-width:90px;max-width:100%;}
.scene-select input,.scene-select select{font-size:14px;color:var(--ink);width:100%;max-width:240px;}
.scene-select input{width:130px;}
.scene-controls>.scene-select:only-child input{width:210px;}
.range-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;align-items:center;font-size:12px;color:var(--muted);font-weight:600;min-width:140px;flex:1;max-width:250px;}
.range-control output{font-size:15px;color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;}
.range-control input{grid-column:1/-1;width:100%;accent-color:var(--accent);min-height:30px;margin:0;cursor:pointer;}
.pick{display:inline-flex;gap:10px;align-items:center;justify-content:center;font-size:14px;border-color:var(--line);font-weight:600;min-width:64px;}
.pick.selected,.element-token.selected,.pair-tile.selected,.code-token.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);}
.truth-switch b{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--soft);border-radius:5px;}
.truth-switch.selected b{background:var(--accent);color:var(--on-accent);}
.boolean-switch{min-width:88px;}
.scene-art{min-width:0;overflow-wrap:anywhere;}
.scene-equation{font-size:clamp(18px,2vw,27px);line-height:1.9;text-align:center;margin:10px 0 21px;font-family:ui-serif,"Cambria Math",Cambria,Georgia,serif;font-variant-numeric:lining-nums;overflow-wrap:anywhere;color:var(--ink);}
.scene-equation math{font-size:1em;}
.scene-caption{font-size:12px;line-height:1.7;margin:15px 0 0;color:var(--muted);text-align:left;}
.scene-readout{font-size:13px;line-height:1.75;color:var(--ink);border-top:1px solid var(--line);padding-top:17px;margin:23px 0 0;max-width:780px;}
.activity-feedback{font-size:13px;line-height:1.6;}
.activity-feedback:empty{display:none;}
.activity-success,.activity-retry{padding:14px 12px;margin-top:17px;border-radius:7px;border:1px solid var(--line);}
.activity-success{background:var(--good-bg);border-color:var(--good);color:var(--good);}
.activity-retry{background:var(--gold-bg);border-color:var(--gold);color:var(--gold);}
.activity-feedback p{margin:7px 0 0;font-size:12px;}
.activity-feedback .button{font-size:12px;margin-top:12px;width:100%;background:var(--panel);}
.activity-error{color:var(--bad);background:var(--bad-bg);border-left:3px solid var(--bad);padding:12px 14px;margin:14px 0;font-size:13px;}
.explanation-disclosure{border:1px solid var(--line);background:var(--panel);border-radius:9px;margin-top:20px;padding:19px 23px;}
.explanation-disclosure>summary{cursor:pointer;font-weight:650;font-size:15px;}
.explanation-disclosure[open]>summary{margin-bottom:23px;}
.explanation-disclosure>.lesson-copy{max-width:880px;}
.explanation-disclosure h3{margin-top:24px;}
.lesson-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0;}
.lesson-resources>details{background:var(--panel);padding:17px 18px;border:1px solid var(--line);border-radius:8px;min-width:0;}
.lesson-resources>details[open]{grid-column:1/-1;}
.lesson-resources summary{font-size:13px;font-weight:650;cursor:pointer;}
.lesson-resources summary>span{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:4px;padding-left:14px;}
.lesson-resources>details[open]>summary{margin-bottom:18px;}
.resource-links{display:flex;flex-wrap:wrap;gap:12px 22px;font-size:14px;}
.section-pagination{display:flex;justify-content:space-between;gap:30px;margin-top:27px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;}
.section-pagination span{max-width:47%;}
.section-pagination span:last-child{text-align:right;}
.learn-footer{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap;padding-top:0;border:0;}
.alternate-note{margin:15px 0;padding:15px;background:var(--soft);border-radius:8px;}
.alternate-note pre{white-space:pre-wrap;font:14px/1.6 ui-sans-serif,system-ui;overflow-wrap:anywhere;max-height:260px;overflow:auto;}
.note-recovery summary{cursor:pointer;font-weight:600;font-size:13px;}
.note-recovery{margin:12px 0 22px;}
.checkpoint-intro{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:10px;}
.scene-svg{display:block;width:100%;height:auto;max-height:350px;margin:0 auto;overflow:visible;max-width:650px;}
.scene-svg text{font:17px ui-sans-serif,system-ui,sans-serif;fill:var(--ink);pointer-events:none;}
.scene-svg .plot-label{font-size:13px;fill:var(--muted);}
.scene-svg .graph-node circle:not(.node-hit){fill:var(--panel);stroke:var(--graph-line);stroke-width:2;}
.scene-svg .graph-node.chosen circle:not(.node-hit){fill:var(--accent-soft);stroke:var(--accent);stroke-width:3;}
.scene-svg .graph-node.chosen text{fill:var(--accent);font-weight:700;}
.scene-svg [role=button]{cursor:pointer;}
.scene-svg [role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.scene-svg .edge-line{fill:none;stroke:var(--graph-line);stroke-width:2.2;}
.scene-svg .edge-hit{fill:none;stroke:transparent;stroke-width:24;pointer-events:stroke;}
.scene-svg .node-hit{fill:transparent;stroke:none;pointer-events:all;}
.scene-svg .graph-edge.chosen .edge-line{stroke:var(--accent);stroke-width:4;}
.scene-svg .graph-edge{color:var(--graph-line);}
.scene-svg .graph-edge.chosen{color:var(--accent);}
.scene-svg .weight-bg{fill:var(--scene);stroke:none;}
.scene-svg .weight-label{font-size:15px;font-weight:700;}
.scene-svg .universe{fill:var(--panel);stroke:var(--line);stroke-width:1.5;}
.scene-svg .venn-outline{fill:none;stroke:var(--graph-line);stroke-width:2;}
.scene-svg .venn-region rect{fill:var(--soft);stroke:transparent;stroke-width:2;}
.scene-svg .venn-region.chosen rect{fill:var(--accent-soft);stroke:var(--accent);}
.scene-svg .venn-region.chosen text{fill:var(--accent);}
.scene-svg .region-name{font-size:11px;}
.scene-svg .region-values{font-size:20px;font-weight:700;}
.scene-svg .set-letter{font-size:18px;font-weight:650;}
.scene-svg .numberline,.scene-svg .plot-axis{fill:none;stroke:var(--graph-line);stroke-width:1.8;}
.scene-svg .value-pointer{stroke:var(--accent);stroke-width:2;}
.scene-svg .value-dot,.scene-svg .floor-marker{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5;}
.scene-svg .plot-stick{stroke:var(--accent);stroke-width:2;opacity:.7;}
.scene-svg .plot-dot{fill:var(--accent);}
.scene-svg .limit-line{stroke:var(--signal);stroke-width:1.5;stroke-dasharray:6 5;}
.scene-svg .integral-rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1;opacity:.8;}
.scene-svg .function-curve{fill:none;stroke:var(--signal);stroke-width:3;}
.scene-svg .circuit-wire{fill:none;stroke:var(--graph-line);stroke-width:2.5;}
.scene-svg .circuit-gate{fill:var(--panel);stroke:var(--graph-line);stroke-width:2.5;}
.scene-svg .circuit-gate.on{fill:var(--signal-bg);stroke:var(--signal);}
.scene-svg .signal-value{font-size:24px;font-weight:700;fill:var(--signal);}
.table-scroll{max-width:100%;overflow-x:auto;}
.scene-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;margin:8px 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.scene-table th{background:var(--soft);color:var(--muted);font-size:12px;letter-spacing:0;text-transform:none;padding:10px 12px;font-weight:650;white-space:normal;}
.scene-table td{padding:8px 11px;text-align:center;border-top:1px solid var(--line);background:var(--panel);min-width:42px;}
.scene-table tr td:first-child{font-weight:600;}
.scene-table tbody tr.active td{background:var(--accent-soft);}
.matrix-cell{padding:8px 10px;min-width:44px;min-height:44px;border-radius:6px;border-color:var(--line);font-size:15px;}
.matrix-cell.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700;}
.value-chip{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:7px 10px;font-size:12px;color:var(--muted);font-weight:600;}
.value-chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);}
.fact-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:13px 0;}
.comparison-strip,.selection-readout,.domain-caption,.frontier-strip{padding:12px 15px;background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:13px;text-align:center;}
.comparison-strip{display:flex;justify-content:space-around;gap:15px;flex-wrap:wrap;margin-top:15px;}
.domain-caption{margin-bottom:18px;}
.logic-flow,.term-flow{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin:22px 0;}
.logic-flow>div,.term-flow>div{background:var(--panel);border:1px solid var(--line);padding:13px 19px;border-radius:8px;text-align:center;min-width:85px;}
.logic-flow strong,.term-flow strong{display:block;font-size:29px;color:var(--accent);}
.quantifier-lines{display:grid;gap:13px;margin:23px 0;}
.quantifier-lines>div{display:grid;grid-template-columns:150px minmax(0,1fr) 35px;gap:10px;align-items:center;padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:8px;}
.quantifier-lines b{font-size:20px;font-family:ui-serif,Georgia,serif;}
.quantifier-lines span{font-size:12px;color:var(--muted);}
.quantifier-lines strong{font-size:25px;color:var(--accent);}
.predicate-tile{padding:14px;font-size:16px;min-width:95px;display:flex;gap:14px;justify-content:space-between;}
.predicate-tile.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);}
.predicate-tile b{font-weight:750;}
.proof-board{min-height:290px;}
.premise-strip{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);padding:14px 18px;display:grid;gap:6px;font-size:18px;font-family:ui-serif,Georgia,serif;}
.proof-chain{list-style:decimal;padding-left:26px;margin:20px 0;display:grid;gap:16px;}
.proof-chain li{padding-left:7px;line-height:1.65;}
.proof-chain li::marker{font-size:12px;font-weight:750;color:var(--accent);}
.proof-chain li>div{font-size:16px;}
.proof-chain small{font-size:12px;color:var(--muted);display:block;margin-top:3px;}
.proof-chain .empty-step{color:var(--muted);font-size:14px;}
.proof-options,.notation-choices{display:grid;gap:10px;}
.proof-option{text-align:left;justify-content:flex-start;font-size:14px;font-weight:500;padding:12px 15px;white-space:normal;background:var(--panel);}
.proof-end{font-size:14px;font-weight:650;color:var(--good);}
.power-set-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0;}
.subset-tile{padding:17px 8px;background:var(--panel);border:1px solid var(--line);border-radius:8px;text-align:center;font-family:ui-serif,Georgia,serif;font-size:19px;}
.subset-tile.selected{border:2px solid var(--accent);background:var(--accent-soft);color:var(--accent);padding:16px 7px;}
.element-token{min-width:49px;padding:13px;font-size:17px;border-radius:8px;}
.partition-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.partition-block{padding:15px 12px;min-height:150px;border:1px solid var(--line);border-radius:9px;background:var(--panel);}
.partition-block h4{font-size:12px;margin:0 0 13px;color:var(--muted);}
.partition-block .element-token{margin:3px;min-width:42px;padding:10px;}
.partition-block.selected{border-color:var(--accent);outline:1px solid var(--accent);}
.partition-block .muted{font-size:12px;line-height:1.5;}
.mapping-grid{display:grid;grid-template-columns:minmax(195px,.8fr) minmax(0,1.2fr);gap:20px;align-items:center;}
.mapping-grid .table-scroll{width:100%;}
.mapping-grid .scene-table td{padding:5px;}
.mapping-grid .scene-svg{min-width:0;}
.mapping-grid .scene-table th{padding:8px;}
.machine-flow{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;margin:30px 0;}
.machine-flow>span{font-size:25px;font-weight:650;}
.machine-flow>div{padding:18px;border:1px solid var(--line);background:var(--panel);border-radius:10px;font-size:13px;text-align:center;min-width:145px;}
.machine-flow strong{display:block;font-size:32px;color:var(--accent);margin-top:9px;}
.log-balance{display:flex;justify-content:center;gap:20px;color:var(--muted);font-size:12px;}
.clause-row{display:flex;gap:15px;align-items:center;justify-content:center;}
.clause{padding:15px;border:1px solid var(--line);background:var(--panel);border-radius:8px;min-width:80px;text-align:center;}
.clause.on{background:var(--signal-bg);border-color:var(--signal);}
.clause span{display:block;font-size:12px;color:var(--muted);}
.clause strong{display:block;font-size:30px;}
.duplicate-wires{display:flex;align-items:center;gap:20px;justify-content:center;margin:30px 0;}
.duplicate-wires>span:not(.value-chip){font-size:12px;color:var(--muted);}
.matrix-product,.system-to-matrix{display:flex;gap:15px;align-items:center;justify-content:center;flex-wrap:wrap;margin:25px 0;}
.matrix-product>b,.system-to-matrix>b{font-size:23px;}
.matrix-frame{display:inline-block;border-left:2px solid var(--ink);border-right:2px solid var(--ink);padding:4px 7px;position:relative;margin:8px 0;max-width:100%;overflow-x:auto;}
.math-matrix{width:auto;border-collapse:collapse;margin:0;font-family:ui-serif,"Cambria Math",Georgia,serif;font-size:20px;}
.math-matrix td{padding:7px 11px;min-width:40px;text-align:center;border:0;background:transparent;white-space:nowrap;}
.math-matrix td.highlight{background:var(--accent-soft);color:var(--accent);}
.math-matrix td.augmented{border-left:1px solid var(--ink);}
.system-equations{font-family:ui-serif,Georgia,serif;font-size:24px;}
.system-equations p{padding:10px 16px;margin:0;}
.highlight{background:var(--accent-soft);color:var(--accent);}
.row-operation{font-size:18px;font-family:ui-serif,Georgia,serif;text-align:center;margin:20px 0;padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:7px;}
.scene-art>.matrix-frame{display:table;margin:15px auto;}
.operation-history{font-size:12px;color:var(--muted);padding-left:26px;margin:15px 0;}
.operation-history li{padding:3px;}
.fraction{display:inline-flex;vertical-align:middle;flex-direction:column;text-align:center;line-height:1.3;margin:0 4px;min-width:23px;}
.fraction>span:first-child{border-bottom:1.5px solid currentColor;padding:0 4px 3px;}
.fraction>span:last-child{padding:3px 4px 0;}
.bound-strip{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:13px;font-size:13px;}
.telescope{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;font-size:17px;font-family:ui-serif,Georgia,serif;margin:20px 0;}
.telescope del{color:var(--muted);text-decoration-color:var(--accent);text-decoration-thickness:2px;}
.relation-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:center;}
.relation-pair h4{text-align:center;font-size:13px;font-weight:600;margin:10px 0 8px;}
.relation-pair .matrix-frame{display:table;margin:auto;}
.composition-paths{display:grid;gap:10px;text-align:center;font-size:16px;}
.composition-paths>div{border:1px solid var(--line);background:var(--panel);padding:12px;border-radius:7px;}
.composition-paths span{color:var(--accent);}
.composition-paths b{display:block;font-size:12px;margin-top:6px;}
.property-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0;}
.property{padding:11px 13px;border:1px solid var(--line);border-radius:7px;background:var(--panel);}
.property b{display:block;font-size:12px;}
.property small{display:block;font-size:11px;color:var(--muted);margin-top:4px;line-height:1.5;}
.property.ok{border-left:3px solid var(--signal);}
.property.not-yet{border-left:3px solid var(--line);}
.property.ok b{color:var(--signal);}
.column-picks{display:flex;gap:8px;flex-wrap:wrap;}
.database-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.database-flow h4{font-size:13px;font-weight:600;}
.database-flow .scene-table{font-size:13px;}
.database-flow .scene-table th,.database-flow .scene-table td{padding:9px;}
.visit-strip{display:flex;gap:10px;justify-content:center;min-height:55px;align-items:center;margin:12px 0 20px;font-size:13px;color:var(--muted);}
.visit-strip>span{min-width:45px;position:relative;padding:15px 10px 5px;text-align:center;border-bottom:2px solid var(--accent);font-size:22px;font-weight:650;color:var(--accent);}
.visit-strip small{position:absolute;top:0;left:50%;font-size:10px;transform:translateX(-50%);color:var(--muted);font-weight:500;}
.frontier-strip{font-size:12px;margin-top:15px;}
.minimax-readout{display:grid;gap:10px;font-size:13px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:17px;}
.minimax-readout strong{font-size:20px;color:var(--accent);}
.code-token{font-family:ui-monospace,monospace;font-size:16px;padding:12px 17px;}
.tree-count{display:flex;align-items:center;justify-content:center;gap:18px;margin:25px 0;}
.tree-count>div{display:grid;text-align:center;gap:5px;}
.tree-count strong{font-size:37px;color:var(--accent);}
.tree-count span{font-size:12px;color:var(--muted);max-width:110px;}
.distribution-arrows{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:20px 0;}
.distribution-arrows>span{padding:17px;background:var(--panel);border:1px solid var(--accent);border-radius:8px;font-size:19px;}
.sigma-symbol{font-size:37px;position:relative;display:inline-block;margin:10px 13px 15px;}
.sigma-symbol sub{position:absolute;top:1.7em;left:50%;transform:translateX(-50%);font-size:11px;line-height:1;white-space:nowrap;}
.sigma-symbol sup{position:absolute;bottom:2.4em;left:50%;transform:translateX(-50%);font-size:12px;line-height:1;}
.sigma-terms{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:30px 0;}
.sigma-terms>div{display:grid;padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:57px;text-align:center;}
.sigma-terms small{font-size:10px;color:var(--muted);}
.sigma-terms b{font-size:24px;color:var(--accent);}
.timeline-board{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;justify-content:center;margin:25px 0;}
.timeline-board>div{display:grid;gap:8px;padding:15px 11px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:8px;background:var(--panel);max-width:130px;text-align:center;}
.timeline-board small{font-size:11px;color:var(--muted);}
.timeline-board strong{font-size:24px;}
.timeline-board span{font-size:10px;color:var(--muted);}
.timeline-board b{font-size:15px;color:var(--accent);}
.choices button{font-size:15px;min-height:54px;}
.lesson-copy p{line-height:1.8;}
.solution-step{border-radius:7px;}
.question-stem .over,.scene-art .over{white-space:nowrap;}
.over{text-decoration-thickness:1.3px;text-decoration-skip-ink:none;}
@media(min-width:1550px){.activity-layout{grid-template-columns:minmax(0,1fr) 285px;}
.activity-stage{padding:28px 35px;}
.activity-coach{padding:28px;}
.scene-svg{max-height:385px;}}
@media(max-width:1150px){#shell{grid-template-columns:185px minmax(0,1fr);}
main{padding:26px 25px 55px;}
.topbar{padding:0 25px;}
.activity-layout{grid-template-columns:minmax(0,1fr) 225px;}
.activity-stage{padding:20px 17px;}
.activity-coach{padding:22px 17px;}
.mapping-grid{grid-template-columns:1fr;}
.mapping-grid>.scene-svg{max-height:255px;}
.next-lesson{grid-template-columns:minmax(0,1fr) 175px;gap:24px;}
.learning-path{padding-left:20px;}
.database-flow{grid-template-columns:1fr;}
.lesson-tabs a{padding:13px 10px;font-size:13px;}
.lesson-tabs .notes-tab{font-size:11px;}
.quantifier-lines>div{grid-template-columns:minmax(120px,1fr) 30px;}
.quantifier-lines span{grid-column:1;grid-row:auto;}
.quantifier-lines strong{grid-column:2;grid-row:1/3;}
.quantifier-lines b{font-size:19px;}}
@media(max-width:900px){#shell{display:block;}
.sidebar{position:fixed;left:-230px;width:215px;transition:left .18s;box-shadow:8px 0 30px #15233c18;}
.sidebar.open{left:0;}
.mobile-header{display:flex;align-items:center;gap:10px;}
.topbar{height:60px;padding:0 20px;}
.mobile-header .brand{padding:0;font-size:17px;}
.mobile-header .brand-mark{height:30px;width:30px;font-size:19px;}
.mobile-header .brand small{display:none;}
.topbar>.crumb{display:none;}
.topbar .meta{gap:0;}
.topbar .meta>a:not(.save-status-button){display:none;}
main{padding:24px 23px 50px;max-width:1050px;}
.activity-layout{grid-template-columns:minmax(0,1fr) 245px;}
.mapping-grid{grid-template-columns:minmax(160px,.9fr) minmax(0,1.1fr);}
.next-lesson{grid-template-columns:minmax(0,1fr) 190px;}
.settings-grid{grid-template-columns:1fr 1fr;}
.topbar .crumb{letter-spacing:0;}}
@media(max-width:760px){.activity-layout{display:flex;flex-direction:column;gap:0;padding:19px;}
.activity-stage{order:2;border:1px solid var(--line);border-radius:8px;padding:18px 14px;margin:15px 0 18px;}
.activity-coach{display:contents;}
.activity-coach h3{order:0;margin:0 0 7px;font-size:14px;}
.activity-coach>p:not(.tiny){order:1;font-size:14px;margin:0;}
.activity-coach>.activity-check{order:3;width:100%;min-height:47px;}
.activity-feedback{order:4;}
.activity-coach>.text-button{order:5;align-self:center;}
.activity-coach>.tiny{order:6;margin:8px 0 0;}
.activity-header{padding:17px 19px;align-items:flex-start;}
.activity-header h2{font-size:18px;}
.guided-label{font-size:10px;max-width:125px;}
.scene-controls{gap:10px;margin-bottom:17px;}
.scene-readout{font-size:12px;margin-top:18px;padding-top:14px;}
.scene-equation{font-size:23px;}
.scene-svg{max-height:305px;}
.mapping-grid{grid-template-columns:minmax(150px,.85fr) minmax(0,1.15fr);gap:10px;}
.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.lesson-resources{grid-template-columns:1fr;}
.lesson-resources>details{padding:15px 18px;}
.lesson-resources summary>span{display:inline;padding-left:10px;}
.lesson-tabs{margin-bottom:18px;}
.lesson-tabs .notes-tab{margin-left:0;}
.lesson-tabs a{padding:13px 11px;}
.lesson-heading .page-heading{gap:12px;}
.lesson-heading .button{font-size:12px;padding:8px 10px;min-height:38px;}
.lesson-heading h1{font-size:27px;}
.explanation-disclosure{padding:17px 18px;}
.next-lesson{padding:24px;grid-template-columns:1fr;}
.learning-path{display:flex;flex-wrap:wrap;border:0;border-top:1px solid var(--line);padding:18px 0 0;gap:13px 21px;}
.learning-path span{font-size:12px;gap:9px;}
.progress-ribbon{gap:23px;flex-wrap:wrap;}
.progress-ribbon>a{margin-left:0;flex-basis:100%;font-size:12px;}
.roadmap-row{grid-template-columns:25px minmax(0,1fr) 100px;gap:13px;padding:16px 18px;}
.roadmap-row>span:last-child{display:none;}
.roadmap-topic b{font-size:14px;}
.roadmap-row small{font-size:11px;}
.roadmap-progress small{font-size:10px;}
.source-summary{grid-template-columns:1fr;gap:20px;}
.settings-grid{grid-template-columns:1fr;}
.scene-table th{font-size:11px;}
.source-audit-note{padding:17px;}
.lesson-layout{display:block;}
.lesson-aside{position:static;}
.page-heading .button-row{flex-shrink:1;}
.grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid.three{grid-template-columns:1fr 1fr;}
.section-pagination{font-size:12px;gap:20px;}}
@media(max-width:500px){main{padding:22px 15px 45px;}
.topbar{padding:0 12px;}
.save-status-button{font-size:10px;max-width:155px;line-height:1.4;}
.topbar .mobile-header .brand{font-size:15px;}
.topbar .mobile-header .brand-mark{display:none;}
.page-heading{display:block;margin-bottom:22px;}
.page-heading .button-row{margin-top:14px;}
.page-heading h1{font-size:28px;}
.lede{font-size:14px;}
.lesson-heading .page-heading{display:flex;margin-bottom:15px;align-items:start;}
.lesson-heading .page-heading .button-row{margin-top:0;}
.lesson-heading .page-heading h1{font-size:25px;}
.lesson-breadcrumb{font-size:11px;}
.sync-invitation{padding:12px;gap:12px;font-size:12px;align-items:start;}
.sync-invitation .button{font-size:11px;padding:8px;min-height:38px;}
.next-lesson{padding:21px;}
.next-lesson h2{font-size:23px;}
.next-lesson p{font-size:13px;}
.next-lesson .button-row>.button,.next-lesson .button-row>button{width:100%;}
.learning-path{gap:12px;}
.learning-path span{font-size:10px;gap:5px;}
.learning-path b{font-size:10px;}
.progress-ribbon{gap:18px;padding:22px 0;}
.progress-ribbon b{font-size:25px;}
.progress-ribbon span{font-size:10px;max-width:92px;}
.roadmap-row{padding:15px 13px;grid-template-columns:20px minmax(0,1fr) 72px;gap:10px;}
.roadmap-topic b{font-size:13px;}
.roadmap-topic small{font-size:10px;line-height:1.4;}
.roadmap-progress small{font-size:9px;white-space:nowrap;}
.roadmap-progress .meter{height:4px;}
.section-line h2{font-size:20px;}
.section-line a{font-size:11px;}
.support-strip{font-size:12px;gap:12px;}
.activity-header{padding:15px;}
.activity-header h2{font-size:17px;}
.guided-label{max-width:94px;font-size:9px;line-height:1.5;}
.activity-layout{padding:15px;}
.activity-stage{padding:16px 10px;}
.scene-controls{gap:8px 10px;}
.scene-controls .pick{font-size:13px;padding:9px 10px;min-width:63px;}
.scene-select{font-size:11px;}
.scene-select input,.scene-select select{font-size:13px;max-width:100%;min-width:0;}
.scene-select input{width:115px;}
.range-control{min-width:117px;font-size:11px;}
.scene-equation{font-size:21px;line-height:1.8;margin-bottom:17px;}
.scene-svg{max-height:275px;}
.scene-table td{padding:5px;}
.scene-table th{padding:7px 5px;font-size:10px;}
.matrix-cell{padding:8px;min-width:42px;min-height:44px;}
.mapping-grid{grid-template-columns:1fr;}
.mapping-grid>.scene-svg{max-height:220px;}
.predicate-tile{min-width:117px;font-size:14px;}
.quantifier-lines>div{grid-template-columns:minmax(0,1fr) 30px;padding:12px;gap:3px;}
.quantifier-lines b{font-size:20px;}
.quantifier-lines span{font-size:11px;}
.quantifier-lines strong{grid-column:2;grid-row:1/3;}
.quantifier-lines{gap:9px;}
.power-set-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.subset-tile{font-size:14px;padding:13px 3px;}
.subset-tile.selected{padding:12px 2px;}
.partition-board{gap:7px;}
.partition-block{padding:12px 7px;min-height:153px;}
.partition-block .element-token{min-width:42px;padding:9px;margin:3px 0;}
.partition-block h4{font-size:11px;}
.partition-block .muted{font-size:10px;}
.proof-chain{padding-left:22px;}
.proof-chain li>div{font-size:14px;}
.premise-strip{font-size:16px;padding:13px;}
.proof-option{font-size:13px;padding:12px;}
.property-grid{gap:7px;}
.property{padding:10px;}
.property b{font-size:11px;}
.property small{font-size:10px;}
.relation-pair{gap:5px;}
.relation-pair>.scene-svg{max-height:180px;}
.relation-pair h4{font-size:11px;}
.composition-paths{font-size:14px;}
.tree-count{gap:13px;}
.tree-count strong{font-size:31px;}
.tree-count span{font-size:10px;}
.clause-row{gap:9px;}
.clause{min-width:67px;padding:12px 9px;}
.clause span{font-size:10px;}
.clause strong{font-size:25px;}
.machine-flow{gap:11px;}
.machine-flow>div{min-width:110px;font-size:11px;padding:13px;}
.machine-flow strong{font-size:28px;}
.matrix-product{gap:10px;margin:18px 0;}
.math-matrix{font-size:18px;}
.math-matrix td{padding:6px 8px;min-width:32px;}
.matrix-frame{padding:3px 5px;}
.row-operation{font-size:16px;padding:12px;}
.bound-strip{font-size:11px;gap:9px;}
.scene-caption{font-size:11px;}
.duplicate-wires{gap:12px;}
.duplicate-wires>span:not(.value-chip){font-size:10px;}
.grid.two,.grid.three{grid-template-columns:1fr;}
.grid.four{grid-template-columns:1fr 1fr;}
.card{padding:20px;}
.lesson-main.card{padding:19px;}
.skill-detail .list-row{display:block;}
.skill-detail .button-row{margin-top:10px;}
.question-stem{font-size:17px;}
.section-pagination{gap:15px;}
.section-pagination a{font-size:11px;}
.session-layout{display:block;}
.session-side{position:static;}
.session-main{min-width:0;}
.question-navigator{display:flex;flex-wrap:wrap;}
.source-footnote{font-size:11px;}
.activity-feedback .button{max-width:300px;}
.explanation-disclosure .lesson-copy{font-size:15px;}
.learn-footer .button{width:100%;}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}
@media print{.sidebar,.topbar,.lesson-tabs,.activity-coach button,.scene-controls,.section-pagination,.learn-footer{display:none!important;}
#shell{display:block;}
main{padding:0;}
.activity-layout{display:block;}
.activity-stage{border:0;}
.guided-activity{break-inside:avoid;}
details{display:block;}
.lesson-resources{display:none;}
body{background:white;color:black;}}
.save-status-button{text-decoration:none;}
.topbar .mobile-header{align-items:center;}
.topbar .crumb{margin-right:auto;}
.topbar{gap:14px;}
.brand-mark{flex:0 0 34px;}
.side-bottom{margin-top:auto;}
.sidebar{display:flex;flex-direction:column;}
.nav-list{flex:none;}
.topbar .mobile-header .menu-toggle{padding:8px;min-width:44px;}
.topbar .crumb{min-width:0;}
.lesson-tabs .short-label{display:none;}
@media(max-width:760px){.lesson-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:visible;margin-bottom:19px;}
.lesson-tabs a{padding:10px 4px;justify-content:center;font-size:12px;gap:6px;}
.lesson-tabs a small{flex-shrink:0;}
.lesson-tabs .notes-tab{grid-column:1/-1;justify-content:flex-end;padding:8px 2px;border-bottom:0;min-height:30px;font-size:11px;}
.lesson-tabs .long-label{display:none;}
.lesson-tabs .short-label{display:inline;}
.topbar .crumb{font-size:11px;max-width:180px;line-height:1.4;}
.topbar{gap:9px;}
.save-status-button{font-size:10px;flex-shrink:0;max-width:132px;line-height:1.4;}
.lesson-heading .page-heading>.button{display:none;}}
.venn3-universe{fill:var(--panel);stroke:var(--line);stroke-width:1.5;}
.venn3-circle{fill:none;stroke:var(--muted);stroke-width:2;}
.venn3-shade{fill:var(--accent);opacity:.2;}
.venn3-label{font-weight:700;fill:var(--ink);}
.venn3-number{cursor:pointer;}
.venn3-number rect{fill:var(--panel);stroke:var(--line);}
.venn3-number.chosen rect{fill:var(--accent);stroke:var(--accent);}
.venn3-number.chosen text{fill:var(--on-accent);}
.venn3-number:focus-visible rect{stroke:var(--ink);stroke-width:4;}
.venn3-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px;}
.venn3-pick{font-size:12px;padding:8px 5px;min-height:44px;}
.venn3-pick.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);}
@media(max-width:600px){.venn3-picks{grid-template-columns:repeat(2,minmax(0,1fr));}}
button.primary:hover:not(:disabled),button.bit-button.on:hover:not(:disabled){background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
:root{--teach-accent:#214f80;--teach-wash:#f3f7fb;--teach-rule:#d9e2ec;--teach-ink:#17283b;--teach-muted:#516175;}
html[data-theme="dark"]{--teach-accent:#a5caff;--teach-wash:#202d3d;--teach-rule:#40526a;--teach-ink:#eef3fc;--teach-muted:#b7c7da;}
html[data-theme="contrast"]{--teach-accent:#000;--teach-wash:#fff;--teach-rule:#000;--teach-ink:#000;--teach-muted:#111;}
.instruction-heading{justify-content:space-between;}
.instruction-heading h1{line-height:1.18;letter-spacing:-.025em;margin:0 0 15px;color:var(--teach-ink);}
.learning-purpose{max-width:75ch;margin:0;}
.skill-picker{display:flex;flex-direction:column;flex-shrink:0;font-weight:600;color:var(--teach-muted);}
.skill-picker select{width:100%;min-height:44px;font:inherit;border:1px solid var(--teach-rule);}




.teaching-page{max-width:100%;border-top:0;}
.teaching-page h2,.meaning-words h2{font-size:1.05rem;line-height:1.4;margin:0 0 16px;font-weight:700;color:var(--teach-ink);}
.teaching-page p,.teaching-page dd,.prior-knowledge p,.prior-knowledge dd{color:var(--teach-ink);}
.meaning-words dl{display:grid;gap:0;margin:0 0 12px;}
.meaning-words dl>div,.prerequisite-recap dl>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;border-bottom:1px solid var(--teach-rule);padding:10px 0;align-items:baseline;}
.meaning-words dt,.prerequisite-recap dt{font-size:.92rem;font-weight:650;color:var(--teach-ink);}
.meaning-words dd,.prerequisite-recap dd{margin:0;}
.meaning-words{margin-bottom:28px;}
.teaching-explanation p{margin:0;}
.meaning-bridge{line-height:1.65;}
.text-link{line-height:1.6;color:var(--teach-accent);text-decoration:underline;text-underline-offset:3px;}
.teaching-navigation{display:flex;align-items:center;justify-content:space-between;}
.teaching-navigation .button{white-space:normal;text-align:center;line-height:1.4;}
.teaching-page .support-note{color:var(--teach-muted);margin:0 0 22px;}
.worked-forms{margin:27px 0;padding:17px 0;border-top:1px solid var(--teach-rule);border-bottom:1px solid var(--teach-rule);}
.worked-forms summary,.prior-knowledge summary,.applied-model summary,.instruction-foot summary{font-size:.95rem;font-weight:650;cursor:pointer;color:var(--teach-ink);}
.worked-forms select{display:block;max-width:100%;width:100%;min-height:44px;margin:10px 0 20px;padding:10px;border:1px solid var(--teach-rule);border-radius:6px;font:inherit;background:var(--surface,#fff);color:var(--teach-ink);}
.worked-form-body .form-purpose{background:var(--teach-wash);padding:15px;font-size:.92rem;}
.guided-question{font-weight:600;font-size:1.16rem!important;margin:26px 0 20px;}
.guided-choices button{border:1px solid var(--teach-rule);background:var(--surface,#fff);line-height:1.6;color:var(--teach-ink);white-space:normal;min-height:55px;}
.guided-choices button:not(:disabled):hover{background:var(--teach-wash);border-color:var(--teach-accent);}
.guided-choices button.chosen{border-width:2px;border-color:var(--teach-accent);opacity:1;}
.guided-choices button:disabled{opacity:.75;cursor:default;}
.guided-feedback{margin:24px 0;padding:20px 23px;border-left:4px solid var(--teach-accent);}
.guided-feedback.bad{border-left-color:#ab3d32;}
.guided-feedback.good{border-left-color:#347357;}
.guided-feedback h3{margin:0 0 10px;}
.guided-feedback p{margin:8px 0 17px;}
.guided-thinking+.meaning-words{margin-top:30px;padding-top:20px;border-top:1px solid var(--teach-rule);}
.practice-goal{background:var(--teach-wash);border-left:3px solid var(--teach-accent);padding:18px;margin:20px 0;}
.practice-goal p{margin:7px 0 0;}
.independent-start>p{max-width:77ch;}
.prior-knowledge,.applied-model{margin:18px 0;border:1px solid var(--teach-rule);}
.prior-knowledge[open]>p,.applied-model[open]>p{max-width:85ch;font-size:.93rem;color:var(--teach-muted);line-height:1.7;}
.prerequisite-recap{padding:10px 0 18px;margin-bottom:10px;border-bottom:1px solid var(--teach-rule);}
.prerequisite-recap h3{font-size:1rem;margin:10px 0;}
.prerequisite-recap dd{font-size:.93rem;line-height:1.6;}
.instruction-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:22px 0 35px;color:var(--teach-muted);}
.instruction-foot details{flex:1;}
.instruction-foot details p{font-size:.85rem;line-height:1.7;max-width:85ch;}
.recall-work label{display:block;font-weight:600;font-size:.9rem;margin:15px 0 10px;}
.recall-work textarea{width:100%;font:inherit;padding:15px;border:1px solid var(--teach-rule);border-radius:6px;background:var(--surface,#fff);color:var(--teach-ink);}
.learning-start{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:45px;padding:34px;border:1px solid var(--teach-rule);border-radius:10px;background:var(--surface,#fff);margin:25px 0;}
.learning-start h2{font-size:1.65rem;line-height:1.35;margin:0 0 16px;}
.learning-start p{line-height:1.75;color:var(--teach-muted);}
.teaching-road{padding-left:22px;margin:0;align-self:center;}
.teaching-road li{font-size:.9rem;line-height:1.6;margin:14px 0;padding-left:7px;color:var(--teach-muted);}
.learning-status{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:24px 0 35px;font-size:.87rem;color:var(--teach-muted);}
.learning-status b{color:var(--teach-ink);}
.course-path h2{font-size:1.2rem;margin:10px 0 18px;}
.course-path-row{display:grid;grid-template-columns:32px minmax(0,1fr) 230px 20px;gap:15px;align-items:center;padding:20px 6px;border-top:1px solid var(--teach-rule);text-decoration:none;color:var(--teach-ink);}
.course-path-row:hover{background:var(--teach-wash);}
.course-path-row small{font-size:.79rem;color:var(--teach-muted);}
.vocabulary-search{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:25px 0;}
.vocabulary-search label{font-size:.9rem;font-weight:600;}
.vocabulary-search input{flex:1;min-width:240px;padding:13px;border:1px solid var(--teach-rule);border-radius:6px;font:inherit;background:var(--surface,#fff);color:var(--teach-ink);}
.vocabulary-row h2{font-size:1.08rem;margin:0 0 8px;}
.notation-specimens>section{border:1px solid var(--teach-rule);border-radius:8px;margin:24px 0;padding:24px;background:var(--surface,#fff);}
.notation-specimens h2{font-size:1.1rem;margin:0 0 18px;}
.notation-specimens p{font-size:.91rem;line-height:1.7;color:var(--teach-muted);}
.specimen{overflow-x:auto;max-width:100%;padding:12px 0;}
.math-slot{font-family:serif;max-width:100%;}
.math-slot.math-display{display:block;max-width:100%;overflow-x:auto;padding:8px 0;}
.math-slot[data-rendered]{font-family:inherit;}
.math-slot mjx-container{font-size:108%!important;}
.math-slot svg{max-width:none;}
.math-slot mjx-container[display="true"]{margin:0!important;}
.math-error{color:#b02020;border-bottom:2px dashed #b02020;}
.worked-line .math-slot,.meaning-words .math-slot{overflow-wrap:normal;}
.math-rich{overflow-wrap:normal;}
.audit-summary{font-size:.9rem;margin:20px 0;}
.audit-links{margin:0 0 25px;}
.instruction-audit details{border:1px solid var(--teach-rule);border-radius:7px;margin:12px 0;padding:18px;background:var(--surface,#fff);}
.instruction-audit summary{cursor:pointer;font-weight:600;font-size:.95rem;}
.instruction-audit p,.instruction-audit dd{font-size:.92rem;line-height:1.75;}
.instruction-audit dl>div{border-top:1px solid var(--teach-rule);padding:15px 0;}
.instruction-audit dt{font-weight:700;font-size:.91rem;}
.instruction-audit dd{margin:10px 0;}
.review-methods>section{border-bottom:1px solid var(--teach-rule);padding:22px 0;}
.review-methods h2{font-size:1.12rem;}
.review-methods p{line-height:1.7;}
.review-skill-link{display:block;line-height:1.6;margin:7px 0;font-size:.95rem;}
@media(max-width:1100px){.instruction-heading{display:block;}
.skill-picker{width:100%;max-width:480px;margin-top:20px;}
.learning-start{grid-template-columns:1fr;gap:15px;}
.teaching-road{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;}
.course-path-row{grid-template-columns:30px minmax(0,1fr) 170px 20px;}}
@media(max-width:650px){.instruction-heading h1{font-size:1.8rem;}
.teaching-page{padding:24px 18px;}



.meaning-words dl>div,.prerequisite-recap dl>div{grid-template-columns:1fr;gap:3px;padding:12px 0;}
.teaching-page p,.teaching-page dd{font-size:1rem;}
.worked-line{grid-template-columns:27px minmax(0,1fr);gap:10px;padding:15px 13px;}
.worked-line>div{font-size:1rem;}
.worked-line>b{width:24px;height:24px;}
.teaching-navigation{flex-direction:column-reverse;align-items:stretch;}
.teaching-navigation .button{max-width:100%;}
.instruction-foot{display:block;}
.instruction-foot>a{display:block;margin-top:17px;}
.learning-start{padding:23px;}
.teaching-road{display:block;}
.learning-status{gap:15px;}
.course-path-row{grid-template-columns:25px minmax(0,1fr) 16px;gap:10px;}
.course-path-row small{grid-column:2;grid-row:2;}
.course-path-row>span:last-child{grid-column:3;grid-row:1;}
.notation-specimens>section{padding:19px 14px;}
.prior-knowledge,.applied-model{padding:17px;}
.specimen{font-size:.9rem;}
.side-bottom>a{min-height:34px;}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;}}
.worked-visual{margin:24px 0 25px;padding:19px 20px;border:1px solid var(--teach-rule);border-radius:9px;background:var(--surface,#fff);}
.worked-visual-body{max-width:680px;margin:auto;overflow-x:auto;}
.worked-visual figcaption{font-size:.9rem;line-height:1.65;color:var(--teach-muted);border-top:1px solid var(--teach-rule);padding-top:12px;margin-top:12px;}
.worked-visual-body > svg{display:block;width:100%;height:auto;max-width:550px;margin:auto;color:var(--teach-ink);font-family:inherit;}
.worked-visual-body > svg text{fill:var(--teach-ink);font-family:inherit;font-size:17px;}
.diagram-node circle{fill:var(--surface,#fff);stroke:var(--teach-accent);stroke-width:2;}
.diagram-node.active circle{fill:var(--teach-accent);}
.diagram-node.active text{fill:var(--surface,#fff);}
.diagram-edge line,.diagram-edge path{fill:none;stroke:var(--teach-muted);stroke-width:2;}
.diagram-edge.selected line{stroke:var(--teach-accent);stroke-width:4;}
.diagram-edge.dashed line{stroke-dasharray:7 5;}
.diagram-edge text{paint-order:stroke;stroke:var(--surface,#fff);stroke-width:7px;stroke-linejoin:round;}
.concept-table{border-collapse:collapse;width:100%;font-size:.95rem;}
.concept-table th,.concept-table td{padding:12px 15px;text-align:center;border:1px solid var(--teach-rule);white-space:nowrap;}
.concept-table th{font-size:.83rem;background:var(--teach-wash);font-weight:650;}
.concept-table .focus-cell{background:var(--teach-wash);box-shadow:inset 0 -3px var(--teach-accent);font-weight:700;}
.concept-table th:first-child{min-width:45px;}
.matrix-pair{display:flex;align-items:center;justify-content:center;gap:15px;}
.matrix-pair>div{min-width:0;}
.matrix-pair b{display:block;text-align:center;margin:10px 0;}
.matrix-pair .concept-table th,.matrix-pair .concept-table td{padding:9px 10px;}
.matrix-pair .times{font-size:1.5rem;}
.dot-product,.trace-order,.reach-result{margin:18px 0 8px;text-align:center;font-size:1.05rem;line-height:1.7;font-weight:600;}
.augmented-table{width:auto;margin:12px auto;}
.augmented-table td{border:0;min-width:40px;}
.augmented-table .block-start{border-left:2px solid var(--teach-ink);}
.augmented-table{border-left:2px solid var(--teach-ink);border-right:2px solid var(--teach-ink);}
.matrix-labels{display:flex;justify-content:space-around;font-size:.84rem;color:var(--teach-muted);}
.venn-circles circle{fill:none;stroke:var(--teach-accent);stroke-width:2;}
.set-label{font-weight:700;}
.region-count circle{fill:var(--surface,#fff);}
.region-count.known circle{fill:var(--teach-wash);stroke:var(--teach-rule);}
.region-count.known text{font-weight:700;}
.region-count.unknown text{opacity:.55;}
.mapping-arrows path{stroke:var(--teach-accent);stroke-width:2;fill:none;}
.mapping-arrows .invalid-arrow{stroke:#ab3d32;stroke-width:3;stroke-dasharray:6 4;}
.arrow-tips path{stroke:var(--teach-accent);stroke-width:2;fill:none;}
.witness-person{display:flex;align-items:center;gap:17px;margin:0 0 21px;padding:17px;background:var(--teach-wash);border-radius:7px;}
.witness-person .person-token{width:49px;height:49px;border:2px solid var(--teach-accent);color:var(--teach-accent);border-radius:50%;display:grid;place-items:center;font:italic 27px Georgia,serif;}
.witness-person b,.witness-person div>span{display:block;line-height:1.65;font-size:.96rem;}
.witness-person div>span{font-size:.86rem;color:var(--teach-muted);}
.witness-chain{display:grid;gap:7px;}
.witness-chain>div{display:flex;align-items:center;gap:12px;padding:9px 11px;color:var(--teach-muted);font-size:.88rem;border-left:2px solid var(--teach-rule);}
.witness-chain>div.revealed{color:var(--teach-ink);border-left-color:var(--teach-accent);font-weight:600;}
.witness-chain>div>span{font-size:.76rem;}
.cancellation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.cancellation-grid>div{display:flex;flex-direction:column;gap:9px;text-align:center;border:1px solid var(--teach-rule);padding:13px 8px;}
.cancellation-grid .canceled{text-decoration:line-through;text-decoration-thickness:2px;opacity:.45;}
.cancellation-grid .survives{font-weight:650;}
.finite-example-note{font-size:.9rem!important;line-height:1.7!important;}
@media(max-width:650px){.worked-visual{padding:14px 10px;}
.concept-table th,.concept-table td{padding:10px 9px;font-size:.84rem;}
.matrix-pair{flex-wrap:wrap;}
.matrix-pair .times{width:100%;text-align:center;}
.cancellation-grid{gap:5px;}
.cancellation-grid>div{padding:12px 5px;}
.augmented-table td{padding:9px 8px;min-width:33px;}}
.audit-record-row{padding:18px 0;display:flex;align-items:center;justify-content:space-between;}
.audit-record-row .button{flex-shrink:0;}
@media(max-width:650px){.audit-record-row{align-items:flex-start;flex-direction:column;gap:8px;}}
mjx-assistive-mml{position:absolute!important;top:0;left:0;clip:rect(1px,1px,1px,1px);padding:1px 0 0 0!important;border:0!important;display:block!important;width:auto!important;overflow:hidden!important;user-select:none;}
mjx-assistive-mml[display="block"]{width:100%!important;}
.math-slot.math-wide{display:block;width:100%;max-width:100%;overflow-x:auto;padding:6px 0;margin:5px 0;overscroll-behavior-x:contain;}
.math-slot.math-wide:focus-visible{outline:2px solid var(--teach-accent);outline-offset:3px;}
:root{--brand-color-primary: #8f5d24;--brand-color-primary-bg: #cfcbc2;--brand-color-primary-bg-hover: #c2bbac;--brand-color-primary-border: #b5a384;--brand-color-primary-border-hover: #a88b60;--brand-color-primary-hover: #9c7440;--brand-color-primary-active: #693f15;--brand-color-primary-text: #1c0e03;--brand-color-success: #5b8d42;--brand-color-success-bg: #c6ccc0;--brand-color-success-border: #acb3a8;--brand-color-success-hover: #759960;--brand-color-success-active: #3d662b;--brand-color-warning: #c27b22;--brand-color-warning-bg: #fffbf0;--brand-color-warning-border: #e8cd99;--brand-color-warning-hover: #cf9746;--brand-color-warning-active: #9c5b14;--brand-color-error: #a64036;--brand-color-error-bg: #e6dbd8;--brand-color-error-border: #ccada5;--brand-color-error-hover: #b36357;--brand-color-error-active: #802924;--brand-color-info: #8f5d24;--brand-color-info-bg: #cfcbc2;--brand-color-info-border: #b5a384;--brand-color-link: #8f5d24;--brand-color-link-hover: #9c7440;--brand-color-link-active: #693f15;--brand-color-text: #3b352b;--brand-color-text-secondary: #6d675a;--brand-color-text-tertiary: #989283;--brand-color-text-quaternary: #c4bdac;--brand-color-fill: #d9d3c0;--brand-color-fill-secondary: #ede6d3;--brand-color-fill-tertiary: #f1ead7;--brand-color-fill-quaternary: #f6efdb;--brand-color-bg-layout: #f1ead7;--brand-color-bg-container: #faf3df;--brand-color-bg-elevated: #faf3df;--brand-color-border: #d9d3c0;--brand-color-border-secondary: #ede6d3;--brand-font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--brand-font-family-code: "SF Mono", ui-monospace, Menlo, monospace;--brand-font-size: 17px;--brand-font-size-sm: 14px;--brand-font-size-lg: 22px;--brand-font-size-xl: 26px;--brand-font-size-heading-1: 46px;--brand-font-size-heading-2: 38px;--brand-font-size-heading-3: 32px;--brand-font-size-heading-4: 26px;--brand-font-size-heading-5: 22px;--brand-line-height: 1.4705882352941178;--brand-line-height-heading: 1.2105263157894737;--brand-font-weight-strong: 600;--brand-size-xxs: 4px;--brand-size-xs: 8px;--brand-size-sm: 12px;--brand-size: 16px;--brand-size-md: 20px;--brand-size-lg: 24px;--brand-size-xl: 32px;--brand-size-xxl: 48px;--brand-border-radius-xs: 5px;--brand-border-radius-sm: 11px;--brand-border-radius: 16px;--brand-border-radius-lg: 18px;--brand-line-width: 1px;--brand-control-height-xs: 22px;--brand-control-height-sm: 33px;--brand-control-height: 44px;--brand-control-height-lg: 55px;--brand-motion-duration-fast: 0.15s;--brand-motion-duration-mid: 0.24s;--brand-motion-duration-slow: 0.33s;--brand-motion-ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);--brand-motion-ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);--brand-primary-palette-1: #cfcbc2;--brand-primary-palette-2: #c2bbac;--brand-primary-palette-3: #b5a384;--brand-primary-palette-4: #a88b60;--brand-primary-palette-5: #9c7440;--brand-primary-palette-6: #8f5d24;--brand-primary-palette-7: #693f15;--brand-primary-palette-8: #42240a;--brand-primary-palette-9: #1c0e03;--brand-primary-palette-10: #000000;--brand-presets-red-1: #fff1f0;--brand-presets-red-2: #ffcbc7;--brand-presets-red-3: #ffa39e;--brand-presets-red-4: #ff7775;--brand-presets-red-5: #ff4d50;--brand-presets-red-6: #f5222d;--brand-presets-red-7: #cf1323;--brand-presets-red-8: #a8071a;--brand-presets-red-9: #820014;--brand-presets-red-10: #5c0011;--brand-presets-volcano-1: #fff2e8;--brand-presets-volcano-2: #ffd8bf;--brand-presets-volcano-3: #ffbb96;--brand-presets-volcano-4: #ff9c6e;--brand-presets-volcano-5: #ff7a45;--brand-presets-volcano-6: #fa541c;--brand-presets-volcano-7: #d4380d;--brand-presets-volcano-8: #ad2202;--brand-presets-volcano-9: #871500;--brand-presets-volcano-10: #610c00;--brand-presets-orange-1: #fff7e6;--brand-presets-orange-2: #ffe7ba;--brand-presets-orange-3: #ffd591;--brand-presets-orange-4: #ffc069;--brand-presets-orange-5: #ffa940;--brand-presets-orange-6: #fa8c16;--brand-presets-orange-7: #d46b08;--brand-presets-orange-8: #ad4e00;--brand-presets-orange-9: #873800;--brand-presets-orange-10: #612500;--brand-presets-gold-1: #fffbe6;--brand-presets-gold-2: #fff1b8;--brand-presets-gold-3: #ffe58f;--brand-presets-gold-4: #ffd666;--brand-presets-gold-5: #ffc53d;--brand-presets-gold-6: #faad14;--brand-presets-gold-7: #d48806;--brand-presets-gold-8: #ad6800;--brand-presets-gold-9: #874c00;--brand-presets-gold-10: #613400;--brand-presets-yellow-1: #feffe6;--brand-presets-yellow-2: #ffffb8;--brand-presets-yellow-3: #fffb8f;--brand-presets-yellow-4: #fff566;--brand-presets-yellow-5: #ffeb3d;--brand-presets-yellow-6: #fadb14;--brand-presets-yellow-7: #d4b106;--brand-presets-yellow-8: #ad8a00;--brand-presets-yellow-9: #876700;--brand-presets-yellow-10: #614700;--brand-presets-lime-1: #fcffe6;--brand-presets-lime-2: #f4ffb8;--brand-presets-lime-3: #eaff8f;--brand-presets-lime-4: #d3f261;--brand-presets-lime-5: #bae637;--brand-presets-lime-6: #a0d911;--brand-presets-lime-7: #7bb305;--brand-presets-lime-8: #5b8c00;--brand-presets-lime-9: #3f6600;--brand-presets-lime-10: #254000;--brand-presets-green-1: #f6ffed;--brand-presets-green-2: #d9f7be;--brand-presets-green-3: #b6eb8f;--brand-presets-green-4: #94de64;--brand-presets-green-5: #72d13d;--brand-presets-green-6: #52c41a;--brand-presets-green-7: #389e0d;--brand-presets-green-8: #227804;--brand-presets-green-9: #135200;--brand-presets-green-10: #092b00;--brand-presets-cyan-1: #e6fffb;--brand-presets-cyan-2: #b5f5ec;--brand-presets-cyan-3: #87e8de;--brand-presets-cyan-4: #5cdbd3;--brand-presets-cyan-5: #36cfc9;--brand-presets-cyan-6: #13c2c2;--brand-presets-cyan-7: #08979c;--brand-presets-cyan-8: #006d75;--brand-presets-cyan-9: #00474f;--brand-presets-cyan-10: #002329;--brand-presets-blue-1: #e6f4ff;--brand-presets-blue-2: #bae0ff;--brand-presets-blue-3: #91caff;--brand-presets-blue-4: #69b1ff;--brand-presets-blue-5: #4096ff;--brand-presets-blue-6: #1677ff;--brand-presets-blue-7: #0958d9;--brand-presets-blue-8: #003eb3;--brand-presets-blue-9: #002c8c;--brand-presets-blue-10: #001d66;--brand-presets-geekblue-1: #f0f5ff;--brand-presets-geekblue-2: #d6e4ff;--brand-presets-geekblue-3: #adc6ff;--brand-presets-geekblue-4: #85a5ff;--brand-presets-geekblue-5: #597df7;--brand-presets-geekblue-6: #2f54eb;--brand-presets-geekblue-7: #1d39c4;--brand-presets-geekblue-8: #10229e;--brand-presets-geekblue-9: #061178;--brand-presets-geekblue-10: #030852;--brand-presets-purple-1: #f9f0ff;--brand-presets-purple-2: #efdbff;--brand-presets-purple-3: #d4adf7;--brand-presets-purple-4: #b37feb;--brand-presets-purple-5: #9254de;--brand-presets-purple-6: #722ed1;--brand-presets-purple-7: #531dab;--brand-presets-purple-8: #391085;--brand-presets-purple-9: #22075e;--brand-presets-purple-10: #120338;--brand-presets-magenta-1: #fff0f6;--brand-presets-magenta-2: #ffd6e7;--brand-presets-magenta-3: #ffadd2;--brand-presets-magenta-4: #ff85bf;--brand-presets-magenta-5: #f759aa;--brand-presets-magenta-6: #eb2f96;--brand-presets-magenta-7: #c41d7e;--brand-presets-magenta-8: #9e1067;--brand-presets-magenta-9: #780650;--brand-presets-magenta-10: #520339;--brand-presets-grey-1: #a6a6a6;--brand-presets-grey-2: #999999;--brand-presets-grey-3: #8c8c8c;--brand-presets-grey-4: #808080;--brand-presets-grey-5: #737373;--brand-presets-grey-6: #666666;--brand-presets-grey-7: #404040;--brand-presets-grey-8: #1a1a1a;--brand-presets-grey-9: #000000;--brand-presets-grey-10: #000000;}
:root,:root[data-theme=light]{--bg:var(--brand-color-bg-layout);--panel:var(--brand-color-bg-container);--surface:var(--panel);--ink:var(--brand-color-text);--muted:var(--brand-color-text-secondary);--accent:var(--brand-color-primary);--accent-soft:var(--brand-color-primary-bg);--on-accent:#fff;--line:var(--brand-color-border);--soft:var(--brand-color-fill-secondary);--good:var(--brand-color-success-active);--good-bg:var(--brand-color-success-bg);--bad:var(--brand-color-error-active);--bad-bg:var(--brand-color-error-bg);--gold:var(--brand-color-warning-active);--gold-bg:var(--brand-color-warning-bg);--graph-line:var(--muted);--scene:var(--panel);--signal:var(--good);--signal-bg:var(--good-bg);--shadow:none;--teach-accent:var(--accent);--teach-wash:var(--soft);--teach-rule:var(--line);--teach-ink:var(--ink);--teach-muted:var(--muted);font-family:var(--brand-font-family);}
:root[data-theme=dark]{--bg:#211e19;--panel:#2c2821;--surface:var(--panel);--ink:#f7efd9;--muted:#c9c0ab;--accent:#e6bd83;--accent-soft:#493c2b;--on-accent:#251b0e;--line:#625847;--soft:#383227;--good:#c0dba4;--good-bg:#384331;--bad:#f1b8a9;--bad-bg:#4b312b;--gold:#efd19a;--gold-bg:#493c22;--graph-line:#c9c0ab;--scene:var(--panel);--signal:var(--good);--signal-bg:var(--good-bg);--teach-accent:var(--accent);--teach-wash:var(--soft);--teach-rule:var(--line);--teach-ink:var(--ink);--teach-muted:var(--muted);color-scheme:dark;}
:root[data-theme=contrast]{--bg:#fff;--panel:#fff;--surface:#fff;--ink:#000;--muted:#222;--accent:#693f15;--accent-soft:#f2e6d4;--on-accent:#fff;--line:#555;--soft:#eee;--good:#174700;--good-bg:#eaf0e4;--bad:#7d1e10;--bad-bg:#fceae5;--graph-line:#222;--teach-accent:var(--accent);--teach-wash:var(--soft);--teach-rule:var(--line);--teach-ink:var(--ink);--teach-muted:var(--muted);color-scheme:light;}
body{font-family:var(--brand-font-family);font-size:var(--brand-font-size);line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif;line-height:var(--brand-line-height-heading);font-weight:400;letter-spacing:-.02em;}
h1,.instruction-heading h1{font-size:clamp(30px,3.3vw,46px);font-weight:400;line-height:1.21;}
h4{font-size:22px;}
button,.button,input,select,textarea{font-family:var(--brand-font-family);font-size:17px;font-weight:400;line-height:1.45;min-height:44px;border-radius:var(--brand-border-radius);border:1px solid var(--line);background:var(--panel);color:var(--ink);}
button,.button{text-align:center;white-space:normal;}
button.primary,.button.primary,button.primary:hover:not(:disabled){background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:0 2px 0 var(--accent-soft);filter:none;}
button.primary:hover:not(:disabled),.button.primary:hover{background:var(--brand-color-primary-active);color:white;}
button:hover:not(:disabled),.button:hover{border-color:var(--accent);background:var(--soft);box-shadow:none;}
button:active,.button:active{transform:translateY(.5px);}
button.small,.button.small{border-radius:11px;}
input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea{font-size:17px;border-radius:11px;padding:10px 12px;background:var(--panel);color:var(--ink);min-width:0;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);}
.sidebar{overflow-y:auto;}
.brand-mark{width:36px;height:40px;flex-basis:36px;border-radius:11px;background:var(--accent);color:white;}
.brand small{font-family:var(--brand-font-family);font-size:11px;font-weight:400;}
.nav-list a.active{box-shadow:none;border-radius:11px;}
.side-bottom{font-size:14px;}
.side-bottom a{min-height:32px;margin:6px 0;}
.side-version{line-height:1.7;margin-top:24px;}
.topbar .crumb{font-size:14px;color:var(--muted);}
.save-status-button{border:0;max-width:230px;}
.path-heading{margin:0 0 32px;max-width:850px;}
.path-heading h1{margin:0 0 16px;}
.path-heading p{line-height:1.6;}
.path-heading p:last-child{margin-bottom:0;}
.resume-panel{grid-template-columns:minmax(0,1.45fr) minmax(230px,1fr);gap:32px;align-items:center;}
.resume-panel h2{font-size:32px;margin:0 0 16px;}
.resume-panel p{margin-bottom:20px;}
.resume-panel .position-label{font-size:14px;color:var(--muted);margin-bottom:12px;}
.resume-aside{border-left:1px solid var(--line);padding-left:32px;}
.resume-aside h3{font-size:24px;margin-bottom:12px;}
.resume-aside p{font-size:15px;line-height:1.65;color:var(--muted);margin-bottom:12px;}
.resume-aside p:last-child{margin-bottom:0;}
.path-summary{margin:0 0 28px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;}
.path-summary>p{grid-column:1/-1;font-size:14px;color:var(--muted);margin:0;}
.paper-progress{min-width:0;margin:8px 0 12px;}
.progress-label{margin-bottom:10px;}
.progress-label strong{font-variant-numeric:tabular-nums;white-space:nowrap;}
.paper-progress progress{display:block;border:0;overflow:hidden;background:var(--line);}
progress::-webkit-progress-bar{background:var(--line);border-radius:16px;}
progress::-webkit-progress-value{background:var(--accent);border-radius:16px;}
progress::-moz-progress-bar{background:var(--accent);border-radius:16px;}
.path-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0;}
.route-explanation,.path-finish,.section-orientation{margin:24px 0;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:18px;}
.section-orientation h2{font-size:28px;}
.route-explanation summary,.path-finish summary{font-size:17px;font-weight:600;cursor:pointer;}
.route-explanation p,.path-finish p{max-width:85ch;}
.path-filter{margin:0 0 24px;display:flex;gap:16px;align-items:center;}
.path-filter label{font-size:14px;font-weight:600;white-space:nowrap;}
.path-filter input{width:100%;max-width:480px;}
.chapter-path{overflow:hidden;}
.chapter-path>summary{display:flex;align-items:center;cursor:pointer;list-style:none;margin:0;}
.chapter-path>summary::-webkit-details-marker{display:none;}
.chapter-path>summary:after{content:"+";font-size:26px;margin-left:6px;color:var(--accent);}
.chapter-path[open]>summary:after{content:"−";}
.chapter-number{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;}
.chapter-name{display:grid;gap:6px;flex:1;min-width:0;}
.chapter-name strong{font:28px/1.2 Georgia,serif;}
.chapter-name>span{font-size:14px;color:var(--muted);}
.chapter-state{color:var(--muted);text-align:right;}
.section-path{display:flex;gap:16px;align-items:center;border-top:1px solid var(--line);}
.section-path>div{flex:1;min-width:0;}
.section-path h3{font:600 17px/1.5 var(--brand-font-family);margin:0 0 4px;}
.section-path h3 a{color:var(--ink);text-decoration:none;}
.section-path h3 a:hover{text-decoration:underline;}
.section-path p{color:var(--muted);margin:0;}
.section-marker{width:25px;flex:0 0 25px;text-align:center;color:var(--accent);}
.section-path.current h3 a{color:var(--accent);}
.chapter-checkpoint{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:11px;margin-top:12px;}
.chapter-checkpoint p{font-size:14px;margin:6px 0 0;}
.chapter-checkpoint strong{font-size:17px;}
.chapter-checkpoint button{flex:0 0 200px;}
.support-heading{font-size:32px;margin:40px 0 12px;}
.path-crumb{display:flex;color:var(--muted);}
.path-crumb a{font-size:14px;}






.section-orientation p{line-height:1.75;}
.instruction-heading h1{margin-bottom:14px;}
.learning-purpose{font-size:15px;line-height:1.6;}
.skill-picker select{background:var(--panel);color:var(--ink);}





.teaching-page{border-radius:18px;margin-top:12px;}
.teaching-page h2,.meaning-words h2{font:400 26px/1.3 Georgia,"Times New Roman",serif;letter-spacing:-.02em;margin-bottom:16px;}
.teaching-page h3{font-size:23px;}
.teaching-page p,.teaching-page dd,.prior-knowledge p,.prior-knowledge dd{font-size:17px;line-height:1.75;}
.teaching-page p{max-width:85ch;}
.teaching-page .support-note{font-size:14px;line-height:1.65;}
.step-position{color:var(--muted);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.meaning-words dt{font-size:16px;}
.meaning-words dl>div{grid-template-columns:170px minmax(0,1fr);padding:12px 0;gap:20px;}
.meaning-words dd{line-height:1.7;}
.teaching-explanation{margin:28px 0;max-width:85ch;}
.teaching-explanation p{font-size:18px;line-height:1.75;}
.reasoning-repair{margin:24px 0;border-left:3px solid var(--accent);padding:4px 0 4px 20px;}
.reasoning-repair p{font-size:17px;}
.section-connection,.method-preflight,.section-transfer{padding:20px 0;margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-connection>summary,.method-preflight>summary,.section-transfer>summary{font-size:17px;font-weight:600;cursor:pointer;}
.notation-reading{border-left:2px solid var(--accent);padding-left:16px;}
.definition-reminder{background:transparent;border:0;padding:0 0 16px;}
.definition-reminder summary{font-size:14px;color:var(--muted);}
.meaning-bridge{border-left:3px solid var(--accent);border-radius:0 11px 11px 0;font-size:15px;}
.worked-line{border:0;margin:16px 0;}
.worked-line>div{font-size:17px;}
.worked-line>b{font-size:14px;}
.worked-forms{margin-top:32px;}
.guided-choices button{font:400 17px/1.65 var(--brand-font-family);border-radius:16px;}
.guided-choices button.chosen.good{border-color:var(--good);background:var(--good-bg);}
.guided-choices button.chosen.bad{border-color:var(--bad);background:var(--bad-bg);}
.guided-feedback{background:var(--soft);}
.guided-feedback.good{border-color:var(--good);}
.guided-feedback.bad{border-color:var(--bad);}
.guided-feedback h3{font-size:26px;}
.step-finish{border-top:1px solid var(--line);padding-top:24px;}
.step-finish>p{font-size:14px;color:var(--muted);}
.step-finish .teaching-navigation{border:0;padding:0;margin:16px 0;}
.teaching-navigation .button{max-width:none;}
.teaching-navigation button{max-width:65%;}
.step-finish .text-link{display:inline-block;margin-top:8px;margin-right:16px;}
.text-link{font-size:14px;}
.prior-knowledge,.applied-model,.instruction-foot{margin-top:24px;}
.prior-knowledge,.applied-model{border-radius:16px;background:var(--panel);padding:24px;}
.instruction-foot{font-size:14px;}
.instruction-foot p{font-size:14px;}
.prerequisite-return{display:inline-block;font-size:14px;margin-bottom:20px;}
.recall-comparison{background:var(--soft);border-radius:11px;padding:24px;margin:24px 0;}
.recall-comparison p{line-height:1.8;}
.small-text{font-size:14px;}
.tiny,.citation,.source-footnote{font-size:13px;}
.notice{font-size:15px;}
.page-heading h1{font-size:38px;}
.card h2{font-size:28px;}
.card h3{font-size:23px;}
.library-list{margin:24px 0;}
.library-list h2{margin-bottom:12px;}
.library-list p{color:var(--muted);}
.library-list h2 a{text-decoration:none;}
.finish-panel{border:1px solid var(--line);margin:24px 0;}
.finish-panel h2{font-size:30px;}
.session-context{background:var(--panel);padding:24px;border:1px solid var(--line);border-radius:18px;}
.session-context p{font-size:15px;}
.session-context h2{font-size:28px;margin:12px 0;}
.session-context .button{margin:4px 12px 0 0;}
.idea-explanations{padding:24px 0 32px;border-bottom:1px solid var(--line);margin-bottom:32px;}
.idea-explanations details{padding:16px 0;border-bottom:1px solid var(--line);}
.idea-explanations details p{white-space:pre-wrap;}
.micro-experiment{margin:32px 0;padding:24px;background:var(--panel);border:1px solid var(--accent);border-radius:18px;}
.micro-experiment h2{font-size:26px;}
.micro-experiment .experiment-controls{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin:20px 0;}
.micro-experiment label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;min-width:0;}
.micro-experiment label select{width:100%;max-width:280px;}
.micro-experiment>label{margin:20px 0;}
.micro-experiment input[type=range]{width:100%;min-width:150px;max-width:380px;accent-color:var(--accent);}
.experiment-table{overflow-x:auto;max-width:100%;margin:20px 0;}
.experiment-table table{min-width:0;width:100%;border-collapse:collapse;background:var(--panel);font-size:16px;}
.experiment-table th{font:600 14px/1.5 var(--brand-font-family);color:var(--muted);background:var(--soft);}
.experiment-table td,.experiment-table th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;}
.experiment-table button{min-width:48px;font-size:14px;border-radius:11px;padding:8px 12px;min-height:44px;}
.comparison-pair,.matrix-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0;}
.comparison-pair>p{background:var(--soft);border-radius:11px;padding:16px;margin:0;font-size:16px;}
.comparison-pair strong{font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;}
.rule-result{background:var(--soft);border-left:3px solid var(--accent);padding:16px 20px;margin:20px 0;font-size:20px;}
.micro-experiment .experiment-takeaway{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;}
.micro-experiment svg.series-plot,.micro-experiment svg.teaching-graph{display:block;width:100%;max-width:600px;height:auto;max-height:340px;margin:24px auto;background:var(--panel);overflow:visible;}
.series-plot line,.teaching-graph line{stroke:var(--line);stroke-width:2;}
.series-plot polyline{fill:none;stroke:var(--accent);stroke-width:2.5;}
.series-plot circle{fill:var(--accent);stroke:none;}
.series-plot rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1;}
.series-plot text,.teaching-graph text{fill:var(--ink);font:15px var(--brand-font-family);}
.teaching-graph circle{fill:var(--panel);stroke:var(--muted);stroke-width:2;}
.teaching-graph .tree-edge{stroke:var(--accent);stroke-width:4;}
.teaching-graph .visited-node circle{fill:var(--accent-soft);stroke:var(--accent);}
.teaching-graph .current-node circle{fill:var(--accent);stroke:var(--accent);}
.teaching-graph .current-node text{fill:var(--on-accent);}
.matrix-comparison>div{min-width:0;overflow-x:auto;}
.micro-experiment mjx-container[jax=SVG]{font-size:100%!important;}
.teaching-page,.teaching-page div,.meaning-words dd{min-width:0;}
@media(min-width:1600px){main{padding-top:48px;}
.instruction-heading h1{max-width:850px;}}
@media(max-width:1100px){#shell{grid-template-columns:208px minmax(0,1fr);}
main{padding:32px 24px 64px;}
.topbar{padding:0 24px;}
.brand{font-size:20px;}
.resume-panel{grid-template-columns:1fr;gap:24px;padding:28px;}
.resume-aside{padding:20px 0 0;border-left:0;border-top:1px solid var(--line);}
.instruction-heading{display:block;}
.skill-picker{margin-top:20px;width:100%;max-width:420px;}

.chapter-state{display:none;}
.teaching-page{padding:28px;}
.grid.three{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px){#shell{display:block;}
.sidebar{width:270px;position:fixed;left:-290px;top:0;transition:left .24s;z-index:90;box-shadow:0 0 30px #0003;}
.sidebar.open{left:0;}
.topbar{height:64px;padding:0 20px;}
.mobile-header{display:flex;}
.topbar .crumb{font-size:13px;max-width:none;}
.save-status-button{font-size:12px;max-width:158px;}
.menu-toggle{width:44px;padding:8px;display:grid;place-items:center;border-radius:11px;}
.topbar .mobile-header .menu-toggle{min-height:44px;}
main{padding:28px 20px 56px;}
.path-heading{margin-bottom:24px;}
.path-heading h1,.instruction-heading h1{font-size:34px;}
.path-heading p{font-size:17px;}
.path-summary{grid-template-columns:1fr;gap:8px;}
.resume-panel{padding:24px;margin-bottom:24px;}
.resume-panel h2{font-size:29px;}
.resume-aside{display:none;}
.chapter-path>summary{padding:20px 16px;gap:12px;}
.chapter-name strong{font-size:24px;}
.chapter-number{width:36px;height:36px;flex-basis:36px;font-size:20px;}
.chapter-content{padding:0 16px 20px;}
.section-path{gap:10px;}
.section-marker{width:17px;flex-basis:17px;}
.section-path .small{padding:8px 10px;min-width:62px;}
.chapter-checkpoint{display:block;padding:20px;}
.chapter-checkpoint button{margin-top:16px;}
.path-filter{display:block;}
.path-filter input{margin-top:8px;max-width:none;}
.section-orientation{padding:24px;}




.teaching-page{padding:24px;border-radius:18px;}
.meaning-words dl>div{grid-template-columns:1fr;gap:4px;}
.meaning-words dt{font-weight:600;}
.meaning-words dd{font-size:17px;}

.instruction-heading{margin-top:0;}
.step-position{font-size:13px;margin-bottom:20px;}
.teaching-page p,.teaching-page dd{line-height:1.75;}
.worked-line{padding:16px;grid-template-columns:28px minmax(0,1fr);gap:12px;}
.worked-line>b{width:26px;height:26px;}
.teaching-navigation{align-items:stretch;flex-direction:column-reverse;}
.teaching-navigation button,.teaching-navigation .button{max-width:100%;width:100%;}
.step-finish .text-link{font-size:14px;}
.micro-experiment{padding:20px;}
.comparison-pair,.matrix-comparison{gap:12px;}
.experiment-table th,.experiment-table td{padding:8px;}
.experiment-table button{padding:7px;font-size:13px;min-width:40px;}
.grid.two,.grid.three{grid-template-columns:1fr;}
.grid.four{grid-template-columns:repeat(2,minmax(0,1fr));}
.page-heading h1{font-size:32px;}
.session-grid{grid-template-columns:1fr;}
.session-aside{position:static;}
.finish-panel,.session-context{padding:24px;}
.review-queue>div{display:block;}
.review-queue .text-link{display:inline-block;margin-top:8px;}}
@media(max-width:430px){main{padding:24px 16px 48px;}
.topbar{padding:0 12px;gap:8px;}
.topbar .crumb{font-size:12px;}
.save-status-button{font-size:11px;max-width:138px;}
.path-heading h1,.instruction-heading h1{font-size:30px;}
.path-heading p{font-size:16px;}
.resume-panel{padding:22px;}
.resume-panel h2{font-size:28px;}
.progress-label{font-size:13px;gap:8px;}
.path-actions{gap:10px;}
.path-actions .button{width:100%;}
.teaching-page{padding:20px;}




.meaning-words h2,.teaching-page h2{font-size:24px;}
.teaching-page p,.teaching-page dd{font-size:17px;}
.micro-experiment{padding:16px;}
.comparison-pair{grid-template-columns:1fr;}
.experiment-controls>label{width:100%;}
.experiment-table th,.experiment-table td{padding:7px 5px;font-size:14px;}
.experiment-table button{font-size:12px;padding:7px 5px;min-width:35px;}
.matrix-comparison{grid-template-columns:1fr;}
.chapter-name strong{font-size:23px;}
.chapter-name>span{font-size:13px;}
.chapter-path>summary{gap:10px;padding:18px 14px;}
.section-path{flex-wrap:wrap;}
.section-path>div{flex-basis:calc(100% - 33px);}
.section-path>.button{margin-left:27px;}
.path-crumb{font-size:13px;gap:4px 8px;}
.path-crumb a{font-size:13px;}
.step-finish .text-link{display:block;}
.worked-line{padding:14px;gap:8px;grid-template-columns:25px minmax(0,1fr);}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important;}}
@media print{.sidebar,.topbar,.step-finish,.path-actions{display:none!important;}
#shell{display:block;}
body,main{background:#fff;color:#000;}
main{padding:0;}
.teaching-page{border:0;padding:0;}
.micro-experiment{break-inside:avoid;}}
.experiment-disclosure{padding:22px 0;border-block:1px solid var(--line);margin:28px 0;}
.experiment-disclosure>summary{font-size:17px;font-weight:600;cursor:pointer;}
.experiment-disclosure .micro-experiment{margin-bottom:0;}
.math-slot.math-wide{border-bottom:1px dotted var(--accent);scrollbar-width:thin;scrollbar-color:var(--accent) var(--soft);}
.math-slot.math-wide:after{content:"Scroll formula horizontally →";display:block;position:sticky;left:0;font:12px/1.5 var(--brand-font-family);color:var(--muted);padding-top:6px;width:max-content;max-width:100%;}
.mapping-diagram{display:block;width:min(100%,480px);height:auto;margin:20px auto;overflow:visible;}
.mapping-diagram text{fill:var(--ink);font:15px var(--brand-font-family);}
.mapping-diagram circle{fill:var(--surface);stroke:var(--muted);stroke-width:1.6;}
.mapping-diagram .mapping-edge{fill:none;stroke:var(--accent);stroke-width:2;}
.mapping-diagram marker path{fill:var(--accent);}
.mapping-diagram .in-range circle{fill:var(--accent);stroke:var(--accent);}
.mapping-diagram .in-range text{fill:var(--on-accent);}
.concept-first {max-width: 78ch;}
.concept-first > p {line-height: 1.75;margin-block: 1.1em;}
.definition-reference {margin-block: 1.4rem;}
.definition-reference .meaning-words {margin-top: 1rem;}
.sequence-overview-table {overflow-x: auto;max-width: 100%;margin-block: 1.1rem;}
.sequence-overview-table table {width:100%;min-width:290px;border-collapse:collapse;}
.sequence-overview-table caption {text-align:left;line-height:1.5;padding-bottom:.6rem;font-size:.92em;}
.sequence-overview-table th, .sequence-overview-table td {padding:.7rem .8rem;text-align:center;border-bottom:1px solid var(--brand-color-primary-border);}
.sequence-overview-table th {text-align:left;font-weight:600;}
.sequence-overview-table .selected-term {background:var(--brand-color-primary-bg);font-weight:700;}
.sequence-position-controls {display:flex;flex-wrap:wrap;gap:.5rem;}
.sequence-position-controls button {min-height:44px;}
.sequence-position-controls button[aria-pressed="true"] {outline:2px solid var(--brand-color-primary);outline-offset:1px;}
.inline-sequence {margin-block:1.6rem;}
.selected-sequence-value {font-size:1.12em;}
.next-explanation {border-left:3px solid var(--brand-color-primary-border);padding-left:1rem;}
@media (max-width:480px) {.sequence-overview-table th,.sequence-overview-table td {padding:.6rem .5rem;}
.concept-first>p {line-height:1.7;}}
select option,select optgroup{background-color:var(--panel);color:var(--ink);}
select option:disabled,select optgroup:disabled{color:var(--muted);}
:root,[data-theme="light"]{--bg:#faf3df;--panel:#fffaf0;--ink:#211b12;--muted:#6d6252;--line:#ddd0b4;--soft:#f3ebd7;--gold:#775016;--gold-bg:#f3e6bf;--bad:#923e32;--bad-bg:#f7e7da;--good:#365d2d;--graph-line:#7c7160;--shadow:none;--display:Georgia,"Times New Roman",serif;--body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"SF Mono",ui-monospace,Menlo,monospace;--space:8px;--radius:10px;--duration:180ms;color-scheme:light;}
[data-theme="dark"]{--bg:#211b12;--panel:#2c251b;--ink:#fffaf0;--muted:#d3c6ae;--line:#756750;--soft:#352d21;--gold:#efd199;--gold-bg:#463b25;--bad:#f4b3a3;--bad-bg:#4d2c25;--good:#bbd5a9;--graph-line:#d3c6ae;color-scheme:dark;}
[data-theme="contrast"]{--bg:#fffaf0;--panel:#fffaf0;--ink:#211b12;--muted:#211b12;--line:#211b12;--soft:#faf3df;}
*{box-sizing:border-box;}
html{scroll-padding-top:80px;}
body{font:17px/1.65 var(--body);background:var(--bg);color:var(--ink);}
h1,h2,h3,h4{color:var(--ink);text-wrap:balance;}
h1,h2,.path-heading h1,.instruction-heading h1{font-family:var(--display);font-weight:400;letter-spacing:-.035em;}
h1,.path-heading h1{font-size:clamp(32px,3.5vw,48px);line-height:1.12;}
h2{font-size:28px;line-height:1.25;}
h3{font-size:18px;line-height:1.4;}
p{max-width:75ch;}
a{color:var(--accent);text-underline-offset:4px;}
button,input,select,textarea,.button{font:inherit;}
button,.button,select,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]){min-height:44px;}
button,.button{font-size:16px;font-weight:600;padding:10px 16px;cursor:pointer;}
button:disabled{cursor:not-allowed;opacity:.6;}
.button-row{gap:8px;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px;}
input,textarea,select{background:var(--panel);color:var(--ink);border:1px solid var(--graph-line);padding:12px;max-width:100%;}
summary{cursor:pointer;min-height:44px;padding-block:10px;}
button,a{transition:opacity var(--duration) ease-out;}
a.button{text-decoration:none;}
label{font-size:16px;}
.small-text,.support-note,.answer-help,.lab-note{font-size:15px;line-height:1.6;}
.tiny,.eyebrow,.position-label{font-size:12px;letter-spacing:.1em;}
.muted{color:var(--muted);}
#shell{grid-template-columns:232px minmax(0,1fr);}
.sidebar{background:var(--panel);padding:32px 20px 24px;border-right:1px solid var(--line);height:100dvh;}
.brand{padding:0 8px 40px;gap:0;font-family:var(--display);font-size:27px;font-weight:400;letter-spacing:-1px;}
.brand-mark{display:none;}
.brand small{font:11px var(--body);letter-spacing:.12em;margin-top:8px;}
.nav-list{gap:8px;}
.nav-list a{font-size:15px;min-height:48px;padding:12px;gap:12px;border-radius:8px;color:var(--muted);}
.nav-list a.active{color:var(--accent);background:var(--accent-soft);font-weight:650;}

.side-bottom{display:grid;gap:16px;padding:24px 12px 0;}
.side-bottom a{font-size:14px;text-decoration:none;}
.side-version{font-family:var(--display);font-size:17px;border-top:1px solid var(--line);padding-top:24px;}
.topbar{height:64px;padding:0 48px;background:var(--bg);border-bottom:1px solid var(--line);}
.crumb{font-size:12px!important;letter-spacing:.1em;}
.save-status-button{font-size:13px;min-height:44px;display:flex;align-items:center;}
.workspace{min-width:0;}
main{padding:48px;max-width:1440px;width:100%;min-width:0;}
.path-heading{margin-bottom:32px;}
.path-heading p{color:var(--muted);font-size:17px;max-width:65ch;}
.path-heading h1{margin-bottom:16px;}
.path-crumb{flex-wrap:wrap;margin-bottom:24px;}
.path-crumb a{min-height:44px;display:inline-flex;align-items:center;}
.card{background:var(--panel);}
.notice,.support-note,.reasoning-repair{border-left:0!important;}
.notice{border-radius:10px;}
.teaching-page,.teaching-explanation,.worked-story,.recall-work{max-width:800px;}
.teaching-page{margin-inline:auto;}
.teaching-explanation p,.lesson-copy{font-size:18px;line-height:1.75;}
.instruction-heading{max-width:1040px;margin:0 auto 24px;}
.instruction-heading h1{font-size:clamp(30px,3vw,42px);}



.step-position{font-family:var(--mono);font-size:13px;}
.teaching-navigation{border-top:1px solid var(--line);gap:16px;}
.meaning-bridge{background:transparent;border:0;border-top:1px solid var(--line);padding:24px 0;color:var(--muted);}
.definition-reference,.section-connection,.prerequisite-recap{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;margin-top:24px;padding:12px 0;}
.worked-line{display:grid;border-bottom:1px solid var(--line);background:transparent;}
.guided-question{font:26px/1.45 var(--display);}
.guided-choices{display:grid;gap:12px;}
.guided-choices button{text-align:left;padding:20px;}
.independent-start{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px;}
.recall-work textarea{min-height:160px;}
.formula,.math-wide,.math-display,.matrix-wrap,.table-scroll{max-width:100%;overflow-x:auto;}
.math-svg{max-width:100%;height:auto;}
.math-rich{min-width:0;}
.session-layout,.session-grid,.lab-layout{gap:32px;}
.session-main{min-width:0;}
.question-stem{font-size:21px;line-height:1.6;}
.choice{min-height:56px;font-size:17px;padding:16px;gap:16px;}
.session-nav,.question-navigator{gap:8px;}
.session-nav button,.question-navigator button{min-height:44px;min-width:44px;}
.lab-controls,.lab-output{box-shadow:none;}
.matrix td,.concept-table td{padding:12px;font-family:var(--mono);}
.chapter-path{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;margin:0;}
.chapter-path>summary{padding:24px 0;gap:20px;}
.chapter-number{font:30px var(--display);color:var(--accent);background:transparent;border:0;}
.chapter-name strong{font-family:var(--display);font-size:24px;font-weight:400;}
.chapter-name span{font-size:14px;margin-top:4px;}
.chapter-content{padding:0 0 24px 64px;}
.chapter-state{font-size:13px;}
.section-path{border:0;border-bottom:1px solid var(--line);padding:20px 0;}
.section-path.current{background:transparent;}
.section-path h3{font-size:17px;}
.section-path p{font-size:14px;}
.chapter-checkpoint{border:0;border-top:1px dashed var(--line);background:transparent;padding:24px 0;}
.path-filter{max-width:720px;margin-bottom:24px;}
.path-summary{background:transparent;border:0;border-block:1px solid var(--line);padding:24px 0;margin-block:32px;}
.paper-progress progress{height:6px;border-radius:0;width:100%;accent-color:var(--accent);}
.progress-label{font-size:14px;}




.section-orientation{max-width:800px;background:transparent;border:0;padding:0 0 32px;}
.library-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;}
.library-list article{border-top:1px solid var(--line);}
.finish-panel{background:var(--panel);border-radius:16px;padding:32px;}
.dm-home-top{display:flex;align-items:center;gap:16px;font:12px var(--mono);color:var(--muted);}
.dm-home-top:before{content:"";width:32px;height:1px;background:var(--accent);}
.dm-home-grid{display:grid;}
.dm-next{padding:32px 0 40px;border-block:1px solid var(--line);}
.dm-next h2{font:clamp(28px,3vw,38px)/1.22 var(--display);}
.dm-next p{max-width:58ch;}
.dm-steps{list-style:none;margin:0;display:grid;}
.dm-steps li{display:flex;gap:12px;color:var(--muted);}
.dm-steps b{font-family:var(--mono);font-size:12px;font-weight:400;}
.dm-steps .is-current{color:var(--accent);}
.dm-evidence{border-bottom:1px solid var(--line);}
.dm-evidence small{color:var(--muted);}
.dm-evidence p{color:var(--muted);margin-top:8px;}
.dm-evidence progress{width:100%;accent-color:var(--accent);}
.dm-course-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);}
.dm-course-row b{font-family:var(--display);font-weight:400;}
.dm-course-row small{font-size:13px;color:var(--muted);}
.dm-course-row .od-field{gap:4px;}
.dm-quiet{padding-top:24px;display:flex;flex-wrap:wrap;gap:24px;}
.dm-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.dm-section-head h2{margin:0;}
.dm-section-head a{font-size:14px;}









.dm-concept-list{padding:0 0 16px 40px;list-style:none;}
.dm-concept-list li{padding:8px 0;}
.dm-concept-list a{display:flex;gap:12px;justify-content:space-between;text-decoration:none;min-height:44px;align-items:center;font-size:15px;}
.dm-concept-list small{color:var(--muted);font-size:12px;}
.dm-concept-list a[aria-current]{font-weight:650;}
.dm-finish-note{margin:24px 0;border-block:1px solid var(--line);padding:24px 0;}
.dm-finish-note h2{font-size:24px;}
@media(hover:hover){button:not(:disabled):hover,.button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);}
.primary:not(:disabled):hover,.button.primary:hover{background:#693f15;color:#fffaf0;}
.nav-list a:hover,.dm-course-row:hover{background:var(--soft);color:var(--ink);}
a:hover{color:var(--ink);}}
@media(min-width:1440px){main{padding:56px 64px;}
.dm-home-grid{gap:64px;}
.teaching-page{max-width:800px;}}
@media(max-width:1023px){#shell{grid-template-columns:192px minmax(0,1fr);}
.sidebar{padding:24px 12px;}
.brand{font-size:23px;}
.topbar{padding:0 24px;}
main{padding:32px 24px;}
.dm-home-grid{grid-template-columns:1fr;gap:0;}
.dm-steps{display:flex;flex-wrap:wrap;gap:12px 20px;}
.dm-evidence{gap:20px;}
.chapter-content{padding-left:16px;}
.session-layout,.lab-layout{grid-template-columns:1fr;}
.session-side{order:2;}}
@media(max-width:767px){#shell{display:block;}
.sidebar{display:none;position:fixed;top:64px;left:0;bottom:0;width:280px;height:calc(100dvh - 64px);z-index:90;overflow:auto;box-shadow:12px 0 32px #211b1220;}
.sidebar.open{display:flex;}
.sidebar .brand{display:none;}
.topbar{height:64px;padding:0 16px;gap:12px;}
.topbar .mobile-header{display:flex;position:static;border:0;background:transparent;height:auto;padding:0;}
.menu-toggle{display:flex;align-items:center;justify-content:center;min-width:44px;}
.topbar .crumb{flex:1;font-size:11px!important;}
.save-status-button{font-size:12px;max-width:120px;line-height:1.3;}
main{padding:32px 20px 48px;}
.dm-home-grid{display:block;}
.dm-next{padding:24px 0;}
.dm-next h2{font-size:30px;}
.dm-evidence{gap:16px;padding:24px 0;}
.dm-evidence strong{font-size:27px;}
.dm-evidence small{display:block;}
.dm-evidence p{font-size:12px;}
.dm-steps{display:none;}
.dm-course-row{gap:12px;grid-template-columns:24px minmax(0,1fr) auto;}
.dm-course-row b{font-size:19px;}
.dm-course-row>small{font-size:12px;}
.dm-section-head h2{font-size:25px;}
.dm-quiet{gap:16px;}
.chapter-path>summary{gap:12px;flex-wrap:wrap;}
.chapter-name strong{font-size:22px;}
.chapter-state{margin-left:44px;}
.chapter-content{padding-left:0;}
.section-path{gap:12px;}
.section-path .button{padding:8px 12px;}
.dm-concept-list{padding-left:24px;}
.dm-concept-list a{align-items:flex-start;flex-direction:column;gap:4px;}
.library-list{grid-template-columns:1fr;}


.teaching-page{width:100%;}
.teaching-explanation p,.lesson-copy{font-size:17px;line-height:1.7;}
.independent-start,.finish-panel{padding:24px 20px;}


.grid.three,.grid.two,.settings-grid{grid-template-columns:1fr;}
.session-nav,.question-navigator{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));}
.path-crumb{font-size:12px;gap:4px;}
.instruction-heading h1{font-size:30px;}
.teaching-navigation{flex-wrap:wrap;}
.teaching-navigation>*{max-width:100%;}
.question-stem{font-size:19px;}
.card{padding:20px;}
.lab-controls .control-grid{grid-template-columns:1fr;}
.choice{font-size:16px;}
.chapter-checkpoint{flex-wrap:wrap;}
.scene-controls{flex-wrap:wrap;}
.sequence-overview-table{overflow-x:auto;}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
.paper-home>.path-heading{margin-bottom:24px;}
.paper-home>.path-heading h1{font:500 18px/1.5 var(--body);letter-spacing:0;margin:0;}
.paper-home>.path-heading>p{display:none;}
.dm-home-top{font-size:12px;margin-bottom:12px;}
.dm-next{border-top:0;padding-top:8px;}
.dm-next h2{font-size:clamp(32px,3.6vw,48px);line-height:1.16;max-width:26ch;margin:16px 0 24px;}
.dm-next .position-label{font-family:var(--mono);font-size:12px;letter-spacing:.04em;}
.dm-next .primary{margin-top:12px;}
.dm-home-grid{grid-template-columns:minmax(0,1fr) 208px;gap:48px;}
.dm-home-grid>aside{border-left:1px solid var(--line);padding-left:24px;align-self:center;}
.dm-steps{padding:8px 0;gap:20px;}
.dm-steps li{line-height:1.5;}
.dm-steps .is-current{font-weight:700;}
.dm-steps .is-current b{color:var(--ink);}
.dm-evidence{display:grid;grid-template-columns:1fr;gap:0;padding:16px 0;margin:0;}
.dm-evidence>.od-stat{display:grid;grid-template-columns:72px 104px minmax(80px,160px) minmax(0,1fr);gap:16px;align-items:center;padding:8px 0;}
.dm-evidence>.od-stat>span{font-size:14px;font-weight:600;}
.dm-evidence strong{font:16px/1.5 var(--mono);white-space:nowrap;}
.dm-evidence small{display:inline;font:12px var(--body);}
.dm-evidence progress{height:4px;margin:0;}
.dm-evidence p{margin:0;line-height:1.5;}
.dm-section-head{margin-top:32px;}
.dm-section-head h2{font-size:26px;}
.dm-course-row{padding:16px 0;}
.dm-course-row>span:first-child{font:13px var(--mono);color:var(--muted);}
.dm-course-row b{font-size:21px;}
.dm-course-row small{font-variant-numeric:tabular-nums;}
.dm-quiet{font-size:14px;}
.instruction-heading h1{max-width:30ch;}


.worked-line{border-radius:0;}
.guided-feedback{border-radius:8px;}
.library-list article{box-shadow:none;}
.chapter-path>summary{padding-block:20px;}
.chapter-content .dm-concept-list{border-left:1px solid var(--line);margin-left:8px;padding-left:24px;}
.dm-concept-list a{padding-block:8px;}
.dm-concept-list a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:4px;}
.side-version{font-style:normal;font:13px/1.6 var(--body);}
@media(max-width:1023px){.dm-home-grid{grid-template-columns:1fr;gap:24px;}
.dm-home-grid>aside{border-left:0;border-top:1px solid var(--line);padding:16px 0 0;}
.dm-steps{display:flex;flex-wrap:wrap;gap:12px 24px;}
.dm-evidence>.od-stat{grid-template-columns:64px 100px minmax(64px,1fr);}
.dm-evidence p{grid-column:2/4;padding-bottom:8px;}
.dm-next h2{max-width:28ch;}}
@media(max-width:767px){.paper-home>.path-heading{margin-bottom:16px;}
.dm-next h2{font-size:32px;}
.dm-home-grid>aside{margin-top:24px;}
.dm-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;}
.dm-steps li{font-size:13px;gap:8px;}
.dm-evidence>.od-stat{grid-template-columns:64px 96px minmax(48px,1fr);gap:8px 12px;}
.dm-evidence p{font-size:12px;}
.dm-evidence strong{font-size:15px;}
.dm-course-row b{font-size:20px;}
.dm-concept-list a{gap:8px;}

.dm-next .position-label{line-height:1.7;letter-spacing:0;}}
:root{--dm-control:44px;--dm-reading:75ch;--dm-control-gap:8px;--dm-focus:3px solid var(--accent);}
.teaching-page{padding:0;border:0;background:transparent;box-shadow:none;min-width:0;}
.teaching-explanation,.worked-story,.recall-work,.guided-thinking{max-width:min(100%,var(--dm-reading));min-width:0;}
.teaching-page p,.teaching-page dd{overflow-wrap:break-word;}
.teaching-page h2{margin-top:32px;margin-bottom:16px;}
.teaching-page>section:first-child>h2:first-child{margin-top:0;}
.teaching-page details+details{margin-top:8px;}
.teaching-page summary{font-weight:600;line-height:1.5;padding-block:12px;}
.button-row,.scene-controls,.experiment-controls,.proof-options{gap:var(--dm-control-gap);}
.experiment-table button,.matrix-cell,.bit-button,.toggle-grid button,.scene-controls button,.proof-moves button{min-width:var(--dm-control);min-height:var(--dm-control);font-size:16px;}
.experiment-table th,.experiment-table td{padding:8px;}
.experiment-table,.matrix-wrap,.table-scroll{max-width:100%;overflow-x:auto;}
.answer-help,.lab-note,.support-note,.guided-feedback p,.activity-feedback{font-size:16px;line-height:1.6;}
.choice,.guided-choices button{line-height:1.55;}
.choice>span:last-child{min-width:0;overflow-wrap:break-word;}
.choice.selected,.guided-choices [aria-pressed="true"]{border:2px solid var(--accent);background:var(--accent-soft);color:var(--ink);}
.field label{display:block;}
.field input,.field textarea,.field select{font-size:16px;}
.recall-work textarea{line-height:1.65;resize:vertical;}
.path-filter label{display:block;margin-bottom:8px;}
.chapter-name,.chapter-name strong,.chapter-name span{min-width:0;}
.nav-list a[aria-current="page"]{color:var(--accent);font-weight:700;}
.side-bottom a[aria-current="page"]{font-weight:700;text-decoration:underline;}


.save-status-button{line-height:1.5;}
.dm-course-row:focus-visible{outline-offset:-3px;}
.dm-course-row .od-field{min-width:0;}
.worked-line{padding:24px 0;gap:16px;}
.worked-line>div{min-width:0;line-height:1.7;}
.math-display,.math-wide,mjx-container[display="true"]{max-width:100%;overflow-x:auto;overflow-y:hidden;padding-block:8px;}
@media(max-width:767px){.teaching-page{padding:0;}
.teaching-page h2{font-size:25px;}


.experiment-table button{font-size:16px;min-width:44px;min-height:44px;padding:8px;}
.worked-line{padding:20px 0;gap:12px;grid-template-columns:28px minmax(0,1fr);}
.topbar .crumb{font-size:12px!important;letter-spacing:.04em;}
.save-status-button{font-size:12px!important;}
.dm-section-head{align-items:baseline;flex-wrap:wrap;}
.dm-quiet a{display:inline-flex;align-items:center;min-height:44px;}
.sidebar.open{max-width:calc(100vw - 32px);}
.scene-controls>label,.experiment-controls>label{min-width:0;max-width:100%;}}
@media(prefers-reduced-motion:reduce){button:active:not(:disabled),.button:active{transform:none;}}
:root{--dm-space-xs:8px;--dm-space-sm:16px;--dm-space-md:24px;--dm-space-lg:32px;--dm-space-xl:48px;--dm-radius-control:8px;--dm-radius-panel:12px;--dm-meta:14px;--dm-rule:1px solid var(--line);--dm-focus-color:var(--ink);}
html,body{overflow-x:clip;}
h1,h2,h3,h4{min-width:0;overflow-wrap:break-word;}
p,li,dd{overflow-wrap:break-word;}
button,input,select,textarea{max-width:100%;}
main{line-height:1.65;}
main>header,main>.page-heading,main>.page-head{margin-bottom:var(--dm-space-lg);}
.path-heading p,.instruction-heading p{max-width:65ch;margin-block:var(--dm-space-sm) 0;}
.section-line,.dm-section-head{margin-block:var(--dm-space-xl) var(--dm-space-md);gap:var(--dm-space-sm);flex-wrap:wrap;align-items:baseline;}
.section-line h2,.dm-section-head h2{font:400 clamp(24px,2.4vw,28px)/1.3 var(--display);letter-spacing:-.02em;}
.section-line a,.dm-section-head a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--dm-meta);}
.tiny,.small-text,.position-label,.step-position,.question-type,.chapter-state,.task-meta{line-height:1.6;letter-spacing:0;}
.tiny,.step-position,.question-type,.chapter-state,.task-meta{font-size:var(--dm-meta);}
.card{border:var(--dm-rule);border-radius:var(--dm-radius-panel);padding:var(--dm-space-md);box-shadow:none;min-width:0;}
.card h2:first-child,.card h3:first-child{margin-top:0;}
.card p:last-child{margin-bottom:0;}
.button-row,.path-actions,.teaching-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dm-space-xs);}
button,.button{line-height:1.5;min-height:44px;box-shadow:none;}
button.small,.button.small{font-size:var(--dm-meta);min-height:44px;padding:8px 12px;}
button:disabled,input:disabled,select:disabled,textarea:disabled{opacity:1;color:var(--muted);background:var(--soft);border-color:var(--line);cursor:not-allowed;}
.primary:disabled{background:var(--soft);color:var(--muted);border-color:var(--line);}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--dm-focus-color);outline-offset:3px;transition:none;}
.primary:focus-visible{outline-color:var(--dm-focus-color);}
input,textarea,select{border-width:1px;border-color:var(--graph-line);font-size:16px;line-height:1.5;border-radius:var(--dm-radius-control);}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent);}
input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--bad);}
textarea{resize:vertical;}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1;}
.field,.scene-controls>label,.experiment-controls>label{display:grid;gap:var(--dm-space-xs);min-width:0;}
.field label{margin-bottom:0;}
.field+.field{margin-top:var(--dm-space-md);}
.field+button{margin-top:var(--dm-space-md);}
.scene-controls,.experiment-controls{justify-content:flex-start;align-items:end;gap:var(--dm-space-sm);margin-bottom:var(--dm-space-md);}
.scene-controls select,.experiment-controls select{max-width:100%;width:100%;}
.scene-controls>label,.experiment-controls>label{flex:1 1 200px;max-width:100%;}
.notice,.feedback,.guided-feedback,.activity-feedback,.reasoning-repair{border-radius:var(--dm-radius-control);padding:var(--dm-space-sm) var(--dm-space-md);margin-block:var(--dm-space-md);font-size:16px;line-height:1.65;box-shadow:none;border-left-width:1px!important;}
.feedback.good,.notice.good{background:var(--panel);color:var(--ink);border-color:var(--good);}
.feedback.good h3,.notice.good strong{color:var(--good);}
.feedback.bad{color:var(--ink);}
.feedback.bad h3{color:var(--bad);}
.badge{font:500 13px/1.5 var(--body);padding:4px 8px;border-radius:4px;max-width:100%;}
.choice,.guided-choices button{border:2px solid var(--line);background:var(--panel);color:var(--ink);padding:var(--dm-space-sm);text-align:left;}
.choice.selected,.choice[aria-pressed=true],.guided-choices [aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);}
.choice:disabled{color:var(--ink);opacity:1;}
.choice.correct{border-color:var(--good);}
.choice.incorrect{border-color:var(--bad);}
.resume-panel{display:block;background:transparent;border:0;border-bottom:var(--dm-rule);border-radius:0;padding:8px 0 var(--dm-space-lg);margin-bottom:var(--dm-space-lg);}
.resume-panel h2{font:400 clamp(26px,3vw,36px)/1.25 var(--display);max-width:32ch;}
.resume-panel p{max-width:65ch;}
.resume-panel .primary{margin-right:var(--dm-space-sm);margin-bottom:var(--dm-space-xs);}
.review-queue>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--dm-space-md);padding:var(--dm-space-sm) 0;border-bottom:var(--dm-rule);}
.review-queue .text-link{display:inline-flex;align-items:center;min-height:44px;margin:0;flex:none;}
.progress-ribbon{display:grid;gap:0;margin:0;padding:var(--dm-space-xs) 0;border-block:var(--dm-rule);}
.progress-ribbon>div{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);gap:var(--dm-space-md);align-items:baseline;padding:var(--dm-space-sm) 0;}
.progress-ribbon>div+div{border-top:var(--dm-rule);}
.progress-ribbon b{font:500 20px/1.4 var(--mono);white-space:nowrap;}
.progress-ribbon b small{font-size:var(--dm-meta);}
.progress-ribbon span{font-size:16px;color:var(--muted);}
.chapter-group.card{padding:0;border:0;border-bottom:var(--dm-rule);border-radius:0;background:transparent;margin:0;}
.chapter-group>summary{padding:var(--dm-space-md) 0;font:400 24px/1.4 var(--display);flex-wrap:wrap;justify-content:flex-start;gap:var(--dm-space-sm);}
.chapter-group>summary::before{content:"+";font:20px var(--mono);color:var(--accent);}
.chapter-group[open]>summary::before{content:"−";}
.chapter-group .group-list{padding:0 0 var(--dm-space-md) var(--dm-space-lg);}
.skill-detail>summary{font-size:16px;padding:var(--dm-space-sm) 0;}
.list-row{padding:var(--dm-space-sm) 0;gap:var(--dm-space-sm);min-width:0;}
.list-row>span,.list-row>div{min-width:0;}
.settings-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--dm-space-lg);max-width:960px;}
.settings-grid>section.card{display:block;padding:var(--dm-space-lg) 0 0;border:0;border-top:var(--dm-rule);border-radius:0;background:transparent;}
.settings-grid>section.card h2{margin:0 0 var(--dm-space-sm);}
.settings-grid .field{max-width:480px;}
.settings-grid .button-row{margin-block:var(--dm-space-md);}
.settings-grid .notice{max-width:65ch;}
.sync-explanation{margin-top:var(--dm-space-md);}
.task-row{color:var(--ink);text-decoration:none;}
.task-row .task-action{color:var(--accent);}
.library-list h2 a{text-decoration-thickness:1px;}
.library-list article{padding-block:var(--dm-space-md);}
.vocabulary-row{padding:var(--dm-space-md) 0;border-bottom:var(--dm-rule);}
.vocabulary-row h2{font:400 24px/1.3 var(--display);}
.vocabulary-row p{max-width:70ch;line-height:1.7;}
.reference-item,.study-plan,.definition-reference,.sync-explanation{border:0;border-top:var(--dm-rule);border-radius:0;background:transparent;padding:var(--dm-space-xs) 0;}
summary{line-height:1.5;}
details>summary{color:var(--ink);}
details[open]>summary{margin-bottom:var(--dm-space-sm);}
.session-grid{gap:var(--dm-space-lg);}
.session-grid>.card{border:0;border-top:var(--dm-rule);background:transparent;padding:var(--dm-space-md) 0;border-radius:0;}
.session-aside>.card{padding:var(--dm-space-md);border-radius:var(--dm-radius-panel);}
.session-aside>.card+.card{background:transparent;border:0;border-top:var(--dm-rule);padding:var(--dm-space-md) 0;margin-top:var(--dm-space-md);}
.session-context{border-bottom:var(--dm-rule);padding-bottom:var(--dm-space-sm);margin-bottom:var(--dm-space-md);}
.session-context p{margin:0;}
.question-type{color:var(--muted);margin-bottom:var(--dm-space-md);}
.question-stem{max-width:65ch;}
.confidence{display:grid;gap:var(--dm-space-xs);max-width:320px;margin-block:var(--dm-space-md);}
.session-nav button{border-radius:4px;min-width:44px;font-variant-numeric:tabular-nums;}
.session-nav button.current{outline:2px solid var(--accent);outline-offset:2px;}
.time,.progress-ribbon,.dm-evidence,.result-summary,td{font-variant-numeric:tabular-nums;}
.result-summary b{font-size:clamp(24px,3vw,36px);line-height:1.3;}
.result-summary p{font-size:16px;}
.finish-panel,.independent-start{border-radius:var(--dm-radius-panel);border:var(--dm-rule);background:var(--panel);padding:var(--dm-space-lg);}
.finish-panel h2,.independent-start h2{margin-top:0;}
.teaching-navigation{margin-top:var(--dm-space-xl);padding-top:var(--dm-space-md);}
.dm-home-top:before{display:none;}
.dm-home-top{text-transform:none;font-family:var(--body);letter-spacing:0;}
.dm-steps li{font-size:var(--dm-meta);}
.path-crumb a{max-width:100%;overflow-wrap:break-word;}
.dm-evidence p,.dm-evidence small,.dm-course-row small,.dm-concept-list small{font-size:var(--dm-meta);}
@media(hover:hover){.primary:not(:disabled):hover,.button.primary:hover{background:var(--action-fill);color:var(--action-ink);border-color:var(--action-ink);outline:2px solid var(--dm-focus-color);outline-offset:2px;}
.task-row:hover{background:transparent;color:var(--ink);}
.task-row:hover .task-action{text-decoration-thickness:2px;color:var(--ink);}
summary:hover{color:var(--accent);}
.choice:not(:disabled):hover,.guided-choices button:not(:disabled):hover{border-color:var(--accent);background:var(--accent-soft);}}
@media(max-width:1023px){.session-grid{grid-template-columns:minmax(0,1fr);}
.session-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--dm-space-md);}
.session-aside>.card+.card{margin:0;}}
@media(max-width:767px){main{padding:var(--dm-space-lg) var(--dm-space-sm) var(--dm-space-xl);}
.section-line,.dm-section-head{margin-top:var(--dm-space-lg);}
.review-queue>div{display:grid;gap:var(--dm-space-xs);}
.review-queue .text-link{justify-self:start;}
.chapter-group .group-list{padding-left:var(--dm-space-sm);}
.chapter-group>summary{font-size:22px;}
.session-aside{display:block;}
.session-aside>.card+.card{margin-top:var(--dm-space-md);}
.list-row{flex-wrap:wrap;}
.list-row>.button-row{margin-left:auto;}
.progress-ribbon>div{grid-template-columns:104px minmax(0,1fr);gap:var(--dm-space-sm);}
.dm-evidence>.od-stat{grid-template-columns:56px 88px minmax(32px,1fr);gap:8px;}
.dm-evidence p{grid-column:1/-1;padding-bottom:8px;}
.finish-panel,.independent-start{padding:var(--dm-space-md);}
.topbar .crumb{font-size:12px!important;letter-spacing:0;min-width:0;}
.sidebar.open{width:min(280px,calc(100% - 32px));box-shadow:none;border-right:1px solid var(--graph-line);}


.scene-controls>label,.experiment-controls>label{flex-basis:100%;}}
@media(max-width:374px){.topbar{gap:8px;padding-inline:8px;}
.save-status-button{max-width:104px;}
.dm-steps{grid-template-columns:minmax(0,1fr);}
.dm-course-row{grid-template-columns:24px minmax(0,1fr);}
.dm-course-row>small{grid-column:2;}
.button-row>*{max-width:100%;}}
:root,html[data-theme=light],html[data-theme=dark],html[data-theme=contrast]{--teach-accent:var(--accent);--teach-wash:var(--soft);--teach-rule:var(--line);--teach-ink:var(--ink);--teach-muted:var(--muted);}
.instruction-heading{flex-wrap:wrap;}
.instruction-heading>div{min-width:0;flex:1 1 480px;}
.skill-picker{max-width:100%;font-size:16px;gap:8px;}
.learning-purpose{color:var(--muted);}
:root{--dm-dur-enter:180ms;--dm-dur-press:150ms;--dm-dur-exit:100ms;--dm-ease-out:cubic-bezier(.16,1,.3,1);--dm-ease-in:cubic-bezier(.7,0,.84,0);}
button,.button{transition:transform var(--dm-dur-press) var(--dm-ease-out);}
button:active:not(:disabled),.button:active{transform:translateY(1px);transition-duration:var(--dm-dur-exit);transition-timing-function:var(--dm-ease-in);}
.sidebar.open{animation:none;opacity:1;}
@keyframes dm-drawer-in{from{opacity:.7;transform:translateX(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){button,.button,.sidebar.open{animation:none!important;transition:none!important;transform:none!important;}}
:root,html[data-theme=light]{--bg:#faf3df;--panel:#fffaf0;--ink:#211b12;--muted:#6d6252;--line:#ddd0b4;--soft:#f3ebd7;--accent:#b34400;--accent-soft:#f8e6d5;--on-accent:#fffaf0;--action-fill:#f47b20;--action-ink:#211b12;--good:#365d2d;--good-bg:#f3ebd7;--bad:#923e32;--bad-bg:#f7e7da;--gold:#775016;--gold-bg:#f3e6bf;--graph-line:#7c7160;color-scheme:light;}
html[data-theme=dark]{--bg:#211b12;--panel:#2c251b;--ink:#fffaf0;--muted:#d3c6ae;--line:#756750;--soft:#352d21;--accent:#ffab66;--accent-soft:#453621;--on-accent:#211b12;--good:#bbd5a9;--good-bg:#352d21;--bad:#f4b3a3;--bad-bg:#4d2c25;--gold:#efd199;--gold-bg:#463b25;--graph-line:#d3c6ae;color-scheme:dark;}
html[data-theme=contrast]{--bg:#fffaf0;--panel:#fffaf0;--ink:#211b12;--muted:#211b12;--line:#211b12;--soft:#faf3df;--accent:#b34400;--accent-soft:#faf3df;--graph-line:#211b12;color-scheme:light;}
:root,html[data-theme=light],html[data-theme=dark],html[data-theme=contrast]{--scene:var(--panel);--signal:var(--good);--signal-bg:var(--good-bg);--brand-color-primary:var(--accent);--brand-color-primary-hover:var(--accent);--brand-color-primary-active:var(--accent);--brand-color-primary-bg:var(--accent-soft);--brand-color-primary-bg-hover:var(--soft);--brand-color-primary-border:var(--accent);--brand-color-primary-border-hover:var(--accent);--brand-color-primary-text:var(--ink);}
.choice.selected:disabled,.choice[aria-pressed=true]:disabled{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);}
.page-heading{gap:var(--dm-space-md);align-items:flex-start;flex-wrap:wrap;}
.page-heading>div{min-width:0;}
.page-heading h1{margin:0 0 var(--dm-space-sm);}
.page-heading .lede{font-size:17px;max-width:65ch;line-height:1.65;margin:0;color:var(--muted);}
.progress-label{display:flex;justify-content:space-between;gap:var(--dm-space-sm);flex-wrap:wrap;line-height:1.5;}
.paper-progress{margin-bottom:var(--dm-space-md);}
.session-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px;}
.session-nav button{padding:8px;}
.scene-controls input[type=range]{width:100%;min-height:44px;}
.skill-picker{width:min(100%,280px);}
.review-queue>div>span{min-width:0;}
.path-actions>a{display:inline-flex;min-height:44px;align-items:center;}
@media(max-width:767px){.skill-picker{width:100%;}
.instruction-heading>div{flex-basis:100%;}
.chapter-name{flex:1 1 180px;}
.chapter-state{margin-left:0;}
.section-path{flex-wrap:wrap;}
.section-path>div{min-width:0;}
.session-context a{display:inline-flex;min-height:44px;align-items:center;}
.dm-evidence>.od-stat>span{font-size:14px;}
.dm-evidence strong{font-size:14px;}}
.feedback .answer-box,.reference-item .answer-box{border:0;border-block:var(--dm-rule);border-radius:0;background:transparent;color:var(--ink);padding:var(--dm-space-sm) 0;margin-block:var(--dm-space-md);font-family:var(--display);}
main[data-view=notebook]>.grid.two{grid-template-columns:minmax(0,1fr);gap:var(--dm-space-lg);}
main[data-view=notebook]>.grid.two>.card,main[data-view=notebook]>.card,main[data-view=progress]>.card,main[data-view=coverage]>.card{background:transparent;border:0;border-top:var(--dm-rule);border-radius:0;padding:var(--dm-space-md) 0;}
.notebook-section{padding-block:var(--dm-space-sm);border-bottom:var(--dm-rule);}
.notebook-section blockquote{margin:var(--dm-space-sm) 0;padding:0;border:0;color:var(--ink);white-space:pre-wrap;}
.source-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;border-block:var(--dm-rule);}
.source-summary>div{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,2fr);gap:var(--dm-space-md);padding:var(--dm-space-sm) 0;}
.source-summary>div+div{border-top:var(--dm-rule);}
.source-summary span{font-size:16px;color:var(--muted);}
.audit-summary{display:flex;flex-wrap:wrap;gap:var(--dm-space-sm) var(--dm-space-md);background:transparent;border-block:var(--dm-rule);padding:var(--dm-space-md) 0;font-variant-numeric:tabular-nums;}
.audit-record-row{border-bottom:var(--dm-rule);padding-block:var(--dm-space-md);gap:var(--dm-space-md);min-width:0;}
.audit-record-row>div{min-width:0;}
.audit-record-row p{font-size:var(--dm-meta);margin:8px 0;color:var(--muted);}
.source-audit-note{border:0;border-bottom:var(--dm-rule);background:transparent;padding:var(--dm-space-sm) 0;border-radius:0;}
.study-plan p,.source-audit-note p,.sync-explanation p{max-width:70ch;}
.task-row:focus-visible{outline-offset:4px;}
@media(max-width:767px){.source-summary>div{grid-template-columns:minmax(0,1fr);gap:8px;}
.audit-record-row{flex-wrap:wrap;}
.audit-record-row .button{justify-self:start;}}
.table-scroll,.matrix-wrap,.math-wide,.math-display{max-width:100%;overscroll-behavior-inline:contain;}
main[data-view=coverage] table,main[data-view=notation] table{display:block;max-width:100%;overflow-x:auto;}
.page-heading h1,.instruction-heading h1,.path-heading h1{overflow-wrap:anywhere;}

.dm-concept-list small{white-space:normal;}
.dm-course-row>small{max-width:20ch;}
.teaching-page details>summary::marker,.reference-item>summary::marker,.study-plan>summary::marker{color:var(--accent);}
.scene-controls>label input,.scene-controls>label select{max-width:100%;}
@media(max-width:767px){.page-heading{display:block;}
.page-heading>.button-row{margin-top:var(--dm-space-sm);}
.section-line a{font-size:14px;}
.chapter-group .badge{white-space:normal;}
.task-action{white-space:normal;text-align:left;}
.session-aside .button-row{align-items:stretch;}
.session-aside .button-row>*{flex:1 1 auto;}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
.button:not(.primary):not(.task-action){display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--graph-line);background:var(--panel);color:var(--ink);text-decoration:none;}
@media(hover:hover){.button:not(.primary):not(.task-action):hover{background:var(--soft);color:var(--ink);border-color:var(--accent);}}
:root,[data-theme="light"]{--action-fill:#f47b20;--action-ink:#211b12;--accent:#b34400;--accent-soft:#f8e6d5;--on-accent:#fffaf0;--task-gap:24px;}
[data-theme="dark"]{--action-fill:#f47b20;--action-ink:#211b12;--accent:#ffab66;--accent-soft:#453621;--on-accent:#211b12;}
[data-theme="contrast"]{--action-fill:#f47b20;--action-ink:#211b12;--accent:#b34400;--accent-soft:#fffaf0;--on-accent:#fffaf0;}
.primary,.button.primary{background:var(--action-fill);color:var(--action-ink);border:1px solid var(--action-ink);border-radius:8px;box-shadow:none;}
button,.button{border-radius:8px;}
.task-list{display:grid;border-top:1px solid var(--line);margin-block:24px 40px;}
.task-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--task-gap);padding:24px 0;border-bottom:1px solid var(--line);}
.task-row>div{min-width:0;}
.task-row h2,.task-row h3{margin:0 0 8px;font-family:var(--display);font-weight:400;font-size:24px;line-height:1.3;letter-spacing:-.02em;}
.task-row p{margin:0;max-width:65ch;font-size:16px;line-height:1.6;color:var(--muted);}
.task-action,.button.task-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;background:transparent;color:var(--accent);border:0;border-radius:0;box-shadow:none;text-decoration:underline;text-underline-offset:5px;font-size:16px;font-weight:600;white-space:nowrap;}
.task-meta{display:block;font:14px/1.6 var(--body);color:var(--muted);margin-bottom:8px;}
.practice-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px;}
.practice-links a{display:inline-flex;align-items:center;min-height:44px;}
.exam-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;}
.exam-layout>.card{padding:24px 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;min-width:0;}
.exam-layout h2,.exam-layout h3{margin-top:0;}
.exam-history{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;}
.result-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-block:1px solid var(--line);padding:24px 0;}
.result-summary>.card{padding:0;border:0;border-radius:0;background:transparent;}
.result-summary .metric,.result-summary .score-number{font:400 clamp(28px,4vw,40px)/1.3 var(--display);}
.library-list{display:block;border-top:1px solid var(--line);}
.library-list article{padding:24px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;}
.library-list h2{margin:0 0 8px;font-size:24px;}
.library-list p{margin:0;max-width:65ch;font-size:16px;}
.position-label,.dm-home-top,.dm-next .position-label{font-size:14px;letter-spacing:.02em;}
.dm-evidence p{font-size:14px;}
.choice,.guided-choices button{border-width:2px;}
.choice[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);}
@media(hover:hover){.task-action:hover,.button.task-action:hover{color:var(--ink);text-decoration-thickness:2px;}
.primary:hover,.button.primary:hover{outline:2px solid var(--accent);outline-offset:2px;filter:none;}}
@media(max-width:767px){.task-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:24px 0;}
.task-row>.task-action{justify-self:start;}
.task-row h2,.task-row h3{font-size:24px;}
.exam-layout,.result-summary{grid-template-columns:minmax(0,1fr);gap:24px;}
.result-summary>.card+ .card{padding-top:24px;border-top:1px solid var(--line);}
.dm-evidence p{font-size:14px;}}
:root,html[data-theme=light]{--dm-success-surface:#e8efdf;--dm-example-surface:#fffaf0;--dm-assist-surface:#f3e6bf;}
html[data-theme=dark]{--dm-success-surface:#293a25;--dm-example-surface:#2c251b;--dm-assist-surface:#463b25;}
html[data-theme=contrast]{--dm-success-surface:var(--panel);--dm-example-surface:var(--panel);--dm-assist-surface:var(--panel);}
.path-crumb{align-items:center;gap:8px;font-size:14px;line-height:1.5;}
.path-crumb>a,.path-crumb>span{display:inline-flex;align-items:center;min-height:44px;margin:0;line-height:1.5;}
.path-crumb>a{color:var(--accent);text-underline-offset:4px;min-width:0;}
.path-crumb>span[aria-hidden]{flex:none;color:var(--muted);}
.path-crumb>span:last-child{color:var(--ink);font-weight:600;}
.instruction-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:start;gap:24px;}
.instruction-heading h1{overflow-wrap:break-word;}
.instruction-heading .skill-picker{width:100%;max-width:none;margin:0;min-width:0;}
.skill-picker select{border-radius:8px;min-width:0;font-size:16px;padding:8px 32px 8px 12px;border-color:var(--graph-line);}
.skill-picker .selected-concept-title{display:block;font-size:14px;line-height:1.5;font-weight:400;color:var(--muted);overflow-wrap:break-word;}






.teaching-page .step-position{color:var(--accent);font-weight:600;border-bottom:2px solid var(--accent);padding-bottom:16px;margin-bottom:24px;}
.teaching-explanation.concept-first{background:var(--dm-example-surface);border:1px solid var(--line);border-top:4px solid var(--action-fill);border-radius:0;padding:24px;margin-bottom:24px;}
.teaching-page .concept-first>h2:first-child{margin-top:0;color:var(--accent);}
.teaching-page .concept-first>p:last-child{margin-bottom:0;}
.teaching-page .definition-reference,.teaching-page .section-connection{border-top:1px solid var(--line);padding:8px 0;background:transparent;}
.teaching-page details>summary{color:var(--accent);min-height:44px;cursor:pointer;}
.teaching-page .meaning-words dt{color:var(--accent);}
.teaching-page .meaning-bridge{background:var(--accent-soft);border:0;border-radius:0;padding:16px 24px;color:var(--ink);margin-block:24px;}
.worked-line>b{display:grid;place-items:center;min-width:28px;width:28px;height:28px;border-radius:50%;background:var(--action-fill);color:var(--action-ink);font:600 14px/1 var(--mono);}
.worked-line{grid-template-columns:32px minmax(0,1fr);}
.practice-goal,.prior-knowledge,.definition-reminder{background:var(--dm-assist-surface);color:var(--ink);border:1px solid var(--line);border-radius:0;padding:16px 24px;}
.practice-goal strong,.prior-knowledge>summary,.definition-reminder>summary{color:var(--gold);}
.feedback.good,.notice.good,.guided-feedback.good,.activity-feedback.good{background:var(--dm-success-surface);color:var(--ink);border-color:var(--good);}
.feedback.bad,.notice.bad,.guided-feedback.bad,.activity-feedback.bad{background:var(--bad-bg);color:var(--ink);border-color:var(--bad);}
.badge.green{background:var(--dm-success-surface);color:var(--good);border:1px solid var(--good);}
.badge.amber{background:var(--dm-assist-surface);color:var(--gold);border:1px solid var(--gold);}
.badge.red{background:var(--bad-bg);color:var(--bad);border:1px solid var(--bad);}
.step-finish{background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;padding:24px;margin-top:32px;}
.step-finish .teaching-navigation{gap:12px;align-items:stretch;}
.step-finish .teaching-navigation>*{min-width:0;max-width:100%;height:auto;white-space:normal;overflow-wrap:break-word;}
.step-finish>.text-link{display:inline-flex;align-items:center;min-height:44px;margin-right:16px;}
.guided-choices button.chosen,.choice.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--ink);}
.sidebar a[aria-current=page]{background:var(--accent-soft);color:var(--ink);font-weight:700;}
.sidebar a[aria-current=page] svg{color:var(--accent);}
@media(hover:hover){.path-crumb>a:hover,.teaching-page details>summary:hover{color:var(--ink);text-decoration:underline;}
}
@media(max-width:1024px){.instruction-heading{grid-template-columns:minmax(0,1fr);}
.instruction-heading .skill-picker{max-width:480px;}}
@media(max-width:767px){.path-crumb{gap:4px 8px;}
.path-crumb>span:last-child{flex-basis:100%;min-height:24px;}

.teaching-explanation.concept-first,.step-finish{padding:16px;}
.practice-goal,.prior-knowledge,.definition-reminder,.teaching-page .meaning-bridge{padding:16px;}
.worked-line{grid-template-columns:28px minmax(0,1fr);gap:12px;}
.teaching-navigation{align-items:stretch;}
.instruction-heading .skill-picker{max-width:100%;}}
@media(forced-colors:active){

.teaching-explanation.concept-first{border:1px solid CanvasText;}}
@media print{
.teaching-explanation.concept-first,.step-finish{background:transparent;break-inside:avoid;}}
:root,html[data-theme=light]{--dm-sheet:#fffaf0;--dm-green:#e8efdf;--dm-gold:#f3e6bf;--dm-orange:#f8e6d5;--dm-band:#211b12;--dm-band-text:#fffaf0;--dm-good:#365d2d;--dm-warn:#775016;--dm-bad:#923e32;--dm-bad-surface:#f7e7da;--dm-accent:#b34400;--dm-action:#f47b20;--dm-action-text:#211b12;--dm-pad:24px;--dm-gap:16px;}
html[data-theme=dark]{--dm-sheet:#2c251b;--dm-green:#293a25;--dm-gold:#463b25;--dm-orange:#453621;--dm-band:#fffaf0;--dm-band-text:#211b12;--dm-good:#bbd5a9;--dm-warn:#efd199;--dm-bad:#f4b3a3;--dm-bad-surface:#432b25;--dm-accent:#ffab66;}
html[data-theme=contrast]{--dm-sheet:#fff;--dm-green:#fff;--dm-gold:#fff;--dm-orange:#fff;--dm-band:#000;--dm-band-text:#fff;--dm-good:#234b20;--dm-warn:#684008;--dm-bad:#851d16;--dm-bad-surface:#fff;--dm-accent:#983800;}
html[data-theme],:root{--action-fill:var(--dm-action);--action-ink:var(--dm-action-text);--accent:var(--dm-accent);--accent-soft:var(--dm-orange);--good:var(--dm-good);--good-bg:var(--dm-green);--gold:var(--dm-warn);--gold-bg:var(--dm-gold);--bad:var(--dm-bad);--bad-bg:var(--dm-bad-surface);--teach-accent:var(--dm-accent);}
body #main{min-width:0;max-width:100%;box-sizing:border-box;}
#main :is(details,section,article,.chapter-content,.group-list,.dm-concept-list,.task-list,.library-list){min-width:0;max-width:100%;box-sizing:border-box;}
#main :is(.list-row,.task-row,.section-line)>*{min-width:0;}
#main :is(.list-row,.button-row,.section-line){flex-wrap:wrap;}
#main :is(.list-row,.task-row,.reference-item,.vocabulary-row) :is(h2,h3,p,a){overflow-wrap:anywhere;}
#main :is(.page-heading,.path-heading,.instruction-heading){min-width:0;}
#main :is(h1,h2,h3){text-wrap:pretty;overflow-wrap:break-word;}
#main :is(.page-heading,.path-heading)>:is(p,div){min-width:0;}
#main :is(.page-heading,.path-heading) p{max-width:72ch;}
#main :is(.page-heading,.path-heading){padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:32px;}
#main :is(.section-line,.dm-section-head){border-bottom:1px solid var(--line);padding-block:16px;gap:16px;flex-wrap:wrap;}
#main :is(.section-line,.dm-section-head) h2{color:var(--dm-accent);}
#main .dm-next{background:var(--dm-sheet);border:1px solid var(--line);border-top:4px solid var(--dm-action);border-radius:0;padding:32px;margin-block:24px;}
#main .dm-home-grid{gap:32px;}
#main .dm-home-grid>aside{background:var(--dm-orange);padding:24px;border:0;min-width:0;}
#main .dm-steps .is-current{color:var(--dm-accent);font-weight:700;}
#main .dm-steps .is-current b{background:var(--dm-action);color:var(--dm-action-text);padding:4px 8px;}
#main .position-label{color:var(--dm-accent);font-weight:650;}
#main .dm-evidence{background:var(--dm-sheet);padding:16px 24px;border-block:1px solid var(--line);}
#main .dm-evidence>.od-stat:nth-child(2){color:var(--dm-good);}
#main .dm-evidence>.od-stat:nth-child(3){color:var(--dm-warn);}
#main .dm-course-row{padding:16px;background:var(--dm-sheet);border-bottom:1px solid var(--line);}
#main .path-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;background:transparent;padding:16px 0;border:0;border-bottom:1px solid var(--line);margin:0 0 24px;}
#main .path-summary>p{grid-column:auto;max-width:72ch;margin:0;}
#main .path-summary .progress-block{width:100%;max-width:none;}
#main .progress-label{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;width:100%;min-width:0;}
#main .progress-label>:first-child{min-width:0;overflow-wrap:break-word;}
#main .progress-label strong{white-space:nowrap;}
#main :is(.meter,.progress-track){width:100%;max-width:100%;}
#main :is(.path-filter,.vocabulary-search){background:var(--dm-sheet);padding:16px;margin-bottom:24px;}
#main :is(.chapter-path,.chapter-group){background:var(--dm-sheet);border:1px solid var(--line);border-radius:0;margin-bottom:16px;padding:0;}
#main :is(.chapter-path,.chapter-group)>summary{padding:24px;}
#main .chapter-path[open]>summary{background:var(--dm-sheet);border-bottom:1px solid var(--line);}
#main .chapter-number{background:var(--dm-action);color:var(--dm-action-text);border:1px solid var(--dm-action-text);border-radius:4px;flex:none;}
#main :is(.chapter-path,.chapter-group) .group-list{padding:16px 24px;}
#main .chapter-content{width:auto;min-width:0;max-width:100%;padding:16px 24px 24px;margin:0;box-sizing:border-box;}
#main .chapter-content>.progress-block{min-width:0;max-width:100%;}
#main .section-path{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:16px;align-items:center;padding:24px 0;margin:0;min-width:0;}
#main .section-path>div{min-width:0;flex-basis:auto;}
#main .section-path>.button{margin:0;justify-self:end;}
#main .section-path h3{margin:0;overflow-wrap:break-word;line-height:1.45;}
#main .section-path p{margin:4px 0 0;overflow-wrap:break-word;}
#main .chapter-content .dm-concept-list{list-style:none;border:0;margin:0 0 16px;padding:0 0 0 36px;min-width:0;max-width:100%;}
#main .dm-concept-list li{margin:0;padding:0;min-width:0;max-width:100%;}
#main .dm-concept-list a{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto);align-items:baseline;gap:8px 24px;padding:12px 0;min-width:0;max-width:100%;font-size:16px;color:var(--ink);text-decoration:none;}
#main .dm-concept-list a>span{min-width:0;overflow-wrap:anywhere;}
#main .dm-concept-list small{display:block;min-width:0;text-align:right;white-space:normal;overflow-wrap:break-word;color:var(--muted);}
#main .dm-concept-list a[aria-current]{color:var(--dm-accent);font-weight:650;text-decoration:none;}
#main .dm-concept-list a[aria-current]>span{text-decoration:underline;text-underline-offset:4px;}
#main .chapter-checkpoint{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--line);}
#main .chapter-checkpoint>div{flex:1 1 240px;min-width:0;}
#main .chapter-checkpoint button{max-width:100%;white-space:normal;}
#main .support-heading{color:var(--dm-warn);padding:16px;background:var(--dm-gold);}
#main :is(.section-orientation,.teaching-explanation.concept-first){background:var(--dm-sheet);border:1px solid var(--line);border-top:4px solid var(--dm-action);padding:24px;border-radius:0;}

#main .path-finish{background:transparent;border-block:1px solid var(--line);padding:16px 0;color:var(--ink);}
#main .next-explanation{background:transparent;padding:16px 0 0;border-top:1px solid var(--line);color:var(--ink);}
#main :is(.finish-panel,.step-finish){background:var(--dm-sheet);border:1px solid var(--line);padding:24px;}
#main .path-crumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;}
#main .path-crumb>*{display:inline-flex;align-items:center;min-height:44px;}
#main .instruction-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:24px;align-items:start;}
#main .skill-picker{width:100%;max-width:none;margin:0;min-width:0;}
#main .selected-concept-title{display:block;overflow-wrap:anywhere;line-height:1.5;margin-top:8px;color:var(--muted);}





#main .step-position{color:var(--dm-accent);font-weight:700;}
#main .teaching-page{background:transparent;border:0;min-width:0;}
#main .worked-line{background:var(--dm-sheet);padding:24px;display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;border-bottom:1px solid var(--line);}
#main .worked-line>b{display:grid;place-items:center;width:32px;height:32px;background:var(--dm-action);color:var(--dm-action-text);border:1px solid var(--dm-action-text);border-radius:50%;font:600 16px var(--body,system-ui);}
#main :is(.practice-goal,.prior-knowledge,.definition-reminder){background:var(--dm-gold);padding:16px 24px;color:var(--ink);border:0;border-radius:0;}
#main :is(.meaning-bridge,.independent-start){background:var(--dm-orange);padding:24px;color:var(--ink);}
#main .guided-choices button{background:var(--dm-sheet);border:2px solid var(--line);color:var(--ink);}
#main .guided-choices button:is(.chosen,[aria-pressed=true]){background:var(--dm-orange);border-color:var(--dm-accent);}
#main .reference-disclosure{background:var(--dm-sheet);border-block:1px solid var(--line);padding:0 16px;}
#main .reference-disclosure>summary{color:var(--dm-accent);padding-block:16px;}
#main .task-list{border-block:1px solid var(--line);background:var(--dm-sheet);padding:0 24px;}
#main .task-row{background:transparent;padding:24px 0;border-bottom:1px solid var(--line);border-radius:0;gap:24px;min-width:0;}
#main .task-row:last-child{border-bottom:0;}
#main .task-action{color:var(--dm-accent);font-weight:650;}
#main[data-view=practice]>.card{background:var(--dm-sheet);padding:24px;border-top:3px solid var(--dm-action);}
#main[data-view=mocks] .exam-layout>.card:first-child{background:var(--dm-sheet);border-top:4px solid var(--dm-action);padding:24px;}
#main[data-view=mocks] .exam-layout>.card:not(:first-child){background:var(--dm-gold);padding:24px;}
#main .exam-history{background:var(--dm-sheet);padding:24px;}
#main .session-context{background:var(--dm-band);color:var(--dm-band-text);padding:16px 24px;}
#main .session-context :is(a,.muted,.eyebrow){color:inherit;}
#main .session-grid>.card{background:var(--dm-sheet);padding:24px;border:1px solid var(--line);}
#main .session-aside{background:var(--dm-sheet);border:1px solid var(--line);padding:24px;min-width:0;}
#main .question-type{color:var(--dm-accent);font-weight:650;}
#main .session-nav{gap:8px;flex-wrap:wrap;}
#main .session-nav button{min-width:44px;min-height:44px;}
#main .result-summary{background:var(--dm-sheet);border:1px solid var(--line);padding:24px;}
#main .result-summary>.card{background:transparent;}
#main .review-item{background:var(--dm-sheet);padding:24px;border-bottom:1px solid var(--line);}
#main[data-view=review] .resume-panel{background:var(--dm-gold);padding:24px;border:0;}
#main .review-queue{background:var(--dm-sheet);padding:16px 24px;}
#main .progress-ribbon{background:var(--dm-sheet);padding:24px;border-block:1px solid var(--line);gap:24px;flex-wrap:wrap;}
#main .progress-ribbon>div:nth-child(1){color:var(--dm-good);}
#main .progress-ribbon>div:nth-child(2){color:var(--dm-warn);}
#main .progress-ribbon>div:nth-child(3){color:var(--dm-accent);}
#main[data-view=progress]>.card{background:var(--dm-sheet);padding:24px;}
#main[data-view=notebook] :is(.notebook-section,.grid>.card){background:var(--dm-sheet);padding:24px;border:1px solid var(--line);}
#main .library-list{background:var(--dm-sheet);padding:8px 24px;}
#main .library-list article{padding:24px 0;border-bottom:1px solid var(--line);}
#main .library-list h2 a{color:var(--dm-accent);}
#main :is(.vocabulary-row,.reference-item){background:transparent;padding:24px 0;border-bottom:1px solid var(--line);}
#main .vocabulary-row :is(h2,h3){color:var(--dm-accent);}
#main .notation-specimens .specimen{background:var(--dm-sheet);padding:24px;border:1px solid var(--line);min-width:0;}
#main :is(.audit-summary,.source-summary){background:transparent;padding:16px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px;}
#main :is(.audit-record-row,.instruction-audit,.source-footnote){background:var(--dm-sheet);padding:16px;}
#main .source-audit-note{background:var(--dm-gold);padding:24px;}
#main[data-view=coverage]>.card{background:var(--dm-sheet);padding:24px;}
#main #lab-host{background:var(--dm-sheet);border:1px solid var(--line);padding:24px;min-width:0;max-width:100%;}
#main #lab-host :is(svg,canvas){max-width:100%;height:auto;}
#main #lab-host :is(.controls,.lab-controls,.control-row){display:flex;flex-wrap:wrap;gap:8px;}
#main :is(.instruction-audit,.source-summary,.notation-specimens){min-width:0;max-width:100%;}
#main #lab-host :is(.card,.lab-panel,.activity-panel){background:transparent;box-shadow:none;}
#main .settings-grid>.card{background:var(--dm-sheet);padding:24px;border:1px solid var(--line);border-radius:0;}
#main .settings-grid .sync-explanation{background:var(--dm-gold);padding:16px;}
#main #cloud-status{font-weight:650;color:var(--dm-accent);}
#main :is(.feedback.good,.guided-feedback.good,.activity-feedback.good,.notice.good){background:var(--dm-green);color:var(--dm-good);border:1px solid var(--dm-good);padding:16px 24px;}
#main :is(.feedback.bad,.guided-feedback.bad,.activity-feedback.bad,.notice.bad){background:var(--dm-bad-surface);color:var(--dm-bad);border:1px solid var(--dm-bad);padding:16px 24px;}
#main .badge.green{background:var(--dm-green);color:var(--dm-good);border-color:var(--dm-good);}
#main .badge.amber{background:var(--dm-gold);color:var(--dm-warn);border-color:var(--dm-warn);}
#main .badge.red{background:var(--dm-bad-surface);color:var(--dm-bad);border-color:var(--dm-bad);}
html body :is(button.primary,.button.primary){background:var(--dm-action);color:var(--dm-action-text);border:1px solid var(--dm-action-text);box-shadow:none;}
html body :is(button.primary,.button.primary):hover:not(:disabled){background:var(--dm-action);color:var(--dm-action-text);outline:2px solid var(--dm-accent);outline-offset:2px;}
html body :is(button,.button):disabled{opacity:.55;cursor:not-allowed;transform:none;}
html body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--dm-accent);outline-offset:4px;}
#sidebar .nav-list a[aria-current=page]{background:var(--dm-orange);color:var(--dm-accent);font-weight:700;}
html body select,html body select :is(option,optgroup){background:var(--dm-sheet);color:var(--ink);}
#main :is(input,select,textarea){max-width:100%;min-width:0;font-size:16px;}
#main :is(.button-row,.path-actions,.teaching-navigation){gap:8px;flex-wrap:wrap;}
#main :is(.button-row,.path-actions,.teaching-navigation)>*{max-width:100%;}
#main :is(.math-display,.table-scroll,.sequence-overview-table,mjx-container[display=true]){min-width:0;max-width:100%;overflow-x:auto;}
#main :is(.vocabulary-row,.specimen,.review-item,.source-footnote) table{display:block;max-width:100%;overflow-x:auto;}
#main :is(button,.button){overflow-wrap:break-word;}
#main :is(.settings-grid,.exam-layout,.session-grid,.notation-specimens){min-width:0;max-width:100%;}
#main :is(.grid,.exam-layout,.session-grid,.settings-grid,.dm-home-grid)>*{min-width:0;}
#main :is(.notice,.feedback,.guided-feedback){overflow-wrap:break-word;}
@media(hover:hover){#main :is(.task-row,.library-list article,.dm-course-row):hover{background:var(--dm-orange);}
#main summary:hover{color:var(--dm-accent);}}
@media(max-width:1024px){#main .instruction-heading{grid-template-columns:minmax(0,1fr);}
#main .instruction-heading .skill-picker{max-width:100%;}
#main .dm-concept-list a{grid-template-columns:minmax(0,1fr);gap:4px;}
#main .dm-concept-list small{text-align:left;}}
@media(max-width:767px){:root{--dm-pad:16px;}
#main :is(.dm-next,.section-orientation,.teaching-explanation.concept-first,.worked-line,.task-row,.review-item,.finish-panel,.step-finish,.settings-grid>.card,.result-summary,.session-grid>.card){padding:16px;}
#main #lab-host{padding:16px;}
#main :is(.dm-home-grid,.settings-grid,.exam-layout,.session-grid){grid-template-columns:minmax(0,1fr);}
#main .dm-home-grid>aside{padding:16px;}
#main .path-crumb>span:last-child{flex-basis:100%;}
#main :is(.page-heading,.path-heading){margin-bottom:24px;}
#main .chapter-path>summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto;padding:16px;gap:12px;}
#main .chapter-name{min-width:0;flex-basis:auto;}
#main .chapter-state{grid-column:2;font-size:14px;}
#main .chapter-path>summary::after{grid-column:3;grid-row:1;}
#main .chapter-content{padding:16px;max-width:100%;}
#main :is(.chapter-path,.chapter-group) .group-list{padding:16px;}
#main .chapter-content .dm-concept-list{padding:0;margin:0 0 16px;}
#main .section-path{grid-template-columns:16px minmax(0,1fr);gap:8px 12px;padding:20px 0;}
#main .section-path>.button{grid-column:2;justify-self:start;margin:4px 0 0;}
#main .dm-concept-list a{padding:12px 0;gap:4px;}
#main .path-summary{padding:16px 0;gap:12px;}
#main .task-list{padding:0 16px;}
#main .task-list .task-row{padding:20px 0;}
#main .progress-label{font-size:14px;gap:8px;}
#main .notation-specimens{grid-template-columns:minmax(0,1fr);}
#main :is(.list-row,.task-row) .button-row{flex-basis:100%;}
#main .task-row{display:flex;flex-direction:column;align-items:stretch;gap:16px;}
#main .task-row .button{align-self:flex-start;}
#main .session-context{padding:16px;}
#main .progress-ribbon{gap:16px;padding:16px;}
#main .progress-ribbon>div{min-width:0;}
#main .worked-line{grid-template-columns:32px minmax(0,1fr);}}
@media(prefers-reduced-motion:reduce){#main *,#sidebar *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
@media(forced-colors:active){
html body :is(button.primary,.button.primary){border:2px solid ButtonText;}
}
@media print{#main .session-context{background:transparent;color:inherit;}
#main :is(.dm-next,.task-row,.worked-line,.settings-grid>.card){break-inside:avoid;}}



/* DM1 4.2 · OpenDesign Paper system. Reading workspace + focused tools.
   Hallmark review: custom, design-system: DESIGN.md. Course steps are genuinely ordinal.
   Keep educational content; remove repeated containers and competing navigation. */
:root{--reading-width:75ch;--drawer-shadow:-12px 0 48px #211b1224;--scrim:#211b1280;--focus-ring:var(--accent);--ui-radius:8px;--control-height:44px;--drawer-width:640px;--flow-gap:24px;}
html,body{overflow-x:clip;scrollbar-color:var(--line) var(--bg);}
body{caret-color:var(--accent);}
::selection{background:var(--accent-soft);color:var(--ink);}
body #main:focus{outline:none;}
a,button,input,select,textarea{touch-action:manipulation;}
button,a.button{font-family:var(--body);font-size:16px;min-height:44px;line-height:1.4;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;}
.text-button,.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:transparent;color:var(--accent);border:0;box-shadow:none;border-radius:6px;font-size:15px;padding:8px 12px;}
.text-button{text-decoration:underline;text-underline-offset:4px;padding-inline:0;}
.tool-button{border:1px solid var(--line);color:var(--ink);background:var(--panel);}
.primary:not(:disabled),a.button.primary{background:var(--action-fill)!important;color:var(--action-ink)!important;border:1px solid var(--action-fill)!important;box-shadow:none!important;}
button:disabled{cursor:default;opacity:1;color:var(--muted);background:var(--soft);border-color:var(--line);}
@media(hover:hover){.text-button:hover{color:var(--ink);background:transparent;}.tool-button:hover{border-color:var(--accent);background:var(--accent-soft);}}
.support-note,.small-text{color:var(--muted);font-size:14px;line-height:1.6;}
.support-note{margin:8px 0 20px;max-width:75ch;}
#main .path-crumb{display:flex;flex-wrap:wrap;gap:4px 10px;padding:0;margin:0 0 16px;font-size:14px;}
#main .path-crumb>a,#main .path-crumb>span{min-height:36px;}
#main .path-crumb>span:last-child{font-weight:400;flex-basis:auto;}
#main .lesson-workspace,#main .section-workspace,#main .path-workspace{max-width:1040px;margin-inline:auto;min-width:0;}
#main .lesson-heading{margin:0 0 16px;}
#main .lesson-heading h1{font:400 clamp(29px,3.6vw,44px)/1.18 var(--display);font-style:normal;max-width:32ch;margin:0 0 16px;color:var(--ink);text-wrap:balance;}
#main .lesson-position{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;color:var(--muted);font:14px/1.5 var(--body);}
#main .lesson-position .text-button{font-size:14px;}







#main .lesson-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:16px 0 24px;border:0;font-size:14px;}
#main .lesson-tools .tool-caption{color:var(--muted);font-size:13px;}
.experiment-entry:before{content:"";width:14px;height:14px;display:inline-block;border:1.5px solid currentColor;border-radius:50%;background:radial-gradient(circle,currentColor 0 2px,transparent 2.5px);}
#main .lesson-workspace .teaching-page{max-width:none;padding:32px 40px 0;margin:0;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:none;}
#main .teaching-page>section,#main .teaching-page>div:not(.lesson-next){max-width:var(--reading-width);margin-inline:auto;}
#main .lesson-workspace .teaching-page>.teaching-explanation.concept-first{background:transparent;border:0;border-radius:0;padding:0;margin:0 0 24px;}
#main .teaching-page .concept-first>h2:first-child,#main .teaching-page h2{color:var(--ink);font:400 27px/1.3 var(--display);margin:0 0 20px;}
#main .teaching-page p,#main .teaching-page .worked-line{font-size:18px;line-height:1.7;}
#main .teaching-page p{margin:0 0 20px;}
#main .teaching-page p.support-note,#main .teaching-page .small-text{font-size:14px;line-height:1.6;}
#main .teaching-page h3{font:600 18px/1.5 var(--body);color:var(--ink);margin:28px 0 12px;}
#main .teaching-page .worked-line{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;padding:20px 0;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;}
#main .teaching-page .worked-line>b{font:600 13px/1 var(--body);border:1px solid var(--line);color:var(--muted);background:transparent;}
#main .teaching-page .reason-actions{padding-top:20px;gap:16px;}
#main .teaching-page .reasoning-repair{margin-top:32px;padding:0;border:0;background:transparent;}
#main .teaching-page .inline-experiment{border:0;border-block:1px solid var(--line);border-radius:0;background:transparent;padding:24px 0;margin-block:28px;max-width:none;}
#main .experiment-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;}
#main .teaching-page .experiment-heading h3{margin:0;font:400 24px/1.3 var(--display);}
#main .experiment-heading>span{color:var(--accent);font:600 13px/1.5 var(--body);}
#micro-experiment .micro-experiment{background:transparent;border:0;border-radius:0;padding:0;}
#micro-experiment h3{margin:12px 0;}
#micro-experiment input[type=range]{min-height:44px;}
#micro-experiment .micro-controls{gap:16px;}
#micro-experiment :is(table,svg){max-width:100%;}
#main .more-example-link{border-top:1px solid var(--line);padding-top:16px;margin-block:20px;}
#main .teaching-page .lesson-next{max-width:none;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0 16px;margin:32px 0 0;}
#main .lesson-next .finish-status{font:14px/1.6 var(--body);color:var(--muted);margin:0 0 16px;}
#main .lesson-next .teaching-navigation{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin:0;padding:0;border:0;}
#main .lesson-next .teaching-navigation>*{white-space:nowrap;min-height:44px;}
#main .lesson-next .lesson-exit{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:12px;color:var(--muted);font:13px/1.5 var(--body);}
#main .lesson-exit a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;}
#main .lesson-exit>span:last-child{margin-left:auto;}
#main .guided-choices{display:grid;gap:12px;margin-block:20px;}
#main .guided-choices button{font-size:17px;line-height:1.6;text-align:left;white-space:normal;padding:16px 20px;}
#main .guided-choices button:disabled{opacity:1;}
#main .teaching-page .guided-feedback{padding:20px;margin-block:24px;border:1px solid var(--line);border-radius:6px;}
#main .teaching-page .guided-feedback h3{margin-top:0;}
#main .teaching-page .recall-comparison{margin-top:24px;border-top:1px solid var(--line);padding-top:24px;}
#main .teaching-page textarea{width:100%;min-height:144px;line-height:1.65;resize:vertical;}
#main .form-evidence{font-size:15px!important;color:var(--muted);}

#main .lesson-panel{position:fixed;inset:0 0 0 auto;width:min(var(--drawer-width),100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0;background:var(--panel);color:var(--ink);border:0;border-left:1px solid var(--line);border-radius:0;box-shadow:var(--drawer-shadow);overflow-y:auto;overscroll-behavior:contain;}
#main .lesson-panel::backdrop{background:var(--scrim);}
#main .lesson-panel.model-panel{width:min(920px,100%);}
#main .panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:2;}
#main .panel-head>span{font-size:14px;color:var(--muted);}
#main .panel-close{color:var(--ink);background:transparent;border:1px solid var(--line);padding:8px 16px;}
#main .panel-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);padding:0 28px;}
#main .panel-tabs button{flex:1;min-height:52px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-weight:400;}
#main .panel-tabs button[aria-current]{border-bottom-color:var(--accent);color:var(--ink);font-weight:600;}
#main .panel-body{padding:28px 32px 48px;font:16px/1.7 var(--body);}
#main .panel-body h2{font:400 28px/1.25 var(--display);margin:0 0 24px;}
#main .panel-body h3{font:600 17px/1.5 var(--body);margin:28px 0 12px;}
#main .panel-body p{margin:0 0 16px;}
#main .panel-body section{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;}
#main .panel-body .meaning-words{display:block;padding:0;margin:0 0 24px;border:0;background:transparent;}
#main .panel-body .meaning-words h3{margin-top:0;}
#main .panel-body dt{color:var(--ink);font-weight:600;margin-top:18px;}
#main .panel-body dd{margin:4px 0 16px;}
#main .panel-body textarea{width:100%;max-width:100%;font:16px/1.65 var(--body);}
#main .panel-body pre{white-space:pre-wrap;word-break:break-word;}
#main .panel-body .method-reference,#main .panel-body .earlier-reference{border-top:1px solid var(--line);padding-top:4px;margin-top:24px;}
#main .panel-body .more-examples h3{margin-top:8px;}
#main .panel-body .model-workspace{overflow-x:auto;}
#main .panel-body .model-prerequisite{background:var(--soft);padding:16px;margin-block:20px;}
#main .panel-body .model-prerequisite h3{margin:0 0 8px;}
#main .panel-body .model-prerequisite p{margin:0;}
#main .panel-body .activity-card{padding:0;border:0;border-radius:0;background:transparent;}
#main .panel-body .activity-start{background:transparent;border:0;padding:0;}
#main .outline-list{list-style:none;padding:0;margin:0 0 24px;border-top:1px solid var(--line);}
#main .outline-list li{margin:0;border-bottom:1px solid var(--line);}
#main .outline-list a{display:block;padding:16px 12px;text-decoration:none;color:var(--ink);}
#main .outline-list a>span,#main .outline-list a>small{display:block;}
#main .outline-list a>small{color:var(--muted);font-size:13px;margin-top:4px;}
#main .outline-list a.current{background:var(--accent-soft);}
#main .path-search{max-width:580px;margin:24px 0 32px;}
#main .path-search label{display:block;font-size:14px;margin-bottom:8px;}
#main .path-search input{width:100%;height:48px;}
#main .course-chapters,#main .chapter-sections,#main .search-results{padding:0;list-style:none;border-top:1px solid var(--line);margin:24px 0 32px;}
#main .course-chapter-row,#main .chapter-sections li>a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:16px;align-items:center;padding:24px 0;border:0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);background:transparent;box-shadow:none;border-radius:0;}
#main .course-chapter-row .chapter-number,#main .idea-number,#main .section-id{background:transparent!important;color:var(--muted);border:0;font:16px/1.5 var(--body);}
#main .course-chapter-row strong,#main .chapter-sections strong{display:block;font:500 19px/1.4 var(--body);}
#main .course-chapter-row small,#main .chapter-sections small,#main .search-results small{display:block;color:var(--muted);font:14px/1.6 var(--body);margin-top:6px;}
#main .row-end{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--accent);white-space:nowrap;}
#main .row-end svg{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:1.7;}
#main .chapter-sections li{display:block;border:0;padding:0;margin:0;background:transparent;}
#main .support-path{margin-top:48px;}
#main .support-path h2,#main .chapter-checkpoint h2,#main .section-model-entry h2{font:400 27px/1.3 var(--display);margin:0 0 12px;}
#main .chapter-checkpoint{display:block;border:0;border-top:1px solid var(--line);padding:28px 0;margin-top:32px;background:transparent;}
#main .section-introduction{padding:28px 32px;background:var(--panel);border:1px solid var(--line);border-radius:8px;max-width:none;margin:24px 0 36px;}
#main .section-introduction h2{margin:0 0 16px;font:400 26px/1.3 var(--display);}
#main .section-introduction p{max-width:75ch;font-size:17px;line-height:1.7;margin:0 0 20px;}
#main .outline-heading{margin-top:32px;font:400 27px/1.3 var(--display);}
#main .section-model-entry{border:0;padding:20px 0 32px;display:block;}
#main .section-model-entry p{max-width:68ch;}
#main .search-results li{border-bottom:1px solid var(--line);margin:0;padding:0;}
#main .search-results a{display:block;padding:18px 4px;text-decoration:none;color:var(--ink);}
#main .search-results strong{font-size:18px;}
#main .search-result-count{font-size:14px;color:var(--muted);}
#main .path-actions{display:flex;gap:12px 24px;flex-wrap:wrap;}
#main .path-actions a{display:inline-flex;align-items:center;min-height:44px;}
#main .section-transfer{border-top:1px solid var(--line);padding-top:28px;margin-top:32px;}
#main .transfer-answer{margin-top:20px;}
#main .finish-panel h2{font-size:26px;}
.close-navigation{display:none;}
.navigation-backdrop{display:none;}
body.menu-is-open{overflow-y:hidden;}
@media(hover:hover){#main .course-chapter-row:hover,#main .chapter-sections li>a:hover,#main .outline-list a:hover,#main .search-results a:hover{background:var(--accent-soft);color:var(--ink);}}
@media(min-width:768px){#main .lesson-panel{border-radius:0;}}
@media(min-width:768px) and (max-width:1199px){}
@media(max-width:767px){body #main{padding:24px 20px 48px;}.topbar{padding-inline:20px;}#main .lesson-heading h1{font-size:30px;}#main .lesson-position{gap:0 12px;}#main .lesson-tools{gap:8px;padding:16px 0 20px;}#main .lesson-tools .tool-button{font-size:14px;padding:8px 10px;}#main .lesson-tools .tool-caption{flex-basis:100%;}#main .lesson-workspace .teaching-page{padding:24px 20px 0;}#main .teaching-page p,#main .teaching-page .worked-line{font-size:17px;line-height:1.7;}#main .teaching-page h2,#main .teaching-page .concept-first>h2:first-child{font-size:24px;}#main .teaching-page .worked-line{gap:12px;grid-template-columns:24px minmax(0,1fr);}#main .lesson-next .teaching-navigation{display:flex;flex-direction:column-reverse;align-items:stretch;gap:10px;}#main .lesson-next .teaching-navigation>*{justify-content:center;text-align:center;white-space:nowrap;font-size:15px;padding-inline:10px;}#main .lesson-next .lesson-exit{gap:8px 16px;}#main .lesson-exit>span:last-child{margin-left:auto;}#main .panel-head{padding:12px 20px;}#main .panel-tabs{padding-inline:12px;}#main .panel-body{padding:24px 20px 40px;}#main .panel-body h2{font-size:26px;}#main .course-chapter-row,#main .chapter-sections li>a{grid-template-columns:28px minmax(0,1fr);gap:12px;padding:20px 0;}#main .row-end{display:none;}#main .course-chapter-row strong,#main .chapter-sections strong{font-size:17px;}#main .section-introduction{padding:24px 20px;}#main .path-crumb{font-size:13px;gap:4px 8px;}#main .path-crumb>span:last-child{min-height:28px;}.close-navigation{display:flex;align-self:flex-end;margin:0 0 16px auto;min-height:44px;background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 12px;font-size:14px;}.sidebar{z-index:60;max-height:100dvh;overflow-y:auto;padding-top:20px;}.sidebar.open{box-shadow:12px 0 48px #211b1224;}.navigation-backdrop.is-visible{display:block;position:fixed;inset:0;z-index:50;background:var(--scrim);border:0;border-radius:0;}#main .panel-body .activity-grid{grid-template-columns:minmax(0,1fr);}}
@media(max-width:374px){body #main{padding-inline:16px;}#main .lesson-workspace .teaching-page{padding-inline:16px;}#main .lesson-heading h1{font-size:28px;}#main .lesson-tools{display:grid;grid-template-columns:minmax(0,1fr);}#main .lesson-tools .tool-button{justify-content:flex-start;}#main .panel-head{padding-inline:16px;}#main .panel-body{padding-inline:16px;}}
@media(prefers-reduced-motion:reduce){.sidebar,#main .lesson-panel,.navigation-backdrop{transition:none;scroll-behavior:auto;}}
@media(forced-colors:active){.primary{background:ButtonFace!important;color:ButtonText!important;border:1px solid ButtonText!important;}.navigation-backdrop.is-visible{background:Canvas;opacity:.5;}}
@media print{#main .lesson-tools,#main .lesson-next,#main .lesson-panel{display:none!important;}#main .lesson-workspace .teaching-page{padding:0;border:0;max-width:none;}#main .teaching-page p{font-size:12pt;}body #main{padding:0;}}
/* Neutralize legacy generated wrapper rules in the explicitly redesigned workspace. */
#main .lesson-workspace .teaching-page{background:var(--panel);border:1px solid var(--line);padding:32px 40px 0;}
#main .lesson-workspace .teaching-explanation.concept-first{border:0;background:transparent;padding:0;}
#main .lesson-workspace .lesson-next.step-finish{border:0;border-top:1px solid var(--line);padding:24px 0 16px;background:transparent;border-radius:0;}

#main .path-workspace .chapter-checkpoint{display:block;border-radius:0;background:transparent;padding:28px 0;}
#main .path-workspace .chapter-checkpoint button{width:auto;white-space:nowrap;}
#main .path-workspace .chapter-checkpoint p{margin:0 0 20px;max-width:70ch;}
@media(max-width:767px){#main .lesson-workspace .teaching-page{padding:24px 20px 0;}#main .lesson-workspace .teaching-explanation.concept-first{padding:0;}#main .lesson-workspace .lesson-next.step-finish{padding:20px 0 12px;}}
@media(max-width:374px){#main .lesson-workspace .teaching-page{padding-inline:16px;}}

/* Release 4.2.1: authoritative route rows and step navigation.
   Their old selectors were removed from design-system.css, not covered up.
   Hallmark · design-system: DESIGN.md · learning workbench / course outline. */
:root{--brand-paper:#f8f1dc;--row-inset:24px;--step-number-size:24px;}
.sidebar .brand{position:relative;display:block;width:100%;height:auto;aspect-ratio:3.2;margin:0 0 28px;padding:0;overflow:hidden;flex:none;letter-spacing:normal;}
.sidebar .brand-logo{position:absolute;display:block;width:100%;height:auto;max-width:none;left:0;top:50%;transform:translateY(-50%);}
:root[data-theme=dark] .sidebar .brand,:root[data-theme=contrast] .sidebar .brand{background:var(--brand-paper);border-radius:var(--ui-radius);}
body.panel-is-open{overflow-y:hidden;}
#main .section-workspace .idea-path{list-style:none;counter-reset:none;padding:0;margin:20px 0 32px;background:var(--dm-sheet,var(--panel));border:1px solid var(--line);border-radius:var(--ui-radius);overflow:clip;}
#main .section-workspace .idea-path>li{display:block;counter-increment:none;margin:0;padding:0;border:0;background:transparent;}
#main .section-workspace .idea-path>li+li{border-top:1px solid var(--line);}
#main .section-workspace .idea-path>li>a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;column-gap:20px;min-height:100px;padding:20px var(--row-inset);margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--ink);text-decoration:none;}
#main .section-workspace .idea-number{display:block;align-self:start;padding-top:2px;background:transparent;color:var(--muted);font:400 19px/1.4 var(--display);font-variant-numeric:tabular-nums;}
#main .section-workspace .idea-content{display:block;min-width:0;}
#main .section-workspace .idea-content>strong{display:block;color:var(--ink);font:500 19px/1.4 var(--body);overflow-wrap:anywhere;}
#main .section-workspace .idea-progress{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 16px;margin-top:8px;color:var(--muted);font:400 14px/1.55 var(--body);font-variant-numeric:tabular-nums;}
#main .section-workspace .idea-progress>span{display:block;}
#main .section-workspace .idea-path .row-end{display:flex;align-items:center;gap:8px;color:var(--muted);font:400 14px/1.4 var(--body);white-space:nowrap;}
#main .section-workspace .idea-path .row-end svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;}
#main .section-workspace .idea-path a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-4px;background:var(--accent-soft);}
#main .section-workspace .idea-path a:active{background:var(--accent-soft);}
#main .lesson-workspace .instruction-stages{display:flex;gap:0;padding:0;margin:0;min-width:0;border:0;border-bottom:1px solid var(--line);border-radius:0;overflow-x:auto;scrollbar-width:thin;scroll-padding-inline:4px;}
#main .lesson-workspace .instruction-stages>a{display:flex;align-items:center;justify-content:center;flex:1 0 auto;gap:8px;min-height:52px;padding:10px 14px;margin:0;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted);box-shadow:none;font:400 15px/1.4 var(--body);text-decoration:none;white-space:nowrap;}
#main .lesson-workspace .instruction-stages .stage-label{display:inline;flex:initial;width:auto;height:auto;margin:0;padding:0;border:0;border-radius:0;outline:0;box-shadow:none;background:transparent;color:inherit;font:inherit;}
#main .lesson-workspace .instruction-stages .stage-number{display:grid;place-items:center;flex:none;width:var(--step-number-size);height:var(--step-number-size);padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:inherit;font:500 12px/1 var(--body);font-variant-numeric:tabular-nums;}
#main .lesson-workspace .instruction-stages>a.active{background:var(--accent-soft);border-bottom-color:var(--accent);color:var(--ink);font-weight:600;}
#main .lesson-workspace .instruction-stages>a.active .stage-number{background:var(--action-fill);border-color:var(--action-ink);color:var(--action-ink);}
#main .lesson-workspace .instruction-stages>a.step-done:not(.active) .stage-number{background:var(--good-bg);border-color:var(--good);color:var(--good);}
#main .lesson-workspace .instruction-stages>a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-4px;}
#main .lesson-workspace .instruction-stages>a:active{background:var(--accent-soft);}
@media(hover:hover){
 #main .section-workspace .idea-path>li>a:hover,#main .lesson-workspace .instruction-stages>a:not(.active):hover{background:var(--accent-soft);color:var(--ink);}
}
@media(max-width:767px){
 .sidebar .brand{display:block;margin-bottom:20px;}
 body #main{padding-top:20px;}
 #main .lesson-workspace .path-crumb{margin-bottom:10px;gap:2px 8px;line-height:1.45;}
 #main .lesson-workspace .path-crumb>a,#main .lesson-workspace .path-crumb>span{min-height:30px;}
 #main .lesson-heading{margin-bottom:10px;}
 #main .lesson-heading h1{margin-bottom:8px;font-size:30px;line-height:1.2;}
 #main .lesson-position{font-size:13px;gap:0 8px;}
 #main .lesson-position .text-button{min-height:36px;font-size:13px;padding:4px 0;}
 #main .lesson-workspace .instruction-stages{margin-inline:-20px;padding-inline:20px;}
 #main .lesson-workspace .instruction-stages>a{flex:0 0 auto;min-height:48px;padding:8px 12px;font-size:14px;}
 #main .lesson-tools{gap:8px;padding:12px 0 16px;}
 #main .lesson-tools .tool-button{min-height:44px;font-size:14px;padding:8px 10px;}
 #main .lesson-tools .tool-caption{font-size:12px;margin:0;}
 #main .lesson-workspace .teaching-page{padding:20px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;}
 #main .lesson-workspace .teaching-page>section{padding-inline:0;}
 #main .lesson-workspace .teaching-page>.independent-start{padding:24px;}
 #main .lesson-workspace .teaching-page .teaching-explanation{padding:0;}
 #main .lesson-workspace .teaching-page h2,#main .lesson-workspace .concept-first>h2:first-child{margin-bottom:16px;font-size:24px;}
 #main .section-workspace .idea-path>li>a{grid-template-columns:24px minmax(0,1fr) 16px;column-gap:12px;padding:20px 16px;min-height:104px;}
 #main .section-workspace .idea-number{font-size:18px;}
 #main .section-workspace .idea-content>strong{font-size:17px;line-height:1.45;}
 #main .section-workspace .idea-progress{display:block;font-size:13px;line-height:1.55;margin-top:8px;}
 #main .section-workspace .idea-path .row-end{display:flex;}
 #main .section-workspace .idea-path .row-label{display:none;}
 #main .section-workspace .idea-path .row-end svg{width:16px;height:16px;}
}
@media(max-width:374px){
 #main .lesson-workspace .instruction-stages{margin-inline:-16px;padding-inline:16px;}
 #main .lesson-heading h1{font-size:28px;}
 #main .lesson-tools{display:flex;flex-wrap:wrap;}
 #main .lesson-tools .tool-button{font-size:13px;padding-inline:8px;gap:6px;}
 #main .section-workspace .idea-path>li>a{column-gap:10px;padding-inline:12px;}
 #main .section-workspace .idea-content>strong{font-size:16px;}
}
@media(forced-colors:active){
 #main .lesson-workspace .instruction-stages>a.active{border-bottom-color:Highlight;}
 #main .lesson-workspace .instruction-stages>a.active .stage-number{background:Highlight;color:HighlightText;border-color:Highlight;}
 #main .section-workspace .idea-path a:focus-visible{outline-color:Highlight;}
}
@media print{.instruction-stages,.sidebar .brand{display:none!important;}}

/* The reading panel owns its inset; the introduction must not add a second one. */
#main .lesson-workspace .teaching-page>.teaching-explanation.concept-first{padding:0;margin:0 0 24px;}

/* Account, answer entry, and teaching controls. Uses the supplied Paper design tokens. */
/* Keep account tasks in the same reading-width surface as the lessons. */
.account-page{max-width:640px;margin:24px auto 64px;padding:0 8px;}
.account-page h1{font-family:var(--display);font-size:clamp(28px,4vw,40px);font-weight:500;}
.account-page header{margin-bottom:28px;}
.account-page p{line-height:1.65;}
.account-field{display:grid;gap:8px;margin:0 0 20px;}
.account-field>label,.account-page>label{font-weight:600;}
.account-field input{width:100%;min-width:0;}
.password-control{display:flex;align-items:center;gap:8px;}
.password-control input{flex:1;min-width:0;}
.password-control button{flex:none;min-height:44px;}
.field-help{font-size:14px;line-height:1.55;color:var(--muted);margin:0;}
.form-feedback{min-height:24px;font-size:15px;line-height:1.55;margin:12px 0;}
.form-feedback[data-state=error]{color:var(--bad);font-weight:600;}
.account-links{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--line);padding-top:24px;margin-top:16px;}
.account-links a{display:inline-flex;align-items:center;min-height:44px;}
.account-privacy{color:var(--muted);font-size:14px;margin-top:32px;}
.account-section{border-top:1px solid var(--line);padding-top:28px;margin-top:32px;}
.account-section h2{font-size:24px;margin-bottom:12px;}
.account-confirm{display:flex;align-items:center;gap:8px;margin:24px 0;}
.account-confirm input{flex:none;}
.account-identity{display:flex;gap:16px;align-items:baseline;}
.account-identity dd{margin:0;font-weight:600;overflow-wrap:anywhere;}
#new-recovery-key{min-height:76px;overflow-wrap:anywhere;}
.account-delete{border-top:1px solid var(--line);padding-top:20px;margin-top:32px;}
.account-delete summary{color:var(--bad);padding:12px 0;}
.account-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:0 12px;white-space:nowrap;text-decoration:none;border-radius:var(--radius);}
.account-link:hover,.account-link:focus-visible{background:var(--soft);}
.topbar .save-status-button{margin-left:auto;margin-right:16px;}
.connection-banner{max-width:980px;margin:16px auto;padding:16px 24px;background:var(--soft);border:1px solid var(--line);}
.connection-banner p{margin:0 0 12px;line-height:1.6;}
.connection-banner[hidden]{display:none;}
.nav-list a{border-top:0;}
.nav-list a:nth-child(5){border-radius:8px;margin-top:0;padding:12px 16px;}
/* Matrix entries are a matrix, not an unexplained text serialization. */
.matrix-entry{max-width:100%;overflow-x:auto;padding:8px 4px;}
.matrix-entry-grid{display:grid;grid-template-columns:repeat(var(--matrix-columns),minmax(64px,1fr));gap:8px;border-inline:2px solid var(--ink);padding:8px 12px;width:min(100%,540px);min-width:max-content;}
.matrix-entry-cell{display:block;min-width:0;}
.matrix-entry-cell input{width:100%;max-width:100px;min-width:56px;text-align:center;}
.matrix-text-toggle{justify-self:start;padding:8px 0;}
.answer-symbols{display:flex;gap:8px;flex-wrap:wrap;}
.answer-symbols button{min-width:48px;min-height:44px;}
.answer-help{font-size:14px;line-height:1.6;color:var(--muted);margin:8px 0;}
.answer-reading{font-variant-numeric:tabular-nums;overflow-x:auto;max-width:100%;line-height:1.6;}
.input-reading-label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px;}
.answer-text-wrap[hidden]{display:none;}
.answer-text-wrap input{width:min(100%,420px);}
button:disabled{cursor:not-allowed;}
@media(max-width:640px){.account-page{margin:8px auto 40px;padding:0;}.topbar .save-status-button{font-size:12px;margin-right:4px;}.account-link{padding:0 8px;}.connection-banner{margin:8px;padding:16px;}.password-control{gap:8px;}.account-page .button-row{gap:8px;}.account-page h1{font-size:32px;}.matrix-entry-grid{grid-template-columns:repeat(var(--matrix-columns),minmax(56px,1fr));gap:4px;padding:8px;}}
/* Explicit inputs and computed outputs; no white-on-paper truth switches. */
.truth-control{border:0;padding:0;margin:0;min-width:0;}
.truth-control legend{font-weight:650;padding:0 0 8px;color:var(--ink);}
.truth-control>div{display:flex;gap:6px;}
.truth-control .truth-choice{min-height:44px;color:var(--ink);background:var(--panel);border:1px solid var(--graph-line);font-size:14px;}
.truth-control .truth-choice.selected{background:var(--accent-soft);color:var(--ink);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);}
.truth-control .truth-choice:hover{background:var(--soft);}
.scene-controls{gap:16px;align-items:end;}
.logic-reason{line-height:1.7;margin:8px 0 20px;color:var(--ink);}
.logic-flow{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:8px 0 20px;}
.logic-flow .input-stack,.logic-flow .flow-arrow,.logic-flow .formula-node,.logic-flow .truth-output{border:0;box-shadow:none;background:transparent;padding:4px;}
.logic-flow .input-stack{display:flex;flex-direction:column;gap:8px;}
.logic-flow .value-chip,.logic-flow .value-chip.on{background:transparent;border:0;color:var(--ink);padding:0;font-size:15px;}
.logic-flow .formula-node{font-size:22px;min-width:0;}
.logic-flow .truth-output{display:flex;flex-direction:column;gap:4px;min-width:104px;color:var(--ink);border-radius:0;}
.logic-flow .truth-output span{font:13px var(--body);color:var(--muted);}
.logic-flow .truth-output strong{font:600 18px var(--body);color:var(--ink);}
.selected-truth-row{background:var(--accent-soft);outline:1px solid var(--line);outline-offset:-1px;}
.selected-truth-row .current-row{background:transparent;color:var(--ink);font-weight:750;}
.activity-orientation{max-width:none;margin:0;padding:24px 24px 0;}
.activity-orientation p{line-height:1.65;margin:0 0 14px;max-width:76ch;}
.activity-orientation p strong{font-weight:650;}
.tour-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;}
.tour-controls span{font-size:13px;color:var(--muted);}
.activity-tour{padding:16px 0;border-block:1px solid var(--line);margin-top:20px;}
.activity-tour[hidden]{display:none;}
.activity-tour .tour-position{font-size:13px;color:var(--muted);margin:0 0 8px;}
.activity-tour p{margin:0 0 16px;}
.activity-meaning{margin-top:24px;border-top:1px solid var(--line);padding-top:20px;}
.activity-meaning h3{font-size:20px;margin-bottom:8px;}
.activity-meaning p{line-height:1.65;}
.activity-coach p{line-height:1.65;}
.activity-coach h3{font-size:22px;}
.explore-page>.page-heading{max-width:74ch;}
.explore-page>.page-heading p{line-height:1.65;}
.scene-art,.activity-stage{min-width:0;}
.activity-header h2{margin:0;}
@media(max-width:640px){.scene-controls{gap:16px 12px;}.truth-control .truth-choice{padding:8px 12px;}.logic-flow{justify-content:flex-start;gap:8px;}.logic-flow .flow-arrow{padding:0;}.logic-flow .formula-node{font-size:20px;}.logic-flow .truth-output{min-width:84px;}.activity-layout{display:flex;flex-direction:column;}.activity-coach{width:auto;}.tour-controls>span{display:none;}.activity-orientation{padding:18px 15px 0;}.tour-controls{margin-top:16px;}.activity-tour .button-row{align-items:start;flex-direction:column;}}
@media(prefers-reduced-motion:reduce){.truth-choice,.account-link{transition:none;}}

/* Release 4.3: database-first entry and readable learning progress. */
[hidden]{display:none!important;}
.topbar .account-link{margin-left:auto;}
.startup-view{max-width:40rem;margin:clamp(40px,12vh,112px) auto;padding:0 12px;}
.startup-view h1{font-family:var(--font-heading,var(--font-display,Georgia,serif));font-size:clamp(26px,4vw,36px);line-height:1.2;}
.startup-view p{max-width:55ch;line-height:1.65;margin-block:20px 24px;color:var(--muted);}
#main .learning-progress{border-block:1px solid var(--line);padding-block:28px;margin-block:32px;background:transparent;}
#main .learning-progress h2{font-size:24px;margin:0 0 8px;}
#main .progress-explainer{font-size:15px;line-height:1.6;color:var(--muted);max-width:65ch;margin:0 0 24px;}
#main .learning-progress dl{margin:0;display:grid;gap:24px;}
#main .progress-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,0.8fr);align-items:center;gap:32px;}
#main .progress-row dt{font-weight:650;font-size:16px;line-height:1.4;}
#main .progress-row dt small{display:block;margin-top:4px;font-size:14px;line-height:1.5;color:var(--muted);font-weight:400;}
#main .progress-row dd{margin:0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;align-items:center;}
#main .progress-count{font-size:15px;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:650;}
#main .progress-count span{color:var(--muted);font-weight:400;}
#main .progress-row progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:6px;border:0;border-radius:8px;background:var(--line);overflow:hidden;color:var(--accent);}
#main .progress-row progress::-webkit-progress-bar{background:var(--line);border-radius:8px;}
#main .progress-row progress::-webkit-progress-value{background:var(--accent);border-radius:8px;}
#main .progress-row progress::-moz-progress-bar{background:var(--accent);border-radius:8px;}
#main .progress-row:nth-child(2) progress{color:var(--good);}
#main .progress-row:nth-child(2) progress::-webkit-progress-value{background:var(--good);}
#main .progress-row:nth-child(2) progress::-moz-progress-bar{background:var(--good);}
@media(max-width:767px){
 #sidebar.sidebar{position:fixed;inset:0 auto 0 0;top:0;height:100dvh;max-height:100dvh;width:min(320px,calc(100vw - 40px));max-width:calc(100vw - 40px);z-index:1200;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto;}
 .navigation-backdrop.is-visible{position:fixed;inset:0;z-index:1100;}
 body.menu-is-open{overflow:hidden;}
 #sidebar .brand{margin-bottom:20px;}
 .topbar{min-height:60px;height:auto;align-items:center;}
 .topbar .crumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
 #main .progress-row{grid-template-columns:minmax(0,1fr);gap:10px;}
 #main .progress-row dd{grid-template-columns:84px minmax(0,1fr);}
 #main .learning-progress{padding-block:24px;}
 #main .learning-progress dl{gap:24px;}
 #main .dm-home-grid>aside{display:none;}
}
@media(prefers-reduced-motion:reduce){#sidebar.sidebar.open{animation:none;}}

/* 4.3 release: the navigation dismiss action remains visible when scrolled. */
@media(max-width:767px){
 #sidebar.sidebar .close-navigation{display:flex!important;align-items:center;justify-content:center;position:sticky;top:0;align-self:flex-end;margin:0 0 12px auto;min-height:44px;min-width:112px;padding:10px 14px;z-index:2;color:var(--ink);background:var(--panel,var(--paper));border:1px solid var(--line);border-radius:8px;white-space:nowrap;}
 #sidebar.sidebar .close-navigation:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
 #sidebar.sidebar .brand{flex-shrink:0;}
}
.guided-setup{line-height:1.65;margin:0 0 20px;}
.guided-setup p{margin:0 0 12px;}

/* Consolidated in design-system.css. */

/* Account choice before the first independent question set. */
.practice-account-dialog{width:min(560px,calc(100vw - 32px));max-width:none;padding:0;border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--panel);color:var(--ink);box-shadow:0 24px 72px #211b1238;}
.practice-account-dialog::backdrop{background:var(--scrim);}
.practice-account-sheet{padding:28px 30px 26px;}
.practice-account-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;}
.practice-account-head .eyebrow{margin:0;color:var(--muted);}
.practice-account-close{flex:none;font-size:14px;padding:6px 0;min-height:36px;}
.practice-account-dialog h2{font:500 clamp(29px,5vw,38px)/1.2 var(--display);margin:0 0 14px;}
.practice-account-lede{font-size:17px;line-height:1.65;max-width:48ch;margin:0 0 24px;}
.practice-account-actions{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.practice-account-actions button{min-height:44px;}
.practice-account-detail{font-size:14px;line-height:1.6;color:var(--muted);margin:0;}
.practice-account-guest{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:24px;padding-top:22px;}
.practice-account-guest strong{display:block;font-size:15px;margin-bottom:5px;}
.practice-account-guest p{font-size:14px;line-height:1.55;color:var(--muted);margin:0;max-width:31ch;}
.practice-account-guest .text-button{flex:none;white-space:nowrap;}
@media(max-width:560px){.practice-account-dialog{width:calc(100vw - 24px);}.practice-account-sheet{padding:22px 20px 20px;}.practice-account-actions{align-items:stretch;flex-direction:column;}.practice-account-actions button{width:100%;}.practice-account-guest{align-items:flex-start;flex-direction:column;gap:14px;}.practice-account-guest .text-button{justify-content:flex-start;padding-left:0;}}
@media(forced-colors:active){.practice-account-dialog{border:2px solid CanvasText;}.practice-account-dialog::backdrop{background:Canvas;opacity:.65;}}
