@font-face{font-family:STIX Two Text;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/stix-two-text-latin-400-normal-Dm29J5Fl.woff2) format("woff2"),url(/assets/stix-two-text-latin-400-normal-rLRKR-Xb.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}:root{--bg:#193730;--panel:#23453C;--text:#E4EDE5;--line:#7C9B8D;--accent:#B5B98A;font-family:IBM Plex Sans,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;color:var(--text);background:transparent;border:1px solid var(--line);padding:11px 17px;min-height:44px;border-radius:2px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,.button:hover{background:var(--panel);border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.primary,.button{background:var(--accent);color:var(--bg);border-color:var(--accent)}.primary:hover,.button:hover{background:var(--text);color:var(--bg)}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:STIX Two Text,serif;font-weight:400}h1{font-size:46px;line-height:1.1;letter-spacing:-1.4px}h2{font-size:29px;line-height:1.15}h3{font-size:24px}p{line-height:1.5}.mono,.eyebrow{font-family:IBM Plex Mono,monospace;font-size:12px}.eyebrow{margin-bottom:13px}.quiet{border-color:transparent;padding:8px 10px}.quiet:hover{border-color:var(--line)}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:26px;padding:0 40px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:STIX Two Text,serif;font-size:31px}.edition{border-left:1px solid var(--line);padding-left:26px;font-size:14px}nav{margin-left:auto;display:flex;gap:22px;align-items:center;font-size:14px}nav a{text-decoration:none}main{max-width:1600px;margin:auto;padding:0 40px}.title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:34px 0 29px}.intro-note{font-size:15px;max-width:390px}.plan-toolbar{display:flex;align-items:end;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;gap:20px}.plan-name{font-size:12px;display:flex;align-items:center;gap:14px;white-space:nowrap}.plan-name input{font-size:16px;width:230px;border:0;border-bottom:1px solid var(--line);padding:8px 0;background:transparent;color:var(--text);border-radius:0}.file-tools{display:flex;gap:8px}.map-work{display:grid;grid-template-columns:minmax(0,1fr) 318px;border:1px solid var(--line)}.map-panel{min-width:0;background:var(--panel)}.map-top{display:flex;justify-content:space-between;padding:16px 20px;gap:12px;border-bottom:1px solid var(--line);font-size:14px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px}.map-surface{position:relative;padding:0 8px}#map{width:100%;display:block;max-height:510px;aspect-ratio:850/510}.street{stroke:var(--line);stroke-width:1;opacity:.55}.building{fill:var(--bg);stroke:var(--line);stroke-width:1;stroke-opacity:.22}.route-path{stroke:var(--accent);stroke-width:4;fill:none;stroke-linejoin:round}.finished-path{stroke:var(--text);stroke-width:5;fill:none}.map-node{cursor:pointer}.map-node circle{fill:var(--panel);stroke:var(--accent);stroke-width:1.7}.map-node.selected circle{fill:var(--accent)}.map-node text{fill:var(--text);font-family:IBM Plex Sans;font-size:15px}.map-node.selected .node-num{fill:var(--bg)}.map-node:hover circle{stroke:var(--text);stroke-width:3}.map-node .node-num{font-family:IBM Plex Mono;font-size:13px;dominant-baseline:middle;text-anchor:middle}.map-label{font:11px IBM Plex Mono;fill:var(--text);opacity:.65}.base-label{fill:var(--text);font:13px IBM Plex Sans}.map-key{display:flex;gap:24px;font-size:12px;padding:0 15px 20px}.legend-line{width:21px;height:3px;background:var(--accent);display:inline-block;vertical-align:middle;margin-right:8px}.map-stats{display:flex;align-items:center;border-top:1px solid var(--line)}.map-stats>div{min-width:110px;padding:17px 24px;border-right:1px solid var(--line)}.map-stats span{font-family:STIX Two Text;font-size:32px;display:block;line-height:1}.map-stats small{font-size:12px;display:block;margin-top:7px}.map-stats p{font-size:12px;margin-left:auto;padding:12px 18px}.task-rail{border-left:1px solid var(--line);padding:20px;background:var(--bg)}.rail-heading{display:flex;align-items:center;justify-content:space-between}.rail-heading h2{font-size:25px}.rail-note{font-size:13px;margin:8px 0 19px}.task-choice{width:100%;text-align:left;justify-content:flex-start;padding:11px 0;border:0;border-top:1px solid var(--line);border-radius:0;gap:11px}.task-choice .check{border:1px solid var(--line);width:18px;height:18px;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-size:13px}.task-choice[aria-pressed=true] .check{background:var(--accent);color:var(--bg)}.task-choice strong{font-weight:400;font-size:14px}.task-choice small{display:block;font-size:12px;margin-top:3px}.route-order{margin-top:22px}.route-order .eyebrow{margin-bottom:8px}.route-order ol{padding:0;margin:0;list-style:none}.route-order li{display:flex;gap:8px;align-items:center;min-height:32px;font-size:12px}.route-order li span{flex:1}.route-order button{min-height:28px;padding:3px 7px;font-size:12px}.crew-title{display:flex;align-items:end;justify-content:space-between;margin:30px 0 19px;gap:20px}.crew-title .eyebrow{margin-bottom:7px}.crew-title>span{font-size:13px}.crew-band{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.member{padding:21px 24px;min-width:0;border-right:1px solid var(--line)}.member:last-child{border-right:0}.member-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}.member-initial{border:1px solid var(--accent);width:34px;height:34px;display:grid;place-items:center;font-family:IBM Plex Mono;font-size:14px}.member input,.member select{background:transparent;color:var(--text);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:7px 0;min-width:0;max-width:100%}.member input[type=text]{width:140px;font-size:21px;font-family:STIX Two Text}.member .used{margin-left:auto;font-size:12px;white-space:nowrap}.member-fields{display:grid;grid-template-columns:1fr 85px;gap:20px}.member label{display:flex;flex-direction:column;font-size:12px;gap:4px}.member select,.member input[type=number]{font-size:14px;width:100%}option{background:var(--bg);color:var(--text)}.budget-bar{margin-top:19px;height:3px;background:var(--panel)}.budget-bar span{display:block;height:3px;background:var(--accent);max-width:100%}.assignments{font-size:12px;margin-top:13px;display:grid;gap:8px}.assignment-row{display:flex;align-items:center;gap:8px}.assignment-row span{flex:1}.assignment-row select{font-size:12px;width:86px;padding:2px 0}.simulation{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:30px 0 20px}.sim-copy{max-width:740px}.sim-copy h2{font-size:29px}.sim-copy>p:not(.eyebrow){font-size:14px;margin-top:10px}.sim-copy ul{padding-left:18px;margin:10px 0 0;font-size:14px}.sim-copy ul:empty{display:none}.sim-controls{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:240px}.sim-controls span{font-size:12px}#notice{font-size:13px;padding:14px 0;min-height:48px}.credits{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:65px 0;border-bottom:1px solid var(--line);margin-top:15px}.credits h2{font-size:38px;line-height:1.15;margin-bottom:21px}.credits>div>p:not(.eyebrow){font-size:16px;max-width:500px}.credit-actions>div{display:grid;grid-template-columns:25px 1fr;gap:5px 15px;margin-bottom:19px}.credit-actions h3{font-size:23px}.credit-actions p{grid-column:2;font-size:14px}.credit-actions .mono{padding-top:4px}.credit-actions button{margin-top:10px}.credit-actions small{display:block;font-size:12px;margin-top:15px}.press{display:flex;justify-content:space-between;align-items:center;padding:39px 0;gap:20px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 40px;border-top:1px solid var(--line);font-size:12px}dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);padding:40px;max-width:520px;width:calc(100% - 32px)}dialog::backdrop{background:#193730d9}dialog h2{font-size:36px;margin-bottom:18px}dialog p{font-size:15px;margin-bottom:16px}.modal-close{position:absolute;right:9px;top:7px;padding:5px 14px;font-size:25px;border:0}#modal-copy{margin-bottom:25px}.noscript{padding:40px}#intro{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:10;display:flex;flex-direction:column;padding:28px 40px}.intro-top,.intro-bottom{display:flex;align-items:center;justify-content:space-between;font-size:13px}.intro-top{border-bottom:1px solid var(--line);padding-bottom:18px}.intro-bottom{border-top:1px solid var(--line);padding-top:16px}.intro-stage{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:0}.intro-stage svg{width:min(680px,80vw);height:min(45vh,330px);color:var(--accent)}.intro-grid{opacity:0;animation:grid-in 8s ease both}.intro-points{animation:point-in 2s ease both}.intro-vector{fill:none;stroke:var(--accent);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 3s 2s forwards}.intro-nodes{fill:var(--bg);stroke:var(--accent);stroke-width:2;opacity:0;animation:node-in 3s 4s forwards}.baton{opacity:0;animation:baton-in 3s 4s}.intro-captions{height:130px;text-align:center;position:relative;width:100%}.caption{position:absolute;inset:15px 0 auto;font-family:STIX Two Text;font-size:29px;opacity:0}.one{animation:caption 2s both}.two{animation:caption 2.5s 2s both}.three{animation:caption 2.5s 4.5s both}.four{animation:reveal 1s 7s forwards}.four h1{font-size:60px;letter-spacing:-1px}.four p{font:15px IBM Plex Sans;margin-top:9px}#intro[hidden]{display:none}.intro-stage svg{animation:compact 2s 7s forwards}@keyframes grid-in{0%,20%{opacity:0}35%,75%{opacity:.4}to{opacity:0}}@keyframes point-in{0%{opacity:0}to{opacity:1}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes node-in{to{opacity:1}}@keyframes baton-in{0%,to{opacity:0}10%,90%{opacity:1}}@keyframes caption{0%{opacity:0;transform:translateY(10px)}20%,80%{opacity:1;transform:translateY(0)}to{opacity:0}}@keyframes reveal{to{opacity:1}}@keyframes compact{to{transform:scale(.7);margin-bottom:-35px}}.reduced .intro-stage *{animation:none!important}.reduced .intro-grid,.reduced .intro-points,.reduced .intro-vector,.reduced .intro-nodes,.reduced .four{opacity:1;stroke-dashoffset:0}.reduced .one,.reduced .two,.reduced .three,.reduced .baton{display:none}.reduced .four{position:static}.reduced .intro-captions{height:auto}.reduced .intro-grid{opacity:.4}@media(min-width:1450px){.map-work{grid-template-columns:minmax(0,1fr) 345px}}@media(max-width:1100px){header{padding:0 24px}.edition{display:none}main{padding:0 24px}.title-row{display:block}.intro-note{margin-top:14px}.map-work{grid-template-columns:minmax(0,1fr) 285px}.map-top .mono{font-size:10px}.map-stats>div{min-width:75px;padding:16px}.map-stats p{font-size:11px}.member{padding:18px}.credits{gap:50px}.map-key{gap:13px}.file-tools{gap:3px}.file-tools button{font-size:13px;padding:9px 12px}}@media(max-width:760px){header{height:76px;padding:0 18px;gap:10px}.brand{font-size:27px}nav{gap:5px}nav a{display:none}nav button{font-size:12px}main{padding:0 18px}h1{font-size:36px;letter-spacing:-.7px}.title-row{padding:27px 0 23px}.intro-note{font-size:14px}.plan-toolbar{display:block}.plan-name{justify-content:space-between}.plan-name input{width:65%}.file-tools{margin-top:16px;flex-wrap:wrap;justify-content:space-between}.file-tools button{font-size:13px}.map-work{display:block}.map-top{padding:13px;font-size:13px;flex-wrap:wrap;gap:6px}.map-top .mono{font-size:11px}.map-surface{padding:0}#map{min-height:255px}.map-key{font-size:10px;gap:13px;padding:0 11px 15px;flex-wrap:wrap}.map-stats>div{flex:1;min-width:0;padding:14px}.map-stats span{font-size:28px}.map-stats p{display:none}.task-rail{border-left:0;border-top:1px solid var(--line);padding:18px}.task-choice strong{font-size:15px}.task-choice small{font-size:13px}.rail-note{font-size:14px}.route-order li{font-size:14px;min-height:42px}.route-order button{min-height:36px;min-width:36px}.crew-title{display:block}.crew-title>span{display:block;margin-top:10px}.crew-title h2{font-size:27px}.crew-band{display:block}.member{border-right:0;border-bottom:1px solid var(--line);padding:22px}.member:last-child{border-bottom:0}.member-fields{grid-template-columns:1fr 100px}.member label,.member .used,.assignments{font-size:13px}.member input[type=text]{font-size:24px}.assignment-row select{font-size:14px;width:100px}.simulation{display:block}.sim-controls{margin-top:24px;align-items:stretch}.sim-controls span{text-align:center}.sim-copy h2{font-size:27px}.credits{display:block;padding:45px 0}.credits h2{font-size:33px}.credit-actions{margin-top:30px}.press{align-items:flex-start;flex-direction:column;padding:30px 0}footer{padding:20px 18px;flex-wrap:wrap;gap:10px}footer>span:nth-child(2){width:100%;order:3}#intro{padding:18px}.intro-top,.intro-bottom{font-size:11px;gap:12px}.intro-top button,.intro-bottom button{font-size:12px;padding:10px}.intro-stage svg{width:100%}.caption{font-size:25px}.four h1{font-size:47px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.intro-stage *{animation:none!important}}@media(max-width:760px){.map-node text:not(.node-num){display:none}.map-node .node-num{font-size:28px}.map-node circle{r:25px}.map-label{display:none}.base-label{font-size:24px}.map-key{font-size:12px}.file-tools{display:grid;grid-template-columns:1fr 1fr}.file-tools button{justify-content:center}#map{min-height:230px}}
