.chapter a{font-size:12px;color:var(--sage)}.desk{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#fffdf7;margin-bottom:50px}.desk-art{position:relative;overflow:hidden;min-height:430px;background:#e9e2d3}.desk-art>img{width:100%;height:100%;position:absolute;object-fit:cover;opacity:.82}.desk-note{position:absolute;left:25px;top:25px;background:var(--paper);padding:16px 22px;max-width:85%;z-index:2}.desk-note span,.eyebrow,.section-heading>span{font:11px 'IBM Plex Mono',monospace;color:var(--accent)}.desk-note p{margin:8px 0 0;font-size:16px}.desk #model{position:absolute;width:42%;height:48%;bottom:0;left:3%}.desk canvas,.desk .fallback{width:100%;height:100%;object-fit:contain}.demo{padding:34px}.demo h2,.work h2,.exchange h2{font-weight:500;letter-spacing:-.025em;font-size:29px;margin:12px 0}.demo p{font-size:14px}.demo ol{padding-left:23px}.demo li{padding:8px;border-left:3px solid transparent}.demo li.active{border-color:var(--sage);background:#e7eddf}#demo-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:22px;border:1px solid var(--sage)}#demo-grid span{aspect-ratio:1;border-right:1px solid var(--line);position:relative}#demo-grid span:last-child{border:0}#demo-grid span.cursor:after{content:'↑';position:absolute;bottom:-24px;left:40%;color:var(--accent)}#demo-grid span.green{background:#54785b}#demo-status{margin-top:30px;min-height:43px}.demo button{font-size:13px;margin:4px 4px 0 0}.section-heading{max-width:830px}.legend{display:flex;gap:22px;flex-wrap:wrap;margin:25px 0 16px}.legend b{border:1px solid var(--line);padding:6px 10px;margin-right:6px;font-family:'IBM Plex Mono',monospace}.reading-example{padding:18px;background:#e7ecdf;font-size:14px}.paper-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-top:30px}.blank-grid{display:grid;grid-template-columns:repeat(12,1fr);border-top:1px solid #8d9487;border-left:1px solid #8d9487;background:white}.blank-grid>span{aspect-ratio:1;border-bottom:1px solid #8d9487;border-right:1px solid #8d9487;position:relative}.blank-grid>span small{font-size:10px;position:absolute;left:3px;top:1px;color:#747b6c}.blank-grid>span.following{background:#e7ecdf}.caption,.paper-layout p{font-size:12px;color:#667062}.paper-layout h3{margin-top:0}.paper-layout ol{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:7px}.paper-layout ol button{width:100%;text-align:left;font:13px 'IBM Plex Mono',monospace;min-height:48px;padding:9px}.paper-layout ol button[aria-pressed=true]{background:var(--sage);color:white}.paper-layout ol button small{font-size:10px;display:block;margin-bottom:3px;opacity:.8}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 50px}.actions a{padding:12px 17px;border-radius:4px;text-decoration:none;background:var(--accent);color:white}.exchange{border-block:1px solid var(--line);padding:32px 0}.exchange p{max-width:840px}.check{display:flex;gap:12px;align-items:flex-start;padding:18px;background:#e7ecdf}.check input{width:22px;height:22px;flex-shrink:0;accent-color:var(--sage)}#closing{margin-top:25px}#closing a{color:var(--accent)}#answer{max-width:330px;margin:25px 0}#answer .blank-grid>span.green{background:#54785b}#answer .blank-grid>span.brown{background:#87614a}#print-sheet{display:none}
@media(max-width:900px){.paper-layout ol{grid-template-columns:1fr}.desk-art{min-height:480px}.demo{padding:25px}.paper-layout{gap:25px}}
@media(max-width:650px){.desk{grid-template-columns:1fr}.desk-art{min-height:310px}.desk-note{top:18px;left:18px;padding:12px 15px}.desk-note p{font-size:14px}.paper-layout{grid-template-columns:1fr}.paper-layout ol{grid-template-columns:1fr 1fr}.paper-layout ol button{font-size:11px;padding:7px}.desk #model{height:56%}.demo h2,.work h2,.exchange h2{font-size:25px}.work p,.exchange p{font-size:14px}}
@page{size:A4;margin:13mm}
@media print{body{background:white;font:10px/1.5 'IBM Plex Sans',Arial,sans-serif;color:#222}header,main,.skip{display:none!important}#print-sheet{display:block;width:184mm;margin:0;padding:0}#print-sheet h1{font-size:26px;margin:6px 0 0}#print-sheet h2{font-size:17px;margin:0 0 10px;color:#7a2021}#print-sheet h3{font-size:13px;margin:16px 0 5px}#print-sheet p{margin:5px 0 10px}.sheet-brand{font-size:8px;letter-spacing:1px}.sheet-first,.sheet-second{display:flex;gap:12mm;align-items:start}.sheet-first .blank-grid{width:84mm;height:84mm;flex-shrink:0}.sheet-first ol{margin:0;padding:0;list-style:none;font:11px/7mm 'IBM Plex Mono',monospace}.sheet-second .blank-grid{grid-template-columns:repeat(8,1fr);width:56mm;height:56mm;flex-shrink:0}.sheet-second #own-code{flex:1}.code-line{height:7mm;border-bottom:1px solid #aaa;font-size:10px}.blank-grid>span small{font:7px Arial;color:#777}#print-sheet footer{font-size:8px;color:#555;border-top:1px solid #aaa;padding-top:8px;margin-top:14px}}
