:root{color-scheme:light;--ground:#f6f3eb;--paper:#fffefb;--surface:#fff;--ink:#29332d;--muted:#696b62;--line:#dedfd6;--line-strong:#bcbfb4;--rust:#a34029;--rust-soft:#f5e5da;--green:#3e705b;--green-soft:#e7efe8;--mono:ui-monospace,SFMono-Regular,Menlo,monospace;--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--ground);color:var(--ink);font:14px/1.55 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button,.button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:40px;border:1px solid var(--line-strong);border-radius:5px;background:var(--paper);padding:9px 13px;text-decoration:none;transition:background .15s,border-color .15s}button:hover,.button:hover{background:#efeee7;border-color:var(--ink)}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--rust);outline-offset:3px}a{color:var(--rust);text-underline-offset:4px}h1,h2,h3,h4,p{margin:0}h1{font:clamp(36px,4.6vw,66px)/1.07 var(--serif);letter-spacing:-2px}h2{font:29px/1.18 var(--serif);letter-spacing:-.6px}h3{font:25px/1.25 var(--serif)}h4{font:20px/1.3 var(--serif)}.eyebrow{display:block;font:10px/1.5 var(--sans);letter-spacing:.15em;color:var(--muted);margin-bottom:12px}.mast{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 4vw;border-bottom:1px solid var(--line-strong)}.brand{display:flex;align-items:center;gap:19px;color:var(--ink);font:34px/.9 var(--serif);text-decoration:none;letter-spacing:-1px}.brand span{font:10px/1.5 var(--sans);letter-spacing:.14em;border-left:1px solid var(--line-strong);padding-left:18px}.mast-course{color:var(--ink);font-size:13px;text-decoration:none}.local{display:flex;gap:7px;align-items:center;color:var(--muted);font:11px var(--mono)}.local i{width:6px;height:6px;border-radius:50%;background:var(--green)}main{max-width:1640px;margin:auto;padding:0 4vw}.overview{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center;padding:65px 0 60px}.dek{font:23px/1.4 var(--serif);margin:25px 0 18px;max-width:530px}.hero-description{font-size:15px;line-height:1.7;color:var(--muted);max-width:500px;margin-bottom:24px}.primary{background:var(--ink);border-color:var(--ink);color:#fff}.primary:hover{background:#455349}.hero-meta{font-size:11px;color:var(--muted);margin-top:20px;line-height:1.8}.hero-figure{background:var(--paper);padding:32px;border:1px solid var(--line-strong);border-radius:9px;box-shadow:0 15px 45px #29332d08;transform:rotate(1deg)}.hero-figure h2{font-size:36px}.hero-figure p{font-size:13px;max-width:390px;color:var(--muted)}.hero-heap{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:27px 0}.hero-heap span{font:23px var(--serif);border-radius:3px;display:grid;place-items:center;padding:12px 0;background:var(--ink);color:white}.hero-heap span.empty{background:var(--ground);border:1px dashed var(--line-strong);color:var(--muted)}.hero-choices{display:flex;gap:8px;margin:20px 0 0}.hero-choices button[aria-pressed=true]{border-color:var(--rust);background:var(--rust-soft)}#hero-answer{margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.lessons{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.lessons a{display:block;padding:18px 15px 20px;color:var(--ink);text-decoration:none;border-right:1px solid var(--line);min-width:0;position:relative}.lessons a:first-child{padding-left:0}.lessons a:last-child{border:0}.lessons a:hover{background:#eeece4}.lessons a[aria-current=step]{background:var(--paper)}.lessons a[aria-current=step]:after{content:"";position:absolute;height:3px;background:var(--rust);bottom:-1px;left:0;right:0}.lessons .nav-number{display:block;color:var(--muted);font:11px var(--mono);margin-bottom:7px}.lessons .nav-title{font:15px/1.3 var(--serif);display:block}.lessons small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.lesson-heading{padding:30px 0 27px;display:flex;align-items:center;justify-content:space-between;gap:25px}.lesson-heading h1{font-size:39px;letter-spacing:-1.3px}.lesson-heading .eyebrow{margin-bottom:7px}.practice-jump{font-size:12px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.5fr);gap:45px;align-items:start}.reader{min-width:0}.reader-top{display:flex;align-items:center;justify-content:space-between}.reader-top .eyebrow{margin:0}.text-button{border:0;background:none;padding:7px 0;min-height:32px;color:var(--rust);font-size:12px}.text-button:hover{background:none;text-decoration:underline}.reader>select{width:100%;background:var(--paper);border:1px solid var(--line-strong);padding:10px 12px;border-radius:4px;margin:12px 0 24px;font-size:13px}.reader #reading{font-size:15px;line-height:1.8;min-height:240px;overflow-wrap:anywhere}.reader #reading h3{margin:0 0 17px}.reader #reading h4,.reader #reading h5{margin:24px 0 12px}.reader #reading p{margin:0 0 17px}.reader ul,.reader ol{padding-left:22px;margin:10px 0 20px}.reader li{padding-left:3px;margin:9px 0}.reader code{font:12px/1.7 var(--mono);background:#eeede5;padding:2px 4px;border-radius:3px;overflow-wrap:anywhere}.reader pre{padding:16px;background:#eeede5;border-left:2px solid var(--line-strong);border-radius:3px;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 23px}.reader pre code{padding:0;background:none}.reader blockquote{border-left:3px solid var(--rust);margin:15px 0;padding-left:15px;color:var(--muted)}.reader table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.5;margin:20px 0}.reader th,.reader td{padding:10px 6px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.reader th{font-weight:600}.reader details{border:1px solid var(--line);border-radius:5px;padding:13px;margin:18px 0}.reader details>div{margin-top:12px}.reading-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding:17px 0;margin-top:23px}.reading-nav span{font:11px var(--mono);color:var(--muted)}.reading-nav button{font-size:12px}.notes,.evidence{padding:17px 0;border-top:1px solid var(--line)}summary{cursor:pointer;min-height:26px;font-size:12px}summary>span{font-size:10px;color:var(--muted);margin-left:7px}.notes label,.repair-area label{display:block;font-size:12px;margin:15px 0 8px;color:var(--muted)}textarea{width:100%;background:var(--paper);border:1px solid var(--line-strong);border-radius:5px;padding:12px;resize:vertical;font-size:13px;line-height:1.6}.notes small,.evidence small{display:block;margin-top:10px;font-size:11px;color:var(--muted);line-height:1.6}.evidence .eyebrow{margin:0}.evidence p{font-size:12px;margin:10px 0}.evidence button{font-size:12px}.laboratory{border:1px solid var(--line-strong);border-radius:9px;background:var(--paper);overflow:hidden;min-width:0;scroll-margin-top:20px}.lab-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px 24px 18px}.lab-header h2{font-size:28px}.lab-header .eyebrow{margin-bottom:6px;font-size:9px}.icon-button{border:0;background:var(--ground);border-radius:50%;width:36px;min-height:36px;font-size:21px;padding:0;flex:none}.lab-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 24px}.segmented{display:flex;gap:2px;padding:3px;background:var(--ground);border:1px solid var(--line);border-radius:6px}.segmented button{background:none;border:0;min-height:31px;padding:5px 11px;font-size:11px;white-space:nowrap}.segmented button[aria-pressed=true]{background:var(--paper);box-shadow:0 1px 4px #29332d15;color:var(--rust)}.challenge{font:15px/1.6 var(--sans);padding:20px 24px 16px;max-width:75ch}.view-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px 15px}.view-tools>label{font-size:10px;color:var(--muted);display:flex;gap:8px;align-items:center}.view-tools select{max-width:80px;background:var(--paper);border:1px solid var(--line-strong);border-radius:4px;padding:5px}.diagram{background:var(--ground);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px;min-height:260px;overflow:hidden}.figure-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;color:var(--muted);font-size:10px;letter-spacing:.03em}.figure-header strong{font-size:12px;color:var(--ink);font-weight:500}.figure-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;color:var(--muted)}.figure-legend span{display:inline-flex;gap:5px;align-items:center}.figure-legend i{width:10px;height:10px;border:1px solid var(--line-strong);background:var(--paper);border-radius:2px}.figure-legend .legend-discovered{border:1px dashed var(--green);background:var(--green-soft)}.figure-legend .legend-scanned{background:var(--ink);border-color:var(--ink)}.figure-legend .legend-active{background:var(--rust);border-color:var(--rust)}.legend{padding:12px 24px;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}.allocation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 9px}.allocation-grid .cell{background:var(--ink);color:white;border:1px solid var(--ink);border-radius:4px;min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 4px 0 #d6d8cf}.cell strong{font:24px var(--serif);font-weight:400}.cell small{font:9px var(--mono);margin-top:5px;opacity:.8}.cell.free{background:var(--paper);border:1px dashed var(--line-strong);color:var(--muted);box-shadow:none}.cell.new{background:var(--rust);border-color:var(--rust)}.cell.longest:after{content:"";position:absolute;bottom:-9px;height:3px;background:var(--rust);left:0;right:0}.allocation-grid.depth{transform:perspective(800px) rotateX(12deg);padding:0 4px 10px}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line-strong)}.metric-strip span{font-size:10px;color:var(--muted);display:block}.metric-strip strong{font:22px/1.4 var(--mono);font-weight:400;display:block;margin-top:3px}.metric-strip small{font-size:10px;color:var(--muted)}.object-graph{display:block;width:100%;height:auto;max-height:340px;overflow:visible}.object-graph .edge{fill:none;stroke:#8c968c;stroke-width:1.6;color:#8c968c}.object-graph .edge-selected{stroke:var(--rust);stroke-width:2.5;color:var(--rust)}.object-graph .node{cursor:pointer;outline:none}.object-graph circle{fill:var(--paper);stroke:#859386;stroke-width:1.5}.object-graph text{font:18px var(--serif);text-anchor:middle;dominant-baseline:middle;fill:var(--ink);pointer-events:none}.object-graph .root-ring{fill:none;stroke:var(--rust);stroke-width:1.5}.object-graph .root-label{font:10px var(--mono);fill:var(--rust)}.object-graph .discovered circle{fill:var(--green-soft);stroke:var(--green);stroke-dasharray:4 3}.object-graph .scanned circle{fill:var(--ink);stroke:var(--ink);stroke-dasharray:none}.object-graph .scanned text,.object-graph .active text{fill:white}.object-graph .active circle{fill:var(--rust);stroke:var(--rust)}.object-graph .selected circle,.object-graph .node:focus-visible circle{stroke:var(--rust);stroke-width:4}.object-graph .reclaimed circle{fill:#e8e6de;stroke-dasharray:3 3}.object-graph .reclaimed text{fill:var(--muted)}.strike{stroke:var(--muted);stroke-width:2}.address-map{display:flex;flex-direction:column;gap:14px}.address-row{border:1px solid var(--line-strong);border-radius:5px;background:#f9f8f3;padding:10px}.address-row.page-active{border:2px solid var(--rust);padding:9px}.address-header{display:flex;justify-content:space-between;gap:6px;font:10px var(--mono);color:var(--muted);margin-bottom:9px}.address-objects{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.object-tile{min-width:0;display:flex;flex-direction:column;gap:4px;padding:10px 3px;background:var(--paper);border:1px solid var(--line-strong);min-height:64px}.object-tile strong{font:21px var(--serif)}.object-tile span{font:9px var(--mono)}.object-tile small{font-size:9px;color:var(--muted)}.object-tile.discovered{border:1px dashed var(--green);background:var(--green-soft)}.object-tile.scanned{background:var(--ink);color:white;border-color:var(--ink)}.object-tile.scanned small{color:#e4ebe4}.object-tile.active{background:var(--rust);color:white;border-color:var(--rust)}.object-tile.active small{color:white}.object-tile.selected{outline:2px solid var(--rust);outline-offset:2px}.object-tile.reclaimed{background:#e8e6de;color:var(--muted);border-style:dashed}.object-tile.reclaimed strong{text-decoration:line-through}.selection-note{font-size:11px;line-height:1.6;color:var(--muted);margin:15px 0 0;min-height:18px}.linked-views{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.linked-views .object-graph{max-height:none}.linked-views .address-objects{gap:4px}.linked-views .object-tile{min-height:48px;padding:5px 2px}.linked-views .object-tile strong{font-size:19px}.linked-views .object-tile small{display:none}.linked-views .address-row{padding:7px}.linked-views .address-header{font-size:8px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compare>.lane+ .lane{border-left:1px solid var(--line-strong);padding-left:18px}.lane h3{font:20px/1.2 var(--serif);margin-bottom:5px}.lane>p{font-size:10px;color:var(--muted);margin-bottom:14px}.lane .address-objects{gap:4px}.lane .address-header{font-size:9px}.lane .object-tile{min-height:60px;padding:6px 2px}.lane .object-tile span{font-size:8px}.lane .object-tile small{font-size:8px}.lane .address-row{padding:8px}.lane .metric-strip{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:12px}.lane .metric-strip strong{font-size:20px}.queue{font:10px/1.7 var(--mono);background:#eeece3;padding:9px 10px;margin-top:12px;border-radius:4px;overflow-wrap:anywhere;min-height:52px}.queue span{display:block;color:var(--muted);font:9px var(--sans);margin-bottom:3px}.cache-box{font:10px/1.7 var(--mono);border-top:1px solid var(--line);padding-top:10px;margin-top:12px}.cache-box span{color:var(--muted);font-size:9px;display:block}.prediction{display:flex;gap:8px;flex-wrap:wrap;padding:17px 24px 0}.prediction button{font-size:12px;min-height:38px;text-align:left}.prediction button[aria-pressed=true]{background:var(--rust-soft);border-color:var(--rust);color:var(--rust)}.prediction .prediction-hint{font-size:12px;color:var(--muted)}.transport{padding:16px 24px;display:flex;align-items:center;gap:8px}.transport button{font-size:12px;min-height:38px}.transport #position{font:10px var(--mono);margin-left:auto;white-space:nowrap;color:var(--muted)}.observation{padding:17px 24px;border-top:1px solid var(--line);font-size:12px;line-height:1.8;background:#faf9f5;min-height:75px}.result{margin:18px 24px 0;border-left:3px solid var(--green);background:var(--green-soft);padding:14px 17px;font-size:13px;line-height:1.7}.result.wrong{border-color:var(--rust);background:var(--rust-soft)}.repair-area{padding:0 24px 15px}.repair-area label{color:var(--ink)}.repair-area button{margin-top:9px;margin-right:10px;font-size:11px}.repair-area #save-status{font-size:11px;margin-top:8px;color:var(--muted)}.attempts,.boundaries{padding:15px 24px;border-top:1px solid var(--line);font-size:11px}.boundaries p{color:var(--muted);line-height:1.8;padding-top:10px}.attempt-entry{padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.7}.attempt-entry strong{font-size:11px;display:block}.attempt-entry p{white-space:pre-wrap;margin-top:4px}.import-area{margin:0 24px 18px;padding:12px 14px;background:#f1f0e8;border:1px solid var(--line);border-radius:5px}.import-line{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.import-line .button{font-size:11px;min-height:35px;padding:7px 11px}.import-line input{width:1px;height:1px;position:absolute;clip-path:inset(50%)}.import-line:focus-within{outline:2px solid var(--rust);outline-offset:3px}.import-area p{font-size:10px;color:var(--muted);margin-top:7px;overflow-wrap:anywhere}.import-area p.error{color:#9c3025}.import-origin{font-size:11px;border-left:3px solid var(--rust);padding:9px 12px;background:var(--rust-soft);margin-bottom:20px;overflow-wrap:anywhere}.bridge-ruler{display:flex;gap:0;border:1px solid var(--line-strong);margin:22px 0 16px}.bridge-cell{flex:1;text-align:center;background:var(--paper);padding:20px 0 11px;font:18px var(--serif);border-right:1px solid var(--line);min-width:0}.bridge-cell:last-child{border:0}.bridge-cell small{display:block;font:9px var(--mono);margin-top:9px;color:var(--muted)}.ruler-groups{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0;font:11px var(--mono);text-align:center}.ruler-groups span{border-top:3px solid var(--green);padding-top:6px}.ruler-groups.pages{grid-template-columns:repeat(2,1fr)}.ruler-groups.pages span{border-color:var(--rust)}.bridge-note{border-left:2px solid var(--line-strong);padding-left:13px;font-size:12px;color:var(--muted);margin-top:23px;line-height:1.7}.source-map{margin-top:23px;border-top:1px solid var(--line-strong);padding-top:20px}.source-map h3{font-size:21px;margin-bottom:10px}.source-map details{padding:12px 0;border-bottom:1px solid var(--line)}.source-map summary{font-size:12px;color:var(--ink)}.source-map p{font-size:11px;line-height:1.8;color:var(--muted);margin:8px 0}.model-bars{display:flex;flex-direction:column;gap:18px;margin:24px 0}.bar-row{display:grid;grid-template-columns:85px 1fr 30px;gap:12px;align-items:center;font-size:11px}.bar-track{background:#e5e7dd;height:24px;border-radius:3px;overflow:hidden}.bar-track i{display:block;height:100%;background:var(--ink);border-radius:3px;min-width:2px}.bar-row:nth-child(2) i{background:var(--rust)}.bar-row strong{font:16px var(--mono)}.plot-caption{font-size:10px;color:var(--muted);line-height:1.7}.benchmark-empty{border:1px dashed var(--line-strong);padding:22px;margin-top:24px;border-radius:6px}.benchmark-empty h3{font-size:21px;margin-bottom:10px}.benchmark-empty p{font-size:12px;color:var(--muted);line-height:1.7}.benchmark-empty label{margin-top:15px;font-size:11px}.benchmark-empty input{display:block;max-width:100%;font-size:11px;margin-top:8px}.benchmark-plot{width:100%;height:auto;display:block;margin-top:10px;overflow:visible}.plot-grid{stroke:var(--line);stroke-width:1}.plot-label{font:11px var(--mono);fill:var(--muted)}.plot-dot{fill:var(--rust);opacity:.75}.benchmark-meta{font:10px/1.7 var(--mono);color:var(--muted);overflow-wrap:anywhere;margin-top:15px}.reveal-placeholder{font-size:11px;line-height:1.7;color:var(--muted);margin:20px 0;border:1px dashed var(--line-strong);padding:15px}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line-strong);margin-top:48px;padding:24px 0 32px;color:var(--muted);font-size:11px}footer div{display:flex;gap:19px;flex-wrap:wrap}.skip-link{position:absolute;left:10px;top:-60px;background:var(--ink);color:white;padding:12px;z-index:20}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
@media(min-width:1450px){.diagram{padding:28px}.workspace{gap:55px}.linked-views{gap:28px}.linked-views .object-graph{min-height:270px}}
@media(max-width:1150px){.lessons small{display:none}.lessons a{padding:16px 10px}.lessons .nav-title{font-size:13px}.workspace{gap:25px;grid-template-columns:minmax(260px,.85fr) minmax(0,1.4fr)}.linked-views{grid-template-columns:1fr}.linked-views .object-graph{max-height:240px}.linked-views .address-header{font-size:10px}.linked-views .object-tile span{font-size:10px}.compare{gap:12px}.compare>.lane+.lane{padding-left:12px}.lane .address-objects{grid-template-columns:repeat(2,minmax(0,1fr))}.lane .address-header{font-size:8px}.lab-header,.lab-tools,.transport,.observation,.prediction,.legend,.repair-area,.attempts,.boundaries{padding-left:18px;padding-right:18px}.diagram{padding:18px}.challenge{padding:18px}.view-tools{padding-left:18px;padding-right:18px}.import-area{margin-left:18px;margin-right:18px}}
@media(max-width:820px){.mast{padding:19px 5vw}.mast-course{display:none}main{padding:0 5vw}.overview{gap:25px;padding:40px 0;grid-template-columns:1fr 1fr}.hero-figure{padding:22px}.hero-figure h2{font-size:29px}.hero-copy h1{font-size:43px}.dek{font-size:20px}.hero-description{font-size:13px}.hero-meta{font-size:10px}.lessons{overflow-x:auto;grid-template-columns:repeat(7,135px);margin:0 -5vw;padding:0 5vw}.lessons a:first-child{padding-left:10px}.lesson-heading h1{font-size:34px}.workspace{grid-template-columns:1fr;gap:28px}.reader #reading{min-height:0}.reader{max-width:720px}.laboratory{margin-bottom:0}.linked-views{grid-template-columns:1fr 1fr}.linked-views .object-graph{max-height:none}.lane .address-objects{grid-template-columns:repeat(4,minmax(0,1fr))}.view-tools{padding-bottom:15px}footer{flex-direction:column;gap:15px}.reader .evidence{padding-bottom:0}.reader details.notes{margin:0}.view-tools{scroll-margin-top:10px}}
@media(max-width:540px){body{font-size:14px}.mast .local{font-size:9px}.brand{font-size:31px;gap:12px}.brand span{font-size:8px;padding-left:12px}.overview{grid-template-columns:1fr;gap:30px;padding:34px 0}.hero-copy h1{font-size:43px}.hero-description{font-size:14px}.hero-figure{transform:none;padding:24px}.hero-figure h2{font-size:32px}.hero-meta{font-size:11px}.lesson-heading{padding:23px 0;align-items:end}.lesson-heading h1{font-size:32px}.lesson-heading .eyebrow{font-size:9px}.practice-jump{font-size:10px;white-space:normal;text-align:right;max-width:70px}.reader #reading{font-size:15px}.reader #reading h3{font-size:26px}.reader table{display:block;overflow-x:auto}.reader-top .text-button{font-size:11px}.lab-header{padding:21px 17px 17px}.lab-header h2{font-size:27px}.lab-tools,.challenge,.diagram,.legend,.prediction,.transport,.observation,.attempts,.boundaries,.repair-area{padding-left:16px;padding-right:16px}.challenge{font-size:14px}.lab-tools .text-button{font-size:10px}.segmented button{min-height:35px;font-size:11px;padding:5px 10px}.view-tools{padding:0 16px 15px;align-items:center}.view-tools>label{font-size:9px;gap:5px}.view-tools select{max-width:55px}.view-tools .segmented button{font-size:10px;padding:5px 7px}.linked-views{display:block}.linked-views[data-view=graph] .address-map{display:none}.linked-views[data-view=address] .object-graph{display:none}.linked-views .object-graph{min-height:230px}.compare{display:block}.compare>.lane+.lane{border-left:0;padding-left:0;border-top:1px solid var(--line-strong);margin-top:22px;padding-top:22px}.compare[data-lane=first]>.lane:nth-child(2),.compare[data-lane=second]>.lane:nth-child(1){display:none}.compare>.lane+.lane{border:0;padding-top:0;margin-top:0}.lane h3{font-size:23px}.lane .address-objects{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.lane .object-tile span{font-size:10px}.lane .object-tile small{font-size:9px}.lane .address-header{font-size:10px}.lane .object-graph{min-height:220px;max-height:280px}.lane-switch{display:flex!important;gap:6px;padding-bottom:15px}.lane-switch button{font-size:11px;flex:1}.lane-switch button[aria-pressed=true]{border-color:var(--rust);background:var(--rust-soft);color:var(--rust)}.transport{flex-wrap:wrap;gap:7px}.transport button{min-height:42px;padding:9px 11px}.transport #position{font-size:10px}.allocation-grid{gap:14px 7px}.allocation-grid .cell{min-height:72px}.cell small{font-size:9px}.metric-strip{gap:9px}.metric-strip strong{font-size:20px}.metric-strip span{font-size:9px}.prediction button{font-size:11px;min-height:42px;padding:9px 11px}.figure-header{font-size:9px}.import-area{margin-left:16px;margin-right:16px}.result{margin-left:16px;margin-right:16px}.bridge-cell{font-size:17px;padding-top:16px}.bridge-cell small{font-size:8px}.ruler-groups{font-size:9px}.bridge-note{font-size:11px}.benchmark-empty{padding:18px}.bar-row{grid-template-columns:72px 1fr 25px;font-size:10px;gap:8px}.object-graph .root-label{font-size:12px}.selection-note{font-size:10px}.object-tile{min-height:60px}.object-tile span{font-size:10px}}
.lane-switch{display:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.ruler-groups.pages.wide{grid-template-columns:1fr}.bar-track{width:100%;fill:var(--ink)}.bar-track.alternate{fill:var(--rust)}.plot-title{font-size:22px}
.object-graph .root-label{font-size:15px}@media(max-width:540px){.object-graph{max-height:none}.object-graph .root-label{font-size:16px}.object-graph text{font-size:19px}}
.comparison-note{font-size:11px;line-height:1.65;color:var(--muted);margin:0 0 20px;border-left:2px solid var(--line-strong);padding-left:12px}
@media(max-width:540px){.cell small{font-size:11px}.metric-strip span,.metric-strip small{font-size:11px}.figure-header,.figure-header strong{font-size:11px}.object-tile span,.lane .object-tile span{font-size:11px}.object-tile small,.lane .object-tile small{font-size:11px}.address-header,.lane .address-header,.linked-views .address-header{font-size:11px}.queue,.cache-box{font-size:11px}.queue span,.cache-box span{font-size:11px}.figure-legend{font-size:11px}.ruler-groups{font-size:11px}.bridge-cell small{font-size:11px}.comparison-note{font-size:12px}.legend{font-size:12px}}
.plot-label{font-size:16px}@media(max-width:540px){.cell small,.metric-strip span,.metric-strip small,.figure-header,.figure-header strong,.object-tile span,.lane .object-tile span,.object-tile small,.lane .object-tile small,.address-header,.lane .address-header,.linked-views .address-header,.queue,.cache-box,.queue span,.cache-box span,.figure-legend,.ruler-groups,.bridge-cell small{font-size:12px}.figure-header{flex-wrap:wrap}.bridge-ruler{overflow-x:auto}.bridge-cell{min-width:31px}}
.object-graph .edge{stroke:#6e7e71;color:#6e7e71}.object-graph circle{stroke:#6e7e71}.object-tile{border-color:#7b867a}.allocation-grid .cell.free{border-color:#7b867a}
.object-graph .node .root-label{fill:var(--rust)}

.object-graph .edge.edge-selected{stroke:var(--rust);color:var(--rust);stroke-width:2.5}

.commit-row{padding:0 24px 20px}.transport{scroll-margin-top:12px}@media(max-width:540px){.commit-row{padding:0 16px 16px}}

/* Keep orientation visible without competing with the current section. */
.lesson-intro{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 20px;border-left:2px solid var(--line-strong);padding-left:14px}.lesson-intro p+p{margin-top:8px}
.allocation-grid .cell.new strong,.allocation-grid .cell.new small{color:#fff}

.mask-example{margin-top:16px}.mask-objects{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mask-objects h4{font:14px var(--sans);margin:0 0 10px}.mask-objects h4 span{display:block;font-size:12px;font-weight:normal;color:var(--muted);margin-top:6px}.mask-words{display:grid;grid-template-columns:1fr 1fr;gap:5px}.mask-words>div{border:1px solid var(--line-strong);padding:12px 8px;background:var(--paper)}.mask-words small,.mask-words strong,.mask-words span{display:block}.mask-words small{font:12px var(--mono)}.mask-words strong{font:22px var(--serif);margin:12px 0}.mask-words span{font-size:12px;line-height:1.6;color:var(--muted)}.mask-words .mask-load{border:2px solid var(--rust);background:var(--rust-soft)}.mask-load strong{color:var(--rust)}.mask-result{padding:12px;border-bottom:1px solid var(--line-strong);font-size:14px!important;color:var(--ink)!important}@media(max-width:1150px){.mask-objects{grid-template-columns:1fr}}

.study-download{font-size:13px;line-height:1.7;padding:18px 0;border-top:1px solid var(--line-strong);max-width:900px}.study-download p+p{margin-top:8px;color:var(--muted)}

.reading-practice{margin:20px 0;padding:16px;border:1px solid var(--line-strong);border-radius:5px}.reading-practice label{font-size:13px;color:var(--ink)}.reading-practice button{font-size:12px;margin:10px 8px 0 0}.reading-practice [role=status]{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0}.reading-practice textarea[readonly]{background:var(--paper)}.reading-practice details{margin-top:14px}
