:root{--paper:#faf1df;--ink:#142332;--blue:#0067df;--orange:#f87103;--mint:#8de0b0;--asphalt:#374451;--white:#fefcf4;--line:#1e3246;--display:Impact,"Arial Black",sans-serif;--body:Arial,sans-serif;--mono:"Courier New",monospace;--r:18px;--fast:.18s;--slow:.85s}@supports (color:lab(0% 0 0)){:root{--paper:lab(95.4511% 1.02532 9.98912);--ink:lab(12.9167% -2.81737 -11.83);--blue:lab(44.6618% 12.5052 -69.2778);--orange:lab(63.911% 50.1375 71.8519);--mint:lab(82.8382% -33.8424 14.9295);--asphalt:lab(28.0289% -2.52597 -9.76004);--white:lab(98.8913% -.00965595 3.82442);--line:lab(19.8247% -3.01625 -15.3903)}}
*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);font-family:var(--body);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}header{border-bottom:3px solid var(--ink);background:var(--paper);justify-content:space-between;align-items:center;height:84px;padding:0 3vw;display:flex}.wordmark{align-items:center;gap:14px;display:flex}.wordmark>span{background:var(--orange);color:var(--ink);font:22px var(--display);padding:12px 10px;transform:rotate(-5deg)}.wordmark b{font:25px var(--display);letter-spacing:.04em}.wordmark small{font:10px var(--mono);letter-spacing:.15em;margin-top:4px;display:block}button{border:2px solid var(--ink);background:var(--white);color:var(--ink);font:bold 11px var(--mono);box-shadow:4px 4px 0 var(--ink);padding:11px 15px}button:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(2px,2px)}.map{border-bottom:3px solid var(--ink);grid-template-columns:minmax(0,1.7fr) minmax(350px,.75fr);min-height:720px;display:grid}.district{background-color:var(--mint);background-image:linear-gradient(30deg,transparent 48%,color-mix(in oklch,var(--blue) 10%,transparent) 49% 51%,transparent 52%),radial-gradient(circle at 25% 35%,var(--paper) 0 12%,transparent 12.3%),radial-gradient(circle at 72% 70%,color-mix(in oklch,var(--orange) 25%,transparent) 0 16%,transparent 16.3%);min-height:720px;position:relative;overflow:hidden}.district:before{content:"";opacity:.25;background-image:radial-gradient(var(--ink) .7px,transparent .8px);mix-blend-mode:multiply;background-size:7px 7px;position:absolute;inset:0}.district svg{z-index:1;width:100%;height:100%;position:absolute;inset:0}.district line{stroke:var(--blue);stroke-width:1px;stroke-dasharray:2 1;vector-effect:non-scaling-stroke;animation:routeDraw var(--slow) both}.node{z-index:3;background:var(--paper);border:2px solid var(--ink);min-width:95px;box-shadow:5px 5px 0 var(--ink);padding:9px 11px;position:absolute;transform:translate(-50%,-50%)}.node i{font:9px var(--mono);color:var(--blue);display:block}.node b{font:13px var(--display);letter-spacing:.04em}.node.current{background:var(--orange);animation:2s infinite detourRipple}.node.destination{background:var(--white);border-radius:35px}.parcel{z-index:6;background:var(--blue);color:#fff;width:50px;height:42px;font:bold 15px var(--mono);box-shadow:5px 5px 0 var(--ink);transition:left var(--slow),top var(--slow);place-items:center;animation:1.2s both parcelHop;display:grid;position:absolute;transform:translate(-50%,-135%)rotate(-7deg)}.maptitle{z-index:5;position:absolute;top:3vw;left:3vw}.maptitle span{font:11px var(--mono);letter-spacing:.2em;display:block}.maptitle strong{font:clamp(40px,5vw,76px)/.9 var(--display);max-width:600px;color:var(--blue);text-shadow:3px 3px 0 var(--paper);display:block}.docket{background:var(--paper);border-left:3px solid var(--ink);box-shadow:inset 15px 0 0 color-mix(in oklch,var(--orange) 20%,transparent);padding:34px;position:relative}.stub{border-bottom:2px dashed var(--ink);font:11px var(--mono);justify-content:space-between;padding-bottom:16px;display:flex}.stub b{color:var(--blue);text-align:right}.docket h1{font:clamp(34px,4vw,58px)/.9 var(--display);text-transform:uppercase;margin:28px 0 16px}.promise{border-left:8px solid var(--orange);padding-left:13px;font-size:16px;line-height:1.5}.docket ul{padding:0;list-style:none}.docket li{font:11px/1.5 var(--mono);border-bottom:1px solid color-mix(in oklch,var(--ink) 25%,transparent);padding:7px 0}.docket li:before{content:"LIMIT ";color:var(--blue);font-weight:700}nav{gap:8px;margin:25px 0 18px;display:flex}.active{background:var(--blue);color:#fff}.form{gap:12px;display:grid}.pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}label{font:bold 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}input,textarea,select{border:2px solid var(--ink);background:var(--white);outline:none;width:100%;margin-top:5px;padding:10px;display:block}textarea{resize:vertical;min-height:72px}input:focus,textarea:focus,select:focus{box-shadow:4px 4px 0 var(--orange)}.stamp{background:var(--orange);width:100%;margin-top:18px;padding:16px;font-size:13px}.stamp:disabled{opacity:.5}.notice{font:11px/1.5 var(--mono);min-height:34px}.proof{background:var(--white);grid-template-columns:180px repeat(3,minmax(180px,1fr));gap:14px;padding:35px 4vw;display:grid;overflow:auto}.proof>div{border-right:3px solid var(--ink)}.proof span,.proof strong{display:block}.proof span{font:10px var(--mono)}.proof strong{font:28px var(--display);color:var(--blue)}.proof article{border:2px solid var(--ink);background:var(--paper);padding:15px;animation:.35s both stampThump}.proof article b,.proof article em{font:11px var(--mono)}.proof article p{font-size:13px}.proof article em{color:var(--blue)}footer{background:var(--ink);color:var(--paper);font:11px var(--mono);justify-content:space-between;padding:24px 4vw;display:flex}footer a{color:var(--orange)}@keyframes routeDraw{0%{stroke-dashoffset:20px;opacity:0}}@keyframes parcelHop{50%{transform:translate(-50%,-170%)rotate(4deg)}}@keyframes detourRipple{50%{box-shadow:5px 5px 0 var(--ink),0 0 0 12px color-mix(in oklch,var(--orange) 0%,transparent)}}@keyframes stampThump{0%{opacity:0;transform:scale(1.08)}}@media (max-width:900px){.map{grid-template-columns:1fr}.district{min-height:560px}.docket{border-left:0;border-top:3px solid var(--ink)}.proof{grid-template-columns:160px repeat(3,240px)}}@media (max-width:480px){header{padding:0 14px}.wordmark small{display:none}.wordmark b{font-size:18px}.district{min-height:450px}.node{min-width:72px;padding:6px}.docket{padding:26px 18px}.pair{grid-template-columns:1fr}.proof{padding:24px 16px}footer{flex-direction:column;gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
