@font-face{font-family:Caveat;font-weight:700;font-display:swap;src:url(/fonts/caveat-700.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/source-serif-4-latin-400-normal.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/source-serif-4-latin-400-italic.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/source-serif-4-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2")}:root{--paper:#fbfaf6;--card:#fff;--ink:#1b1b19;--text:#2a2a27;--muted:#66665e;--line:#e4e1d6;--line-strong:#cfcbbf;--accent:#2a62de;--accent-dark:#1f4fbd;--accent-soft:#eef3fd;--risk:#d3382c;--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--display:Caveat,"Segoe Print",cursive;--wrap:940px;--measure:700px;--matters:var(--accent);--aside:var(--muted);--hand:var(--serif)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{background:var(--paper);color:var(--text);font-family:var(--serif);margin:0;font-size:1.075rem;line-height:1.7;overflow-x:clip}a{color:var(--accent-dark);text-underline-offset:3px;text-decoration:underline #2a62de59}a:hover{text-decoration-color:var(--accent)}img{max-width:100%;height:auto}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}.wrap.wide{max-width:1164px}p{margin:0 0 1rem}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.top .name{font-family:var(--display);color:var(--ink);font-size:2rem;font-weight:700;line-height:1;text-decoration:none;display:inline-block}.top nav{flex-wrap:wrap;gap:22px;display:flex}.top nav a{font-family:var(--sans);color:var(--muted);padding:6px 0;font-size:.92rem;font-weight:500;text-decoration:none}.top nav a:hover{color:var(--ink)}.top nav a[aria-current=page]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}.foot{border-top:1px solid var(--line);font-family:var(--sans);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin:88px 0 40px;padding-top:20px;font-size:.86rem;display:flex}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--ink);text-decoration:underline}h1,h2,h3{color:var(--ink);margin:0}h1{font-family:var(--display);font-size:clamp(3rem,9vw,4.8rem);font-weight:700;line-height:1}h2{font-family:var(--serif);margin:0 0 18px;font-size:clamp(1.5rem,4.2vw,1.85rem);font-weight:600;line-height:1.25}h2:after{content:"";background:var(--accent);border-radius:2px;width:34px;height:3px;margin-top:9px;display:block}h3{font-family:var(--sans);margin:0 0 6px;font-size:1.02rem;font-weight:600;line-height:1.35}.under{width:min(240px,60%);height:12px;margin:2px 0 14px;display:block}.eyebrow{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:.74rem;font-weight:600}.lede{color:var(--ink);max-width:34em;margin:6px 0 12px;font-size:clamp(1.2rem,3vw,1.42rem);line-height:1.5}.aside,.muted{color:var(--muted)}.sec{margin-top:60px}.hero{max-width:760px;padding:48px 0 8px}@media (width<=600px){.hero{padding-top:28px}.top nav{gap:14px}.top nav a{font-size:.88rem}}.cta{flex-wrap:wrap;gap:12px;margin:22px 0 0;display:flex}.btn{font-family:var(--sans);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:10px;padding:.75em 1.3em;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-block}.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff}.btn.ghost{color:var(--accent-dark);background:0 0}.btn.ghost:hover{background:var(--accent-soft);color:var(--accent-dark)}.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:34px 0 0;display:grid}.proof>div{border-left:1px solid var(--line);padding:18px 18px 16px}.proof>div:first-child{border-left:0;padding-left:0}.proof b{font-family:var(--display);color:var(--ink);font-size:2.9rem;font-weight:700;line-height:1;display:block}.proof span{font-family:var(--sans);color:var(--muted);margin-top:4px;font-size:.82rem;line-height:1.35;display:block}@media (width<=640px){.proof{grid-template-columns:1fr 1fr}.proof>div:nth-child(3){border-left:0;padding-left:0}.proof>div:nth-child(n+3){border-top:1px solid var(--line)}}.box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.box.matters{background:var(--accent-soft);border-color:#2a62de66}a.box{color:inherit;text-decoration:none;display:block}a.box:hover{border-color:var(--accent)}.box p:last-child{margin-bottom:0}.row3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.grid2{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.cards{gap:16px;display:grid}@media (width<=720px){.row3,.grid2{grid-template-columns:1fr}}.kind{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.78rem}.post h3{font-size:1.15rem}.post p{color:var(--text);font-size:1rem}.more{font-family:var(--sans);font-size:.9rem;font-weight:600}.take{border-left:3px solid var(--accent);color:var(--ink);margin:52px 0 0;padding:4px 0 4px 18px;font-size:1.25rem;font-style:italic;line-height:1.5}.band{background:var(--ink);color:#edebe3;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:64px;padding:30px 28px;display:flex}.band p{color:#edebe3;max-width:30em;margin:0;font-size:1.2rem;line-height:1.45}.band .btn{color:var(--ink);background:#fff;border-color:#fff}.band .btn:hover{background:var(--accent-soft)}.line{margin:0;padding:0;list-style:none}.line li{border-bottom:1px solid var(--line);grid-template-columns:11rem 1fr;gap:16px;padding:13px 0;display:grid}.line li:first-child{border-top:1px solid var(--line)}.line li span:first-child{font-family:var(--sans);color:var(--ink);font-size:.9rem;font-weight:600}@media (width<=600px){.line li{grid-template-columns:1fr;gap:2px}}.kpis{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.kpi b{font-family:var(--display);color:var(--ink);font-size:2.7rem;font-weight:700;line-height:1;display:block}.kpi span{font-family:var(--sans);color:var(--muted);margin-top:6px;font-size:.84rem;line-height:1.35;display:block}@media (width<=520px){.kpis{grid-template-columns:repeat(2,1fr)}}.shifts{gap:14px;display:grid}.shift h3{margin-bottom:12px}.bars{gap:7px;display:grid}.bar{min-width:max-content;height:32px;font-family:var(--sans);border-radius:7px;align-items:center;padding:0 12px;font-size:.84rem;font-weight:500;display:flex}.bar.before{color:var(--muted);background:#e7e4da}.bar.after{background:var(--accent);color:#fff;font-weight:600}.shift .meta{color:var(--muted);margin-top:10px;font-size:.92rem}.chip{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-dark);background:var(--accent-soft);border-radius:999px;margin-bottom:8px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-block}.mapcard{padding:14px 14px 10px}.mapcard .worldmap{width:100%;height:auto;display:block}.legend{font-family:var(--sans);color:var(--muted);flex-wrap:wrap;gap:22px;margin:8px 6px 4px;font-size:.82rem;display:flex}.legend .sw{vertical-align:-1px;border-radius:3px;width:18px;height:12px;margin-right:7px;display:inline-block}.legend .sw.lived{background:var(--accent)}.legend .sw.client{background:#c9d8f6}details.aside{margin:4px 6px 6px;font-size:.92rem}details.aside summary{cursor:pointer;font-family:var(--sans)}.article{max-width:var(--measure)}.article h1{font-size:clamp(2.3rem,6vw,3.6rem);line-height:1.05}.article h2{margin:48px 0 14px;font-size:1.65rem}.article h3{font-family:var(--serif);margin:28px 0 8px;font-size:1.25rem}.article p,.article li{font-size:1.1rem;line-height:1.75}.article blockquote{border-left:3px solid var(--accent);color:var(--ink);margin:24px 0;padding:6px 0 6px 20px}.article blockquote p{margin:0 0 .8rem}.article hr{border:0;border-top:1px solid var(--line);margin:36px 0}.article img{border:1px solid var(--line);background:#fff;border-radius:8px;margin:22px auto 8px;display:block}.post-video{margin:26px 0 34px}.post-video video{aspect-ratio:16/9;border:1px solid var(--line);background:#111;border-radius:8px;width:100%;display:block}.post-video figcaption{font-family:var(--sans);color:var(--muted);text-align:center;margin-top:8px;font-size:.85rem}.article table{border-collapse:collapse;width:100%;font-family:var(--sans);margin:20px 0;font-size:.88rem;line-height:1.5;display:block;overflow-x:auto}.article th,.article td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 11px}.article th{background:#f3f1e8;font-weight:600}.article code{font-family:ui-monospace,Menlo,monospace;font-size:.9em}.article pre.algo{border:1px solid var(--line);white-space:pre;background:#f3f1e8;border-radius:8px;margin:14px 0 24px;padding:14px 18px;font-size:.86rem;line-height:1.6;overflow-x:auto}.article ol,.article ul{padding-left:1.4rem}.byline{font-family:var(--sans);color:var(--muted);font-size:.88rem}a.box.feature{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:26px;padding:16px;display:grid}.feature img{border:1px solid var(--line);border-radius:8px;width:100%;display:block}.feature h3{font-family:var(--serif);margin:2px 0 10px;font-size:1.7rem;line-height:1.2}.feature p{font-size:1rem}@media (width<=720px){a.box.feature{grid-template-columns:1fr;gap:14px}}.series-list{gap:18px;margin-top:22px;display:grid}.series{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:30px;padding:24px;display:grid}.series header h3{font-family:var(--serif);margin:2px 0 4px;font-size:1.55rem;line-height:1.2}.series .tagline{color:var(--ink);font-style:italic}.series header p{font-size:.98rem}@media (width<=720px){.series{grid-template-columns:1fr;gap:18px;padding:20px}}.progress{gap:5px;margin:14px 0 6px;display:flex}.progress span{background:var(--line);border-radius:3px;flex:1;height:6px}.progress span.on{background:var(--accent)}.tree{margin:0;padding:0;list-style:none;position:relative}.tree:before{content:"";background:var(--line);width:2px;position:absolute;top:18px;bottom:18px;left:15px}.node{grid-template-columns:32px 1fr;gap:14px;padding:0 0 18px;display:grid;position:relative}.node:last-child{padding-bottom:0}.dot{z-index:1;width:32px;height:32px;font-family:var(--sans);background:var(--card);border:2px solid var(--line-strong);color:var(--muted);border-radius:50%;place-items:center;font-size:.82rem;font-weight:600;display:grid;position:relative}.node.live .dot{background:var(--accent);border-color:var(--accent);color:#fff}.node.here .dot{box-shadow:0 0 0 4px var(--accent-soft)}.leaf{padding-top:4px}.leaf .kind{margin-bottom:2px}.leaf-title{font-family:var(--serif);color:var(--ink);font-size:1.1rem;font-weight:600;line-height:1.3}a.leaf-title{color:var(--accent-dark);text-decoration:none}a.leaf-title:hover{text-decoration:underline}.node.soon .leaf-title{color:var(--muted);font-weight:400}.leaf p{margin:4px 0 0;font-size:.95rem;line-height:1.55}.leaf .gate{font-family:var(--sans);color:var(--muted);font-size:.82rem}.tree.compact .node{padding-bottom:10px}.tree.compact .dot{width:26px;height:26px;font-size:.74rem}.tree.compact:before{left:12px}.tree.compact .node{grid-template-columns:26px 1fr;gap:12px}.tree.compact .leaf{padding-top:1px}.tree.compact .leaf-title{font-size:1rem}.tree.compact .gate,.tree.compact .node.soon .kind{display:none}.tree.compact .node.soon .leaf{padding-top:3px}.tree.compact .node.soon .leaf-title:after{content:" · coming";font-family:var(--sans);color:var(--muted);font-size:.78rem}.article .tree{padding:0}.article .tree li{font-size:1rem;line-height:1.5}.index{border-top:1px solid var(--line);margin:18px 0 0;padding:0;list-style:none}.index li{border-bottom:1px solid var(--line);grid-template-columns:8.5rem 1fr auto;align-items:baseline;gap:16px;padding:12px 0;display:grid}.index .when,.index .where{font-family:var(--sans);color:var(--muted);font-size:.84rem}.index a{color:var(--ink);font-weight:600;text-decoration:none}.index a:hover{color:var(--accent-dark);text-decoration:underline}@media (width<=600px){.index li{grid-template-columns:1fr;gap:2px}}.in-series{margin:26px 0 30px;padding:18px 20px}.in-series .head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.in-series .head a{font-family:var(--serif);color:var(--ink);font-size:1.15rem;font-weight:600;text-decoration:none}.in-series .head a:hover{color:var(--accent-dark)}.in-series .tree{margin-top:4px}.series-next{margin-top:40px}.share{border-top:1px solid var(--line);margin-top:56px;padding-top:24px}.share h2{margin-bottom:6px;font-size:1.3rem}.share h2:after{display:none}.share-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip-link{font-family:var(--sans);border:1px solid var(--line-strong);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:.5em 1.05em;font-size:.86rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-block}.chip-link:hover,.chip-link:focus-visible{border-color:var(--accent);color:var(--accent-dark);outline:none}.chip-link[hidden]{display:none}.share-note{min-height:1.4em;margin:6px 0 0;font-size:.9rem}.comments{margin-top:48px}.comments h2{margin-top:0}form{gap:18px;max-width:620px;margin-top:22px;display:grid}label{font-family:var(--sans);color:var(--ink);gap:5px;font-size:.9rem;font-weight:600;display:grid}label small{color:var(--muted);font-size:.84rem;font-weight:400;line-height:1.35}input,textarea{font:inherit;font-family:var(--serif);border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-radius:8px;width:100%;padding:11px 13px;font-size:1.02rem}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}textarea{resize:vertical;min-height:150px}.hp{position:absolute;left:-9999px}.w-hero{grid-template-columns:minmax(0,330px) minmax(0,1fr);align-items:center;gap:44px;padding:22px 0 0;display:grid}.w-intro .lede{font-size:1.28rem}.w-areas{grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"stage card""buttons buttons";align-items:stretch;gap:14px 20px;display:grid}.w-stage{border-bottom:1px solid var(--line);grid-area:stage;min-height:270px;position:relative}.w-stage canvas{opacity:0;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.w-stage.ready canvas,.w-stage.ready .w-labels{opacity:1}.w-labels{pointer-events:none;opacity:0;transition:opacity .6s;position:absolute;inset:0}.w-leaders{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.w-leaders line{stroke:var(--ink);stroke-opacity:.35;stroke-width:1px}.w-leaders line.on{stroke:var(--accent);stroke-opacity:1}.w-label{text-align:center;font-family:var(--sans);line-height:1.25;position:absolute;top:6px;transform:translate(-50%)}.w-label b{color:var(--text);font-size:.76rem;font-weight:600;display:block}.w-label span{color:var(--muted);font-size:.72rem;display:block}.w-label.on b,.w-label.on span{color:var(--accent-dark)}.w-label.hot b{color:var(--ink)}.w-label.hot span{color:var(--text)}.w-stage canvas{touch-action:pan-y;-webkit-tap-highlight-color:transparent}@media (prefers-reduced-motion:reduce){.w-stage canvas,.w-labels,.w-still{transition:none}}.w-still{object-fit:contain;width:100%;height:100%;transition:opacity .6s;position:absolute;inset:0}.w-stage.ready .w-still{opacity:0}.w-card{flex-direction:column;grid-area:card;padding:18px 20px;display:flex}.w-card h3{font-family:var(--serif);margin:0 0 2px;font-size:1.3rem;line-height:1.2}.w-card .byline{margin:0 0 10px}.w-stats{gap:26px;margin:4px 0 8px;display:flex}.w-stats div{margin:0}.w-stats dt{font-family:var(--display);color:var(--ink);font-size:2.9rem;font-weight:700;line-height:1}.w-stats dd{font-family:var(--sans);color:var(--muted);margin:2px 0 0;font-size:.82rem}.w-built{color:var(--ink);margin:0 0 6px;font-size:1rem}.w-hint{font-family:var(--sans);color:var(--muted);margin:auto 0 0;font-size:.82rem}.w-links{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.w-links li{border-bottom:1px solid var(--line);padding:9px 0;line-height:1.35}.w-links a{font-family:var(--sans);color:var(--ink);font-size:.92rem;font-weight:600;text-decoration:none;display:block}.w-links a:hover{color:var(--accent-dark);text-decoration:underline}.w-links span{font-family:var(--sans);color:var(--muted);margin-top:2px;font-size:.78rem;display:block}.w-buttons{flex-wrap:wrap;grid-area:buttons;gap:8px;display:flex}.w-buttons button{font-family:var(--sans);color:var(--text);background:var(--card);border:1px solid var(--line-strong);cursor:pointer;border-radius:8px;padding:.5em .85em;font-size:.86rem;font-weight:500;line-height:1.2}.w-buttons button span{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:4px}.w-buttons button:hover{border-color:var(--ink);color:var(--ink)}.w-buttons button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.w-buttons button[aria-pressed=true] span{color:var(--accent-dark)}.w-buttons button:focus-visible,.w-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.w-sec{margin-top:34px}h2.eyebrow{line-height:1.4}h2.eyebrow:after{display:none}.w-latest:focus-visible,.w-stack a.box:focus-visible,.w-index a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a.box.feature.w-latest{grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:28px;padding:12px 26px 12px 12px}.w-latest h3{margin:2px 0 8px;font-size:1.55rem}.w-latest p{max-width:40em;margin-bottom:10px;font-size:.98rem;line-height:1.6}.w-latest .chip{margin-bottom:6px}@media (width<=720px){a.box.feature.w-latest{grid-template-columns:1fr;gap:14px;padding:14px}}.w-head{flex-wrap:wrap;align-items:baseline;gap:18px;display:flex}.w-head .eyebrow{margin:0}.w-sub{margin:0;font-size:.92rem;line-height:1.5}.w-series-list{gap:14px;margin-top:12px;display:grid}.w-series{padding:16px 24px 20px}.w-series header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:16px;padding-bottom:12px;display:flex}.w-series header h3{font-family:var(--serif);margin:2px 0;font-size:1.4rem;line-height:1.2}.w-series .tagline{color:var(--ink);margin:0;font-size:1rem;font-style:italic}.w-progress{text-align:right;flex:0 0 200px}.w-progress .progress{margin:0 0 4px}.w-progress .byline{margin:0}.w-steps{grid-template-columns:repeat(var(--n),minmax(0,240px));gap:20px;margin:0;padding:0;list-style:none;display:grid}.w-step{line-height:1.35;position:relative}.w-step .dot{margin-bottom:10px}.w-step:not(:last-child):after{content:"";background:var(--line);height:2px;position:absolute;top:15px;left:40px;right:-12px}.w-step.live:not(:last-child):after{background:linear-gradient(90deg,var(--accent),var(--line))}.w-step.live .dot{background:var(--accent);border-color:var(--accent);color:#fff}.w-step .kind{margin-bottom:3px}.w-step .leaf-title{font-size:1rem;display:block}.w-step.soon .leaf-title{color:var(--muted);font-weight:400}.w-step .gate{font-family:var(--sans);color:var(--muted);margin:4px 0 0;font-size:.78rem;line-height:1.4}.w-step a.leaf-title:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.w-tree{display:none}@media (width<=1000px){.w-steps.many{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.w-steps.many .w-step:nth-child(3n):after{display:none}}@media (width<=720px){.w-steps{display:none}.w-tree{display:block}.w-series header{flex-direction:column;align-items:stretch;gap:12px}.w-progress{text-align:left;flex:none}.w-series{padding:18px}}.w-pair{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:28px;display:grid}.w-stack{gap:12px;display:grid}.w-stack .post p{font-size:.98rem;line-height:1.6}.w-index{margin-top:0}.w-index li{grid-template-columns:6.6rem minmax(0,1fr) auto;gap:14px;padding:11px 0}.w-index .where{margin-top:2px;display:block}.w-index .area{font-family:var(--sans);color:var(--muted);white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:.78rem}@media (width<=900px){.w-pair{grid-template-columns:1fr;gap:34px}}@media (width<=600px){.w-index li{grid-template-columns:1fr;gap:2px}.w-index .area{justify-self:start;margin-top:4px}}@media (width<=1000px){.w-hero{grid-template-columns:1fr;gap:24px}}@media (width<=720px){.w-hero{padding-top:24px}.w-areas{grid-template-columns:1fr;grid-template-areas:"stage""buttons""card"}.w-stage{min-height:260px}}
