@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{--bg:#101312;--panel:#171b19;--ink:#f3f4ee;--muted:#a4afa8;--line:#343e38;--mint:#a1edcd;--yellow:#e8df8a;--purple:#c4b3e7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif;letter-spacing:0}button,a{touch-action:manipulation}button,a,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit;border:1px solid var(--line);background:transparent;padding:10px 14px;border-radius:4px}button:hover,a:hover{color:var(--mint)}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:4px}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 32px;gap:30px;background:var(--bg);position:sticky;top:0;z-index:10}.brand{font-weight:700;font-size:25px;display:flex;align-items:center;gap:4px}.brand>span:last-child{color:var(--mint)}.mark{font-size:29px;color:var(--mint);margin-right:12px;position:relative}.mark span{font-size:10px;position:absolute;bottom:5px;right:-4px}.phase,.eyebrow,.tag,.mono,.aside-bottom,#deckbar{font:12px 'IBM Plex Mono',monospace}.phase{color:var(--muted)}.controls{margin-left:auto;display:flex;gap:5px}.controls button{font-size:12px;border-color:transparent}.controls button[aria-pressed=true]{background:var(--mint);color:#101312}.controls .icon{font-size:20px;padding:5px 12px;border-color:var(--line)}.shell{display:grid;grid-template-columns:220px 1fr}aside{position:sticky;top:76px;height:calc(100dvh - 76px);padding:38px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column}.eyebrow{color:var(--mint);text-transform:uppercase;margin-bottom:20px}nav{display:grid;gap:7px}nav a{display:flex;gap:14px;padding:13px 10px;font-size:14px;color:var(--muted);border-left:2px solid transparent}nav a span{font:11px 'IBM Plex Mono';padding-top:2px}nav a.active{border-left-color:var(--mint);background:#1b2621;color:var(--ink)}.aside-bottom{margin-top:auto;color:var(--muted);line-height:1.7}.aside-bottom a{display:block;margin-top:22px}.dot{display:inline-block;width:6px;height:6px;background:var(--yellow);border-radius:50%;margin-right:8px}main{min-width:0}.slide{padding:56px 6%;border-bottom:1px solid var(--line);scroll-margin-top:76px;min-height:650px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.index{font:12px 'IBM Plex Mono';color:var(--muted)}h1{font-size:58px;line-height:1.03;font-weight:600;margin:16px 0 25px;max-width:850px}h2{font-size:39px;line-height:1.12;font-weight:500;max-width:800px;margin:10px 0 24px}h3{font-size:20px;font-weight:500;margin:0 0 12px}p{line-height:1.6;color:var(--muted);max-width:780px;font-size:16px}strong{color:var(--ink)}.lead{font-size:20px;max-width:730px}.accent{color:var(--mint)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 18px;border:1px solid var(--line);border-radius:4px;font-size:14px}.primary{background:var(--mint);color:#101312}.primary:hover{background:#c0f4df;color:#101312}.strip{display:flex;border-block:1px solid var(--line);margin-top:40px;padding:20px 0;gap:40px;flex-wrap:wrap}.strip div{display:grid;gap:8px}.strip b{font-size:16px;font-weight:500}.strip small{color:var(--muted);font:11px 'IBM Plex Mono'}.tag{display:inline-block;padding:6px 9px;color:var(--yellow);border:1px solid #655e35;border-radius:3px}.demo{border:1px solid var(--line);border-radius:6px;margin-top:30px;overflow:hidden;background:var(--panel)}.demo-top{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;border-bottom:1px solid var(--line);gap:12px}.tabs{display:flex;gap:5px;padding:10px 20px;border-bottom:1px solid var(--line);overflow:auto}.tabs button{white-space:nowrap;font-size:13px;border-color:transparent}.tabs button[aria-selected=true]{color:var(--mint);border-bottom:2px solid var(--mint);border-radius:0}.demo-body{padding:24px;min-height:290px}.criteria{display:grid;grid-template-columns:1.4fr repeat(3,1fr);font-size:13px}.criteria>div{border-bottom:1px solid var(--line);padding:14px 7px;line-height:1.5}.criteria .th{font:11px 'IBM Plex Mono';color:var(--muted)}.good{color:var(--mint)}.warn{color:var(--yellow)}.review-note{border-left:2px solid var(--yellow);padding:5px 20px;margin-top:24px}.review-note p{font-size:14px;margin:6px 0}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:36px 0}.flow article{border-top:1px solid var(--mint);padding-top:20px}.flow .mono{color:var(--mint);display:block;margin-bottom:22px}.flow p{font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:35px 0}.statement{font-size:25px;line-height:1.4;color:var(--ink);border-left:3px solid var(--purple);padding-left:25px}.ledger{width:100%;border-collapse:collapse;margin:25px 0}.ledger td{border-top:1px solid var(--line);padding:20px 0;vertical-align:top;line-height:1.5}.ledger td:first-child{width:32%;padding-right:22px;color:var(--ink)}.ledger td:last-child{color:var(--muted)}.ledger th{text-align:left;color:var(--mint);font:12px 'IBM Plex Mono';padding:15px 0}.note{font:12px/1.6 'IBM Plex Mono';color:var(--muted)}.big-question{font-size:32px;line-height:1.3;color:var(--ink)}canvas{width:100%;height:190px;display:block}.network{border-block:1px solid var(--line);margin:26px 0}.network-labels{display:flex;justify-content:space-around;font:11px 'IBM Plex Mono';color:var(--muted);padding-bottom:18px}.choice{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.choice button[aria-pressed=true]{background:var(--mint);color:#101312}.hidden{display:none!important}#deckbar{display:none}body.present aside{display:none}body.present .shell{display:block}body.present .slide{display:none;min-height:calc(100dvh - 76px);padding-bottom:100px}body.present .slide.current{display:block}body.present #deckbar{display:flex;position:fixed;bottom:20px;left:50%;transform:translateX(-50%);align-items:center;gap:18px;padding:8px;background:var(--bg);border:1px solid var(--line);z-index:20;white-space:nowrap}body.present main{max-width:1250px;margin:auto}@media(min-width:1500px){.slide{padding-inline:9%}}@media(max-width:800px){header{padding:0 16px;gap:10px;height:66px}.brand{font-size:20px}.phase{display:none}.controls button{padding:9px 7px}.controls .icon{padding:5px 8px}.shell{display:block}aside{position:sticky;top:66px;height:auto;padding:0;border-right:0;background:var(--bg);z-index:9}aside>.eyebrow,.aside-bottom{display:none}nav{display:flex;overflow:auto;gap:0;border-bottom:1px solid var(--line)}nav a{white-space:nowrap;padding:13px;font-size:12px}nav a span{display:none}.slide{padding:34px 22px;min-height:auto;scroll-margin-top:111px}h1{font-size:40px}h2{font-size:30px}.lead{font-size:18px}.flow{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:20px}.strip{gap:24px}.criteria{font-size:11px;grid-template-columns:1.2fr repeat(3,1fr)}.demo-body{padding:15px}.demo-top{padding:14px;font-size:12px}.criteria>div{padding:11px 3px}.ledger td:first-child{width:37%}.ledger{font-size:14px}.big-question{font-size:25px}.network-labels{font-size:9px}body.present .slide{min-height:calc(100dvh - 66px)}}@media print{header,aside,#deckbar,.actions,.choice{display:none!important}.shell{display:block}.slide,body.present .slide{display:block!important;break-after:page;min-height:0;padding:25px;border:0}body{background:white;color:#111}p,.note,.index,.ledger td:last-child{color:#444}h1{font-size:38px}h2{font-size:28px}.accent,.eyebrow,strong{color:#173e30}.demo{background:#f6f8f6}.slide:last-child{break-after:auto}canvas{display:none}}
