.lesson-page{padding-block:40px 72px}.lesson{background:var(--bg);border:var(--bw) solid var(--edge);box-shadow:var(--drop);position:relative}.lu-top{border-block-end:var(--bw) solid var(--edge);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:12px 22px;display:flex}.crumb{font-family:var(--f-ui);color:var(--text-2);align-items:center;gap:10px;font-size:13px;display:flex}.crumb svg{block-size:18px;inline-size:18px;color:var(--accent);flex:none}.crumb .px{block-size:16px;inline-size:16px}.stepper ol{flex-wrap:wrap;gap:4px;list-style:none;display:flex}.stepper button{font-family:var(--f-ui);border:1px solid var(--rule);min-block-size:32px;color:var(--text-2);cursor:pointer;background:0 0;padding:6px 10px;font-size:12px}.stepper button.done{color:var(--accent);border-color:var(--accent)}.stepper button.cur{background:var(--text);color:var(--bg);border-color:var(--text)}[data-mode=game] .stepper button{border-width:2px}@media (pointer:coarse){.stepper button{min-block-size:44px}}.lu-top-end{align-items:center;gap:16px;display:flex}.prove{font-family:var(--f-ui);color:var(--accent);background:var(--surface);border:1px solid var(--accent);cursor:pointer;border-radius:999px;align-items:center;gap:6px;min-block-size:36px;padding:6px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.prove:hover{background:var(--accent);color:var(--on-accent)}[data-mode=game] .prove{border:2px solid var(--edge);box-shadow:var(--btn-drop);color:var(--text);border-radius:0}[data-mode=game] .prove:hover{background:var(--accent);color:var(--on-accent)}.standing{font-family:var(--f-plex);color:var(--text-2);align-items:baseline;gap:8px;font-size:13px;display:flex}.standing b{font-family:var(--f-marcellus);color:var(--text);font-size:18px;font-weight:400}.xp{font-family:var(--f-ui);color:var(--text);align-items:center;gap:10px;font-size:12px;display:flex}.xp .lv{background:var(--mastery);color:#121212;border:2px solid var(--edge);padding:3px 7px}.xpbar{border:2px solid var(--edge);background:var(--surface-2);block-size:14px;inline-size:110px;display:inline-block;position:relative}.xpbar i{background:var(--mastery);transition:inline-size .9s steps(9,end);position:absolute;inset-block:0;inset-inline-start:0}.lu-body{grid-template-columns:1fr 1.05fr;display:grid}@media (max-width:900px){.lu-body{grid-template-columns:1fr}}.lu-read{border-inline-end:var(--bw) solid var(--edge);min-inline-size:0;padding:30px 34px 28px}@media (max-width:900px){.lu-read{border-inline-end:0;border-block-end:var(--bw) solid var(--edge)}}@media (max-width:640px){.lu-read,.lu-sim,.lu-ex{padding-inline:18px}.lu-top{padding-inline:16px}}.lu-read .frame{font-family:var(--f-ui);color:var(--accent);margin-block:4px 14px;font-size:13px}.lu-read h1{margin-block-end:6px;font-size:clamp(32px,4vw,40px)}.lu-read .stage-name{font-family:var(--f-small);color:var(--text-2);margin-block-end:18px;font-size:20px}.prose p{color:var(--text-2);max-inline-size:62ch;margin-block-end:16px;font-size:18.5px}.prose strong{color:var(--text);font-weight:500}.ref{font-family:var(--f-code);color:var(--accent);vertical-align:super;margin-inline-start:2px;font-size:11px;line-height:0;text-decoration:none}.srcs{border-block-start:1px solid var(--rule);font-family:var(--f-plex);color:var(--text-2);margin-block-start:22px;padding-block-start:14px;font-size:13px;line-height:1.5}.srcs h2{font-family:var(--f-plex);letter-spacing:0;color:var(--text);margin-block:10px 4px;font-size:12.5px;font-weight:500}.srcs ol{list-style:none}.srcs li{margin-block-start:4px}.srcs a{color:var(--text)}.srcs-note{margin-block-start:10px}.srcs:target,.srcs li:target{outline:var(--focus)}.lu-sim{background:var(--surface);min-inline-size:0;padding:26px 28px 30px;position:relative}.lu-ex{border-block-start:var(--bw) solid var(--edge);background:var(--bg);padding:26px 34px 30px}.task{grid-template-columns:200px 1fr;gap:24px;display:grid}@media (max-width:760px){.task{grid-template-columns:1fr}}.task.single{grid-template-columns:1fr}.ex-who{flex-direction:column;gap:10px;display:flex}.ex-who svg{block-size:46px;inline-size:46px}.ex-who b{font-family:var(--f-title);font-size:22px;font-weight:400}.ex-who span{font-family:var(--f-ui);color:var(--text-2);font-size:12.5px}.ex-q{color:var(--text);max-inline-size:62ch;margin-block-end:14px;font-size:19px}.task textarea{min-block-size:110px;inline-size:100%;font-family:var(--f-read);border:var(--bw) solid var(--edge);background:var(--surface);color:var(--text);resize:vertical;padding:12px 14px;font-size:16px;line-height:1.5}[data-mode=classic] .task textarea{border-color:var(--text-2)}.task textarea:focus-visible{outline:var(--focus);outline-offset:1px}.task label.answer-label{font-family:var(--f-plex);color:var(--text-2);margin-block-end:6px;font-size:13px;display:block}.ex-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-block-start:12px;display:flex}.ex-note{font-family:var(--f-plex);color:var(--text-2);font-size:13.5px}.verdict{border:var(--bw) solid var(--edge);border-inline-start:4px solid var(--fail);background:var(--surface);animation:vin .35s var(--ease);margin-block-start:16px;padding:16px 18px}.verdict.pass{border-inline-start-color:var(--accent)}.verdict.ask{border-inline-start-color:var(--text-2)}.verdict .vh{font-family:var(--f-ui);color:var(--fail);align-items:baseline;gap:14px;font-size:13px;display:flex}.verdict.pass .vh{color:var(--accent)}.verdict.ask .vh{color:var(--text)}.verdict .award{font-family:var(--f-display);color:var(--mastery);font-size:26px}[data-mode=game] .verdict .award{font-family:var(--f-small);font-size:24px}.verdict .vbody{overflow-wrap:anywhere;min-inline-size:0}.verdict .vbody p{color:var(--text);max-inline-size:66ch;margin-block-start:6px;font-size:16.5px}[data-mode=game] .verdict.fail{animation:.42s steps(6,end) shake}@keyframes vin{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes shake{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.ctl{border:0;min-inline-size:0;margin-block-end:16px}.ctl legend,.ctl .cap-l{font-family:var(--f-label);font-size:var(--label-size);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--text-2);margin-block-end:8px;display:block}.seg{gap:var(--bw);background:var(--edge);border:var(--bw) solid var(--edge);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;max-inline-size:100%;display:grid}.seg label{font-family:var(--f-ui);background:var(--bg);color:var(--text-2);cursor:pointer;text-align:center;justify-content:center;align-items:center;min-block-size:40px;padding:9px 12px;font-size:13px;display:flex;position:relative}[data-mode=game] .seg label{font-size:11.5px}.seg input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.seg label:has(input:checked){background:var(--accent);color:var(--on-accent)}.seg label:has(input:focus-visible){outline:var(--focus);outline-offset:-4px;z-index:1}.seg label:has(input:disabled){color:var(--text-2);opacity:.5;cursor:not-allowed}@media (pointer:coarse){.seg label{min-block-size:44px}}.range-row{align-items:center;gap:14px;display:flex}.range-row output{font-family:var(--f-code);color:var(--text);min-inline-size:52px;font-size:14px}input[type=range]{appearance:none;cursor:pointer;background:0 0;flex:1;block-size:28px}input[type=range]::-webkit-slider-runnable-track{block-size:var(--bw);background:var(--text-2)}input[type=range]::-moz-range-track{block-size:var(--bw);background:var(--text-2)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;block-size:18px;inline-size:18px;background:var(--text);border-radius:var(--thumb-r,50%);border:0;margin-block-start:calc(-9px + var(--bw) / 2)}input[type=range]::-moz-range-thumb{background:var(--text);border-radius:var(--thumb-r,50%);border:0;block-size:18px;inline-size:18px}[data-mode=game] input[type=range]{--thumb-r:0}.select{font-family:var(--f-ui);border:var(--bw) solid var(--edge);background:var(--bg);color:var(--text);min-block-size:36px;max-inline-size:100%;padding:8px 10px;font-size:13px}.metrics{gap:var(--gap);background:var(--grid-bg);border:var(--grid-border);grid-template-columns:repeat(3,minmax(0,1fr));margin-block-start:20px;display:grid}.metrics>div{background:var(--bg);border:var(--cell-border);padding:14px 14px 12px}.metrics b{font-family:var(--f-title);color:var(--text);font-size:clamp(22px,3vw,30px);font-weight:400;line-height:1.05;display:block}.metrics b.bad{color:var(--fail)}.metrics span{font-family:var(--f-plex);color:var(--text-2);margin-block-start:4px;font-size:12.5px;line-height:1.35;display:block}.metrics-note{font-family:var(--f-plex);color:var(--text-2);margin-block-start:8px;font-size:12px}.tdock{justify-content:flex-end;margin-block-start:20px;display:flex}.variations{flex-wrap:wrap;gap:6px;margin-block-end:18px;display:flex}.variations button{font-family:var(--f-ui);border:var(--bw) solid var(--edge);background:var(--bg);min-block-size:36px;color:var(--text-2);cursor:pointer;padding:8px 12px;font-size:13px}.variations button[aria-selected=true]{background:var(--text);color:var(--bg)}.variations .solved:after{content:" ✓"}.prompt{color:var(--text);max-inline-size:62ch;margin-block-end:16px;font-size:17px}.options{gap:8px;display:grid}.options label{font-family:var(--f-plex);color:var(--text);border:1px solid var(--rule);background:var(--bg);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;font-size:14px;display:flex}[data-mode=game] .options label{border-width:2px}.options input{accent-color:var(--accent);flex:none;block-size:16px;inline-size:16px;margin-block-start:3px}.options label:has(input:checked){border-color:var(--accent)}.revisit-list{gap:22px;display:grid}.revisit-q{border:0;min-inline-size:0}.revisit-q legend{color:var(--text);max-inline-size:62ch;margin-block-end:10px;font-size:17px}.revisit-q .concept{font-family:var(--f-ui);color:var(--text-2);margin-block-end:4px;font-size:12px;display:block}.next-due{font-family:var(--f-ui);color:var(--text-2);margin-block-start:8px;font-size:13px}
