:root{--paper:#f5f2e9;--paper-white:#fbfaf6;--ink:#18211d;--ink-muted:#5f665f;--rule:#b9b7ae;--sourced:#d9ddd5;--inferred:#e7e1d4;--precinct:#bfc9bf;--solar:#f2c230;--home:#c8472d;--shaded:#45534d;--go:#2f6b4f;--serif:"Newsreader", "Iowan Old Style", "Palatino", Georgia, serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.45}body{overflow-x:hidden}.container{width:min(100% - 48px,1440px);margin:0 auto}header.masthead{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:baseline;padding:20px 0 10px;display:flex}.mcp-label{color:var(--ink-muted);border:1px solid var(--rule);white-space:nowrap;border-radius:2px;padding:3px 8px;font-size:12px}.mcp-label.on{color:var(--ink);border-color:var(--ink)}.mcp-label.on:before{content:"";background:var(--go);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}header.masthead h1{font-family:var(--serif);letter-spacing:.02em;margin:0;font-size:32px;font-weight:500}header.masthead .masthead-sub{color:var(--ink-muted);margin-top:2px;font-size:12px}header.masthead .index{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:13px}.question{font-family:var(--serif);text-wrap:balance;max-width:26ch;margin:40px 0 32px;font-size:clamp(38px,5vw,64px);font-weight:400;line-height:1}.lede{font-family:var(--serif);max-width:66ch;color:var(--ink);margin:0 0 24px;font-size:19px;line-height:1.5}.workbench{grid-template-columns:repeat(12,1fr);gap:20px;margin:0 0 48px;display:grid}.canvas-col{grid-column:span 8}.rail{flex-direction:column;grid-column:span 4;gap:16px;display:flex}.canvas{aspect-ratio:4/3;background:var(--paper-white);border:1px solid var(--rule);width:100%;position:relative}.canvas canvas{width:100%;height:100%;display:block}.canvas .edge{color:var(--ink-muted);background:#fbfaf6cc;padding:2px 6px;font-size:12px;position:absolute;bottom:8px;left:8px}.canvas .attribution{color:var(--ink-muted);background:#fbfaf6cc;padding:1px 5px;font-size:10px;position:absolute;bottom:8px;right:8px}.toolbar{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}button,select,input{font-family:var(--sans);border:1px solid var(--ink);background:var(--paper-white);min-height:44px;color:var(--ink);border-radius:2px;padding:0 14px;font-size:14px}button.primary{background:var(--ink);color:var(--paper-white)}button.confirm{background:var(--go);color:#fff;border-color:var(--go)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--ink);outline-offset:3px}button[disabled]{opacity:.5}label{color:var(--ink-muted);margin:8px 0 4px;font-size:13px;display:block}.field{flex-wrap:wrap;gap:8px;display:flex}.rail .field+button.primary,.rail .coverage{margin-top:20px}.rail details{margin-top:16px}.rail details+.toolbar,.rail .run-row{margin-top:20px}.rail .surveys{border-top:1px dashed var(--rule);padding-top:8px}.rail .surveys td{color:var(--ink-muted)}.rail .run-row+.status{margin-top:12px}.field select,.field input{flex:140px;min-width:0;max-width:100%}.rail,.rail>section,.canvas-col{min-width:0}section.chapter{border-top:1px solid var(--rule);padding:16px 0}section.chapter h2{font-family:var(--serif);margin:0 0 8px;font-size:26px;font-weight:400}.numbers{font-variant-numeric:tabular-nums;grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.numbers div span{color:var(--ink-muted);font-size:12px;display:block}.numbers div strong{font-size:22px;font-weight:500}.status{color:var(--ink-muted);min-height:24px;padding:8px 0;font-size:14px}.status.error{color:var(--home)}.legend{color:var(--ink-muted);align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.legend .ramp{background:linear-gradient(90deg,#183f5a,#2b8c86,#e3c946,#c8472d);width:160px;height:10px}details summary{cursor:pointer;color:var(--ink-muted);font-size:13px}table.evidence{border-collapse:collapse;width:100%;font-size:12px}table.evidence td{border-top:1px solid var(--rule);vertical-align:top;padding:4px 6px}.checks{grid-template-columns:1fr 1fr;gap:4px 12px;font-size:13px;display:grid}.checks label{color:var(--ink);align-items:center;gap:8px;margin:0;display:flex}.checks input{width:18px;height:18px;min-height:0}.confirm-sentence{font-family:var(--serif);font-size:18px}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=1100px){.canvas-col{grid-column:span 12}.rail{grid-column:span 12;grid-template-columns:1fr 1fr;display:grid}.container{width:min(100% - 32px,1440px)}}@media (width<=640px){.container{width:min(100% - 20px,1440px)}.workbench{gap:12px}.rail,.numbers,.checks{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.study-card{border-top:1px solid var(--ink);padding-top:8px}.study-line{font-family:var(--serif);font-size:20px}.study-sub{color:var(--ink-muted);margin:2px 0 10px;font-size:13px}.study-meta{color:var(--ink-muted);font-variant-numeric:tabular-nums;font-size:12px}.slot-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.slot-grid button[aria-pressed=true],.toolbar button[aria-pressed=true]{background:var(--ink);color:var(--paper-white)}.colophon{border-top:1px solid var(--ink);margin-top:48px;padding:24px 0 40px}.colophon-brand{font-family:var(--serif);letter-spacing:.04em;font-size:22px}.colophon-line{font-family:var(--serif);color:var(--ink-muted);margin:4px 0 12px;font-size:16px}.colophon-link{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.colophon-link:hover{text-decoration-thickness:2px}.steps{align-items:center;gap:8px;display:flex}.step-name{border-left:1px solid var(--rule);color:var(--ink);margin-left:8px;padding-left:12px}.step-arrow{min-height:28px;padding:0 8px;font-size:14px;line-height:1}table.evidence th{text-align:left;color:var(--ink-muted);border-bottom:1px solid var(--ink);padding:4px 6px;font-size:12px;font-weight:500}table.rooms td:not(:first-child),table.rooms th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}section.chapter h3{font-family:var(--serif);margin:16px 0 6px;font-size:20px;font-weight:400}section.chapter details summary{font-family:var(--serif);color:var(--ink);font-size:22px}ul.limits{max-width:70ch;padding-left:18px;font-size:14px;line-height:1.5}.projects{margin:0 0 24px}.step-question{text-wrap:nowrap;white-space:nowrap;text-overflow:ellipsis;max-width:none;margin:40px 0 24px;scroll-margin-top:32px;font-size:clamp(28px,3.2vw,44px);overflow:hidden}@media (width<=720px){.step-question{white-space:normal;text-wrap:balance}}.project-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.project{text-align:left;background:var(--paper-white);border:1px solid var(--rule);border-radius:2px;flex-direction:column;align-items:stretch;min-height:0;padding:0;display:flex;overflow:hidden}.project-art{aspect-ratio:4/3;background-color:var(--inferred);mix-blend-mode:multiply;background-image:repeating-linear-gradient(135deg,#0000 0 6px,#18211d0f 6px 7px);background-position:50%;background-size:cover;display:block}.project.live .project-art{background-color:var(--paper-white)}.project-name{font-family:var(--serif);color:var(--ink);padding:8px 10px 0;font-size:17px}.project-meta{color:var(--ink-muted);padding:2px 10px 0;font-size:11px}.project-state{color:var(--ink-muted);padding:4px 10px 10px;font-size:11px}.project.live{border-color:var(--ink)}.project.live .project-state{color:var(--home)}.project.live[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--home)}.project[disabled]{opacity:.55;filter:grayscale();cursor:not-allowed}table.coverage{margin-top:14px}table.coverage td:first-child{color:var(--ink-muted);width:34%}@media (width<=1100px){.project-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.project-grid{grid-template-columns:repeat(2,1fr)}.mcp-label{display:none}}.view-controls{flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}.control-group{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.control-label{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.06em;min-width:56px;font-size:11px}.project.live:hover .project-art{mix-blend-mode:normal}
