@font-face{font-family:Onest;src:url('./fonts/onest-latin-wght-normal.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--paper:#f7f6f1;--surface:#fffefb;--ink:#252d36;--muted:#59616b;--navy:#24455f;--line:#d5d7d4;--wash:#e9eef0;--good:#24583e;--bad:#884636;--attention:#725410;--body:Onest,system-ui,sans-serif;--serif:Georgia,'Times New Roman',serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 var(--body)}::selection{background:#cbdce7;color:#142f43}button,input,select,textarea{font:inherit;color:inherit;caret-color:var(--navy)}button,select{cursor:pointer}button,.button{border:1px solid var(--line);background:var(--surface);border-radius:5px;padding:8px 12px;text-decoration:none;line-height:1.4;display:inline-block}button:hover,.button:hover{background:var(--wash);border-color:var(--navy)}button.primary{background:var(--navy);color:white;border-color:var(--navy)}button:disabled{opacity:.55;cursor:wait}a{color:var(--navy);text-underline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--navy);outline-offset:3px}input,select,textarea{border:1px solid #aeb5b8;background:var(--surface);padding:9px 11px;border-radius:4px;min-width:0;width:100%}input[type=checkbox]{width:auto;accent-color:var(--navy)}h1,h2,h3{line-height:1.2;text-wrap:balance}h1{font:normal 38px/1.15 var(--serif);margin:0 0 18px}h2{font:normal 26px/1.25 var(--serif);margin:32px 0 12px}h3{font-size:17px;margin:22px 0 9px}p{margin:0 0 15px;max-width:75ch}small,.muted{color:var(--muted)}small{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;left:15px;top:-70px;z-index:20;background:var(--navy);color:#fff;padding:10px}.skip:focus{top:10px}
.masthead{display:flex;align-items:center;gap:30px;padding:22px 34px;border-bottom:1px solid var(--line)}.brand{color:var(--ink);display:flex;gap:16px;align-items:center;text-decoration:none;line-height:1.3;flex-shrink:0}.brand strong{font:normal 45px/1 var(--serif);letter-spacing:-.025em}.brand span{font-size:13px}.brand small{font-size:11px}#search-form{display:flex;gap:6px;max-width:580px;margin-left:auto;width:100%}#navigation{display:flex;gap:24px;padding:0 34px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--navy) var(--paper)}#navigation a{padding:15px 0 12px;text-decoration:none;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}#navigation a[aria-current=page]{color:var(--navy);border-color:var(--navy);font-weight:650}.edition-bar{display:flex;justify-content:space-between;gap:15px;padding:10px 34px;font-size:12px;background:#eeeee8;border-bottom:1px solid var(--line)}main{min-height:70vh}footer{padding:22px 34px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.loading,.error{padding:50px 34px}.error{color:var(--bad)}#notice{position:fixed;bottom:20px;right:20px;background:var(--navy);color:white;padding:10px 18px;border-radius:4px;display:none;z-index:20}
.reader-layout{display:grid;grid-template-columns:255px minmax(350px,1fr) 340px;max-width:1640px;margin:auto}.rail{padding:25px 22px;border-right:1px solid var(--line);min-width:0}.rail>summary{font-weight:600;list-style:none;margin-bottom:14px}.rail .field{margin-bottom:14px}.rail-list{max-height:65vh;overflow:auto;scrollbar-color:#a0acb4 var(--paper);scrollbar-width:thin;margin:10px -7px}.rail-list button{display:block;background:none;border:0;text-align:left;width:100%;padding:10px 7px;border-radius:2px;font-size:12px}.rail-list button strong{display:block;font-size:14px}.rail-list button[aria-current=true]{background:var(--wash);color:var(--navy)}.rail-list button:hover{background:var(--wash)}.reader-content{padding:38px 42px;min-width:0}.reader-content h1{font-size:54px;margin-bottom:7px}.reader-content .paragraph-title{font:normal 23px/1.3 var(--serif);margin-bottom:24px}.source-text{white-space:pre-wrap;overflow-wrap:anywhere;font:18px/1.85 var(--serif);max-width:72ch}.source-text mark{background:#dae5eb;border-bottom:1px solid var(--navy);color:inherit}.source-actions{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.rule-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-top:28px}.rule-buttons button{font-size:12px;padding:6px 9px}.rule-buttons button.selected{background:var(--navy);color:white;border-color:var(--navy)}.margin{padding:28px 24px;border-left:1px solid var(--line);min-width:0;background:#f0f1ec}.margin .sticky{position:sticky;top:22px;max-height:calc(100vh - 44px);overflow:auto;scrollbar-width:thin}.margin h2{font-size:22px;margin:0 0 15px}.margin h3{font-size:15px}.margin p{font-size:13px}.margin .verbal{white-space:pre-wrap;font-size:13px}.margin .code{font-size:11px}.margin blockquote{margin:15px 0;font:15px/1.6 var(--serif)}details{margin:18px 0}summary{cursor:pointer;line-height:1.5}summary:hover{color:var(--navy)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#eeefe9;padding:16px;font:12px/1.65 ui-monospace,SFMono-Regular,monospace;max-width:100%;overflow:auto}code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.88em;overflow-wrap:anywhere}.hash{font-size:11px;overflow-wrap:anywhere}.label{display:block;font-weight:550;font-size:13px;margin-bottom:6px}.tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.tools select{width:auto;max-width:100%}.eyeline{font-size:13px;color:var(--muted);margin-bottom:22px}.content{padding:38px 40px;max-width:1250px;margin:auto}.lead{font:19px/1.55 var(--serif);color:#3c4753}.ledger{border-collapse:collapse;width:100%;margin:20px 0;font-size:13px}.ledger th,.ledger td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.ledger th{font-weight:600}.ledger td:last-child,.ledger th:last-child{text-align:right}.table-scroll{overflow:auto}.empty{padding:24px 0;color:var(--muted)}.row-list{border-top:1px solid var(--line)}.row{display:block;padding:18px 0;border-bottom:1px solid var(--line)}.row h3{margin:0 0 8px}.row p{margin-bottom:8px}.row .tools{margin:10px 0 0}.count{font-variant-numeric:tabular-nums}.page-buttons{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:10px}
.case-layout{display:grid;grid-template-columns:255px minmax(0,1fr);max-width:1500px;margin:auto}.case-content{padding:38px 42px;min-width:0}.case-grid{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:35px}.fact-summary{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 28px}.answers{border-top:1px solid var(--line)}.answer{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:16px}.answer .answer-copy{flex:1;min-width:0}.answer h3{margin:0 0 7px;font-size:16px;line-height:1.5}.answer p{font-size:13px;margin-bottom:5px}.answer button{flex-shrink:0;font-size:12px}.status{display:inline-block;font-size:12px;font-weight:600;color:var(--navy);margin:0 0 8px}.status.established{color:var(--good)}.status.denied,.status.conflict{color:var(--bad)}.status.judgment{color:var(--attention)}.inspector{border-left:1px solid var(--line);padding-left:24px;min-width:0}.inspector h2{font-size:23px;margin-top:0}.inspector p,.inspector li{font-size:13px}.proof-step{padding:12px 0;border-bottom:1px solid var(--line)}.proof-step p{margin-bottom:7px}.facts-list{padding-left:18px}.facts-list li{margin-bottom:10px}.comparison{margin-top:28px}.comparison .ledger th:not(:first-child){width:30%}.comparison .changed{background:#e8eee9}.comparison td:last-child{text-align:left}.comparison-caption{font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid .field small{display:block;margin-top:5px}.calc-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.15fr);gap:44px;margin-top:25px}.calc-group{margin:0 0 26px;border:0;padding:0}.calc-group legend{font-weight:600;padding:0;margin-bottom:14px}.calc-answer{padding:18px 0;border-bottom:1px solid var(--line)}.calc-answer h3{margin:0 0 8px}.result-value{font:normal 28px/1.4 var(--serif);color:var(--navy);margin:7px 0}.timeline{padding-left:20px;border-left:1px solid var(--line);margin:18px 0}.timeline div{margin:12px 0;font-size:13px}.timeline time{font-variant-numeric:tabular-nums}.branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.branch-group h2{border-bottom:1px solid var(--navy);padding-bottom:12px}.branch{padding:18px 0;border-bottom:1px solid var(--line)}.branch h3{margin:0 0 8px}.branch p{font-size:13px}.dialogue{max-width:800px}.turn{padding:18px 0;border-bottom:1px solid var(--line)}.turn .role{font-size:12px;color:var(--muted);font-weight:600}.result-count{font-size:13px;color:var(--muted);margin:10px 0}.search-row{display:flex;gap:12px;align-items:center;margin:20px 0}.search-row input{flex:1}.search-row select{width:auto;max-width:250px}.release-facts{display:grid;grid-template-columns:180px 1fr;gap:10px 20px;font-size:13px}.release-facts dt{color:var(--muted)}.release-facts dd{margin:0;overflow-wrap:anywhere}.book-table td strong{font:normal 20px var(--serif)}
@media(min-width:1151px){.rail>summary{pointer-events:none}}@media(max-width:1150px){.reader-layout{grid-template-columns:220px minmax(0,1fr)}.reader-layout>.margin{grid-column:2;border-left:0;border-top:1px solid var(--line);padding:25px 35px}.margin .sticky{position:static;max-height:none}.case-grid{grid-template-columns:1fr}.inspector{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.case-layout{grid-template-columns:220px 1fr}.reader-content,.case-content{padding:30px}.masthead{gap:18px;padding:18px 24px}#navigation{padding:0 24px;gap:22px}.edition-bar{padding:10px 24px}}
@media(max-width:700px){.masthead{flex-wrap:wrap;padding:16px 18px;gap:14px}.brand{flex:1}.brand strong{font-size:37px}#search-form{order:3;max-width:none}.masthead>button{font-size:12px;padding:7px 9px}#navigation{padding:0 18px;gap:21px;font-size:13px}.edition-bar{padding:10px 18px}.edition-bar span{max-width:65%}.reader-layout,.case-layout{display:block}.rail{border-right:0;border-bottom:1px solid var(--line);padding:17px 18px}.rail>summary{margin-bottom:0}.rail[open]>summary{margin-bottom:16px}.rail-list{max-height:280px}.reader-content,.case-content,.content{padding:27px 20px}.reader-layout>.margin{padding:24px 20px}.reader-content h1{font-size:43px}.source-text{font-size:17px}.source-actions .button{font-size:12px}h1{font-size:31px}.lead{font-size:17px}.calc-layout,.branches{grid-template-columns:1fr;gap:20px}.form-grid{gap:14px}.form-grid input{font-size:16px}.search-row{flex-wrap:wrap}.search-row input{flex-basis:100%}.search-row select{max-width:100%}.ledger{font-size:12px}.ledger th,.ledger td{padding:10px 8px}.release-facts{grid-template-columns:1fr;gap:3px}.release-facts dd{margin-bottom:12px}.answer{flex-wrap:wrap}.answer button{padding:6px 9px}.answer .answer-copy{flex-basis:70%}.comparison .ledger{min-width:520px}footer{padding:20px;display:block}footer span{display:block;margin:5px 0}.content>h2{margin-top:28px}.case-content .tools select{width:100%}}
@media(prefers-reduced-motion:no-preference){.source-text mark{animation:mark-in .3s ease-out}@keyframes mark-in{from{background:#f7f6f1}to{background:#dae5eb}}} @media print{.masthead,#navigation,.rail,.edition-bar,footer,#notice,.tools,button{display:none}.reader-layout,.case-layout,.case-grid,.calc-layout{display:block}.reader-content,.case-content,.content,.margin{padding:15px;border:0}.margin .sticky{position:static;max-height:none}body{background:white}.source-text{font-size:13px}}
@media(max-width:700px){#navigation{flex-wrap:wrap;gap:0 18px;overflow:visible}}
.lab-workspace-tools{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lab-layout h2{margin-top:0}.lab-layout .calc-group{margin-top:24px}.lab-layout .field small{display:block;margin-top:5px}.lab-proposal{border-top:1px solid var(--line);padding-top:18px}.lab-proof{padding:0;list-style:none}.lab-proof .proof-step{padding-left:calc(var(--proof-depth)*12px)}.lab-proof strong{font-size:13px}.lab-proof p{font-size:12px;margin:7px 0}.lab-diagnosis{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}.lab-diagnosis p{font-size:13px}.lab-diagnosis details>summary{font-size:13px}.lab-layout .calc-answer>details{margin-bottom:0}#lab-message:empty{display:none}#lab-comparison .ledger th:not(:first-child){width:30%}#lab-comparison .ledger td{text-align:left}#lab-comparison caption{text-align:left;color:var(--muted);margin:12px 0}.lab-layout .form-grid select{width:100%}@media(max-width:700px){.lab-workspace-tools{gap:0}.lab-workspace-tools .tools{margin:12px 0}.lab-layout .form-grid{grid-template-columns:1fr}.lab-layout .calc-group{margin-top:20px}.lab-layout{margin-top:28px}#lab-comparison .ledger{min-width:0}#lab-comparison .ledger th:first-child{width:40%}}@media print{.lab-workspace-tools,#lab-form,.lab-proposal{display:none}}
#case-lab .ledger{font-variant-numeric:tabular-nums}
.lab-explorer{margin:28px 0 38px;padding-bottom:26px;border-bottom:1px solid var(--line);min-width:0}.explorer-heading{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.explorer-heading h2{margin:0}.explorer-heading .tools{margin:0}.explorer-controls{display:flex;align-items:end;gap:24px;margin:22px 0 12px;flex-wrap:wrap}.explorer-controls>div{max-width:280px;flex:1}.explorer-caption{font-size:13px;color:var(--muted);max-width:75ch;margin:14px 0}.lab-explorer svg{display:block;width:100%;overflow:visible}.lab-explorer svg text{fill:var(--ink);font:inherit}.lab-timeline-chart{margin:22px 0 12px}.timeline-axis,.terrain-axis{stroke:var(--muted);stroke-width:1}.timeline-grid{stroke:var(--line);stroke-width:1}.timeline-point{cursor:pointer;touch-action:none}.timeline-point circle,.timeline-point rect{fill:var(--surface);stroke:var(--navy);stroke-width:2}.timeline-point.answer rect{fill:var(--navy)}.timeline-point:hover circle,.timeline-point:focus circle{fill:var(--navy)}.timeline-point:focus{outline:2px solid var(--navy);outline-offset:5px}.timeline-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.timeline-summary h3{font-size:15px;margin:0 0 12px}.timeline-date{display:flex;align-items:center;gap:16px;justify-content:space-between;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left;padding:10px 0;font-size:13px}.timeline-date time{font-variant-numeric:tabular-nums}.timeline-move{max-width:560px;margin-top:24px}.timeline-move output{margin-left:10px;font-weight:400;font-variant-numeric:tabular-nums}.timeline-move input[type=range],.terrain-controls input[type=range]{padding:0;accent-color:var(--navy);cursor:ew-resize}.timeline-move p{margin:8px 0}.proof-network{position:relative;margin:28px 0}.proof-edges{position:absolute;inset:0;height:100%;pointer-events:none}.proof-edges path{stroke:var(--line);stroke-width:1.5;fill:none}.proof-edges path.active-edge{stroke:var(--navy)}.proof-layers{position:relative;display:flex;gap:28px;align-items:stretch}.proof-layer{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;gap:16px}.proof-node{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;min-height:110px;font-size:13px;overflow-wrap:anywhere;padding:14px 12px}.proof-node small{font-size:11px;color:var(--muted)}.proof-node strong{font-weight:550;font-variant-numeric:tabular-nums}.proof-node.in-branch{border-color:var(--navy)}.proof-node[aria-pressed=true]{background:var(--navy);color:var(--surface)}.proof-node[aria-pressed=true] small{color:var(--surface)}.proof-comparison.changed{color:var(--attention)}.proof-inspection{padding-top:18px;border-top:1px solid var(--line);max-width:75ch}.proof-inspection h3{font-size:16px;margin:0 0 10px}.proof-inspection p{font-size:13px;margin-bottom:10px}.map-controls{display:grid;grid-template-columns:minmax(150px,1.25fr) 1fr 1fr auto;gap:18px;align-items:end;margin-top:20px}.map-controls .tools{margin:0}.map-legend{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:12px;margin:20px 0}.map-legend span{display:inline-flex;gap:6px;align-items:center}.map-legend i{width:18px;height:14px;background:var(--navy);opacity:var(--roll-opacity)}.outcome-grid{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums;margin-top:18px}.outcome-grid caption{text-align:left;color:var(--muted);margin-bottom:12px}.outcome-grid th{font-weight:500;text-align:center;padding:8px 5px;white-space:nowrap}.outcome-grid td{padding:3px;min-width:42px}.outcome-grid button{position:relative;isolation:isolate;width:100%;border:0;border-radius:0;min-height:38px;font-size:13px;padding:8px 5px;background:transparent}.outcome-grid button:before{content:'';position:absolute;inset:0;background:var(--navy);opacity:var(--roll-opacity);z-index:-1}.outcome-grid button[aria-pressed=true]{outline:2px solid var(--navy);outline-offset:1px}.outcome-grid button:not(:disabled):hover{outline:1px solid var(--navy);outline-offset:1px}.outcome-grid button:disabled{opacity:1;color:var(--muted)}#map-inspection{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}#map-inspection h3{font-size:18px;margin:0 0 12px}#map-inspection p{font-size:13px}#map-progress{font-size:13px;font-variant-numeric:tabular-nums;margin:16px 0}.terrain-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:20px 0}.terrain-chart{touch-action:none;cursor:grab}.terrain-chart:active{cursor:grabbing}.terrain-floor{fill:var(--wash);stroke:var(--line);stroke-width:1}.terrain-column{opacity:.38;cursor:pointer}.terrain-column.in-slice{opacity:1}.terrain-side{fill:var(--navy);fill-opacity:.3;stroke:var(--line);stroke-width:.5}.terrain-top{fill:var(--navy);fill-opacity:var(--roll-opacity);stroke:var(--navy);stroke-width:.7}.terrain-column.selected .terrain-top{stroke:var(--ink);stroke-width:2}
@media(max-width:900px){.map-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.terrain-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.explorer-heading{align-items:start;gap:14px}.explorer-heading h2{font-size:25px}.explorer-heading .tools{gap:7px}.explorer-heading button{font-size:12px;padding:8px 10px}.explorer-controls{gap:14px}.explorer-controls>div{max-width:none;flex-basis:100%}.timeline-summary{gap:20px}.timeline-date{align-items:start;flex-direction:column;gap:3px}.timeline-move output{display:block;margin:5px 0}.proof-layers{flex-direction:column;gap:28px}.proof-layer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.proof-layer:has(>.proof-node:only-child){grid-template-columns:1fr}.proof-node{min-height:95px}.map-controls{gap:14px}.map-controls input{font-size:16px}.map-controls .tools{grid-column:1/-1}.terrain-controls{gap:14px}.outcome-grid td{min-width:44px}.outcome-grid button{min-height:44px}.lab-explorer{margin-bottom:28px}}
@media(prefers-reduced-motion:no-preference){.proof-edges path{transition:stroke .18s ease-out}.proof-node{transition:background-color .18s ease-out,border-color .18s ease-out}}
@media print{.lab-explorer .tools,.explorer-controls,.timeline-move,.map-controls,.terrain-controls{display:none}.terrain-column{opacity:1}}
.timeline-point .timeline-hit{opacity:0;pointer-events:all}
.map-scroll-hint{display:none}.terrain-chart{max-width:800px;margin:0 auto}.terrain-column{opacity:.72}.terrain-side{fill-opacity:.45;stroke:var(--navy);stroke-opacity:.4}@media(max-width:700px){.map-scroll-hint{display:block;margin:12px 0 0;color:var(--muted)}}

footer{flex-wrap:wrap}footer .analytics-note{flex-basis:100%;margin:0;font-size:11px;line-height:1.5}
