@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f4f3ed;--ink:#1d302c;--muted:#5d6c65;--line:#ced4cb;--green:#225e49;--accent:#d8f798;--board:#133d32;--warn:#86531c;--soft:#e7ebe1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.65}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}a{color:var(--green);text-underline-offset:3px}button{border:1px solid #abb9ad;border-radius:5px;padding:9px 15px;background:transparent;color:var(--ink);cursor:pointer;font-size:13px;font-weight:600}button:hover{background:#e1e8d8}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #92b95d;outline-offset:3px}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#164d3c}header{display:flex;align-items:center;justify-content:space-between;padding:22px max(5vw,22px);border-bottom:1px solid var(--line);gap:20px}header a{text-decoration:none}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:26px;letter-spacing:-1px}.brand span{font:11px 'DM Mono',monospace;letter-spacing:1px;border-left:1px solid var(--line);padding-left:12px}nav{display:flex;gap:26px;font-size:13px}main{max-width:1280px;margin:auto;padding:0 5vw}.intro{padding:65px 0 55px;border-bottom:1px solid var(--line);max-width:100%}.eyebrow{font:11px 'DM Mono',monospace;letter-spacing:1.6px;color:var(--green);margin:0 0 18px}h1{font-size:clamp(38px,5.8vw,70px);line-height:1.06;letter-spacing:-3px;font-weight:500;margin:0 0 25px}.lead{max-width:650px;font-size:18px;color:var(--muted)}.intro-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:30px;font:12px 'DM Mono',monospace}.intro-meta span::before{content:'●';color:var(--green);margin-right:8px}main>section{padding:52px 0;border-bottom:1px solid var(--line)}h2{font-size:30px;line-height:1.2;letter-spacing:-.8px;font-weight:500;margin:0 0 22px}h3{font-size:21px;line-height:1.35;font-weight:600;letter-spacing:-.4px;margin:0 0 14px}p{margin:0 0 17px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.section-head .eyebrow{margin-bottom:12px}.tag{font:11px 'DM Mono',monospace;padding:7px 10px;border:1px solid var(--line);border-radius:3px;white-space:nowrap}.scope{font-size:13px;color:var(--muted);max-width:920px}.lab-grid{display:grid;grid-template-columns:275px minmax(0,1fr);gap:30px;margin-top:30px}.controls{border-right:1px solid var(--line);padding-right:25px}.controls label,.time-controls>label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;margin-bottom:12px}input:not([type=checkbox]),select{width:100%;min-width:0;border:1px solid #b3bfb3;background:#fafbf6;padding:9px 10px;border-radius:4px;color:var(--ink);font-size:14px}input:not([type=checkbox]){font-family:'DM Mono',monospace;text-transform:uppercase}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button-row{display:flex;gap:7px;flex-wrap:wrap}#error{font-size:13px;color:#a23429;margin-top:6px}details{margin-top:18px;padding-top:13px;border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600;font-size:13px;margin-bottom:15px}fieldset{border:0;padding:0;margin:12px 0 17px}legend{font-size:11px;font-weight:600;margin-bottom:8px}.checks{display:flex;flex-wrap:wrap;gap:10px}.checks label,.controls .check,.time-controls .check{display:flex;flex-direction:row;align-items:center;gap:5px;margin:0;font-size:12px}.checks label{font-family:'DM Mono',monospace}.decode-strip{display:flex;gap:18px;flex-wrap:wrap;font:12px 'DM Mono',monospace;margin:0 0 14px;min-height:22px}.decode-strip strong{font-weight:500}.board{padding:22px;background:var(--board);color:#ecf4dc;border-radius:8px;box-shadow:inset 0 0 0 1px #326454}.board-heading,.board-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:10px 'DM Mono',monospace;color:#b6c7b6;letter-spacing:.4px}.board-heading{margin-bottom:18px}.bank{display:grid;grid-template-columns:57px repeat(8,minmax(0,1fr));gap:8px;align-items:center;margin-bottom:12px}.bank-label{font:10px 'DM Mono',monospace;line-height:1.5}.bank-label strong{display:block;font-size:15px;color:#eff8df}.chip{position:relative;background:#23322d;border:1px solid #526455;border-radius:3px;text-align:center;padding:9px 2px;font:10px 'DM Mono',monospace;min-height:46px;color:#a5b3a1}.chip::before,.chip::after{content:'';position:absolute;top:6px;bottom:6px;width:3px;background:repeating-linear-gradient(to bottom,#718775 0,#718775 3px,transparent 3px,transparent 7px)}.chip::before{left:-4px}.chip::after{right:-4px}.chip b{display:block;font-size:13px;font-weight:500;color:#e2edda}.bank.active .chip{background:#d8f798;color:#274030;border-color:#d8f798}.bank.active .chip b{color:#12332b}.bank.absent{opacity:.32}.board-footer{border-top:1px solid #45685a;padding-top:13px;margin-top:17px}.board-footer b{font-weight:400;color:#eaf0d8}.phase-head{display:flex;justify-content:space-between;align-items:baseline;margin-top:24px}.phase-head h3{font-size:18px;margin-bottom:7px}.phase-head span{font:12px 'DM Mono',monospace;color:var(--muted)}#phase-detail{font-size:13px;min-height:45px;color:var(--muted)}.signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.signal{font:11px 'DM Mono',monospace;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:8px 0;gap:7px}.signal b{font-weight:500}.low{color:var(--green)}.wave-wrap{margin:18px 0 10px;min-height:140px}#wave{width:100%;display:block;overflow:visible}#wave text{font:10px 'DM Mono',monospace;fill:var(--muted)}.result{border-left:3px solid var(--green);background:var(--soft);padding:12px 15px;font-size:13px}.examples{display:flex;gap:9px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.examples span{font-size:12px;color:var(--muted);margin-right:8px}.examples button{font-size:12px;padding:7px 10px}.retention{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:36px;border-top:1px solid var(--line);padding-top:30px}.retention h3{font-size:18px}.retention p{font-size:13px;color:var(--muted)}.time-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.time-controls button{font-size:12px}.time-controls>label{margin:0}.rows{display:grid;grid-template-columns:repeat(16,1fr);gap:3px;margin:14px 0}.rows button{padding:0;height:18px;min-width:0;border:0;background:#99b39a;font:9px 'DM Mono',monospace;border-radius:2px;color:#183f30}.rows button.expired{background:#b76349;color:#fff}.rows button.next{outline:2px solid var(--ink);outline-offset:1px}.legend{display:flex;flex-wrap:wrap;gap:13px;font-size:10px;color:var(--muted)}.legend i{display:inline-block;width:9px;height:9px;margin-right:4px}.fresh{background:#99b39a}.stale{background:#b76349}#time-status{font:12px 'DM Mono',monospace}#row-detail{font-size:11px;min-height:30px}.mapping summary{margin-bottom:10px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th,td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;font-weight:600;color:var(--muted)}td:first-child{font-family:'DM Mono',monospace}#map-warning{color:var(--warn);font-size:13px;margin-top:12px}.reading-grid{display:grid;grid-template-columns:170px minmax(0,1fr);gap:55px;margin-top:32px}.contents{display:flex;flex-direction:column;align-self:start;gap:14px;font-size:12px}.contents a{text-decoration:none;color:var(--muted)}article{max-width:820px;font-size:15px}article section{margin-bottom:45px}article p{color:#42564b}article strong{color:var(--ink)}article ol,article ul{padding-left:22px}article li{padding-left:5px;margin-bottom:14px;color:#42564b}.flow{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 10px;margin:20px 0;background:var(--soft);font:12px 'DM Mono',monospace;text-align:center}.flow b{color:#6b8b62}pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;background:var(--soft);font:12px/1.8 'DM Mono',monospace;margin:20px 0}code{font:12px 'DM Mono',monospace}.finding{border-left:3px solid #b88741;padding:17px 20px;background:#eee8d9;margin-top:25px;font-size:14px}.finding>strong{display:block;margin-bottom:12px}.finding p:last-child{margin:0}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;font-size:13px}.evidence-grid h3{font-size:18px;margin-top:20px}.evidence-grid ul{padding-left:18px}.evidence-grid li{margin-bottom:10px}.model-version{font:11px 'DM Mono',monospace;color:var(--muted);margin-top:25px}.test-row{display:grid;grid-template-columns:45px 1fr;gap:12px;border-bottom:1px solid var(--line);padding:15px 0;font-size:13px}.test-row b{font:11px 'DM Mono',monospace;color:var(--green)}.test-row small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.test-row.fail b{color:#b33c22}footer{max-width:1280px;margin:auto;padding:32px 5vw;display:flex;justify-content:space-between;gap:20px;font:11px 'DM Mono',monospace;color:var(--muted)}
@media(max-width:850px){main{padding:0 22px}.lab-grid{grid-template-columns:220px minmax(0,1fr);gap:20px}.controls{padding-right:18px}.board{padding:17px 12px}.bank{gap:6px;grid-template-columns:34px repeat(8,minmax(0,1fr))}.chip{font-size:9px}.board-heading{font-size:9px}.reading-grid{grid-template-columns:125px minmax(0,1fr);gap:30px}.signal-grid{grid-template-columns:repeat(2,1fr)}.tag{white-space:normal}}
@media(max-width:640px){header{padding:18px 20px;flex-direction:column;align-items:flex-start;gap:16px}nav{gap:21px;font-size:12px}.intro{padding:40px 0}h1{letter-spacing:-1.5px}.lead{font-size:16px}.intro-meta{font-size:10px;gap:16px}.section-head{align-items:flex-start;flex-direction:column;gap:0}.tag{margin-bottom:15px}h2{font-size:26px}.lab-grid{grid-template-columns:1fr}.controls{border-right:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:20px}.controls details{display:block}.board{padding:20px 13px}.bank{grid-template-columns:39px repeat(8,minmax(0,1fr));gap:7px}.retention,.evidence-grid{grid-template-columns:1fr;gap:26px}.reading-grid{grid-template-columns:1fr;gap:20px}.contents{flex-direction:row;flex-wrap:wrap;gap:12px}.reading-grid article{font-size:14px}.board-heading{font-size:9px}.decode-strip{gap:12px}.signal-grid{grid-template-columns:repeat(4,1fr)}.signal{font-size:10px}.chip{font-size:9px}.board-footer{font-size:9px}footer{flex-direction:column}.retention .rows button{height:22px}button{min-height:38px}.rows button{min-height:0}.checks label{min-height:35px}.check{min-height:32px}main>section{padding:38px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.version-note{font-size:13px;margin:23px 0 0;color:var(--muted)}.version-note strong{background:var(--accent);color:var(--ink);padding:4px 8px;border-radius:3px;margin-right:6px}header nav{flex-wrap:wrap}.small-note{font-size:12px!important;color:var(--muted);line-height:1.65}.controller-lab,.trigger-lab{margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}.controller-controls{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:15px;margin:22px 0}.controller-controls>label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.controller-lab .time-controls{margin:20px 0}.scenario-detail{font-size:13px;color:var(--muted);padding:16px 0;border-top:1px solid var(--line)}.state-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.state-grid>div{padding:13px 14px;background:var(--soft);border-radius:4px}.state-grid span{display:block;font:10px 'DM Mono',monospace;color:var(--muted);margin-bottom:10px}.state-grid strong{font:23px 'DM Mono',monospace}.arbitration-flow{margin-top:24px}.arbitration-flow>div{display:grid;grid-template-columns:1fr 1fr;gap:28px;width:100%;max-width:580px}.arbitration-flow>div>span{padding:12px;border:1px solid #bbc8b8;border-radius:4px}.controller-lab .retention{border-top:0;margin-top:16px;padding-top:16px}.event-scroll{max-height:340px;border:1px solid var(--line);border-radius:5px}.event-scroll th{position:sticky;top:0;background:var(--paper);white-space:nowrap}.event-scroll td{font-size:11px}.event-scroll th,.event-scroll td{padding:8px}.event-scroll td:last-child{min-width:240px}.bus-sample:empty{display:none}.bus-sample{background:#e8eadd;border:1px solid #c5cebb;border-radius:5px;padding:17px;margin:18px 0;font-size:12px}.bus-sample h4{font-size:14px;margin:0 0 10px}.bus-sample p{margin-bottom:8px}.bus-sample small{color:var(--muted);font-size:11px}.driver-grid{display:grid;grid-template-columns:repeat(4,1fr) 2fr;gap:9px;margin:12px 0}.driver-grid>div{background:var(--paper);padding:10px;border-radius:4px}.driver-grid span{display:block;font:10px 'DM Mono',monospace}.driver-grid strong{font:18px 'DM Mono',monospace;display:block;margin-top:4px}.bus-conflict{color:#9b3925;font-weight:600}.trigger-checks{grid-column:span 3;align-items:center;gap:16px}.trigger-history{margin:15px 0;font:12px/1.6 'DM Mono',monospace}.trigger-history p{padding:9px;border-bottom:1px solid var(--line);margin:0}button:disabled,input:disabled{opacity:.4;cursor:default}#manual-controls .button-row{margin:15px 0}#changes p{max-width:840px;font-size:14px;color:var(--muted)}
@media(max-width:850px){.controller-controls{grid-template-columns:1fr 1fr}.state-grid{grid-template-columns:repeat(3,1fr)}.trigger-checks{grid-column:span 1}.driver-grid{grid-template-columns:repeat(4,1fr)}.driver-grid .resolved{grid-column:span 4}}
@media(max-width:640px){.controller-controls{grid-template-columns:1fr 1fr;gap:14px}.controller-controls>label:first-child{grid-column:span 2}.state-grid{grid-template-columns:repeat(2,1fr)}.arbitration-flow>div{gap:10px;font-size:11px}.trigger-checks{grid-column:span 2}.version-note{line-height:2}.bus-sample{padding:12px}.controller-lab .section-head{gap:12px}.driver-grid{gap:6px}.driver-grid>div{padding:8px}.driver-grid strong{font-size:16px}.event-scroll{max-height:270px}}
.reading-grid>*{min-width:0}.walkthroughs ol{padding-left:22px;font-size:13px;color:var(--muted)}.walkthroughs li{margin-bottom:12px}.walkthroughs strong{color:var(--ink)}
