/* Pass 2 — external critique: the dispatch instrument becomes the hero. */
html{color-scheme:dark;scroll-padding-top:24px}
body{--scroll-progress:0%;-webkit-tap-highlight-color:#32e36f33}
::selection{background:var(--green);color:var(--black)}
section[id],.board-shell[id],h2[id]{scroll-margin-top:24px}
.ticket-meta,.status-big,time,.board-topline,.chatter-log{font-variant-numeric:tabular-nums}
.boot{background:repeating-linear-gradient(118deg,transparent 0 26px,#10120f12 27px 28px),var(--orange);animation-duration:.68s;animation-delay:.7s}
.boot-mark::before,.boot-mark::after{content:"";position:absolute;background:var(--black)}
.boot-mark::before{width:190px;height:2px;transform:rotate(5deg)}
.boot-mark::after{height:190px;width:2px;transform:rotate(5deg)}
.velocity-rail{position:fixed;z-index:120;right:0;top:0;bottom:0;width:5px;background:#5e625a;pointer-events:none}
.velocity-fill{position:absolute;inset:0;background:linear-gradient(var(--green),var(--orange));transform:scaleY(var(--scroll-progress));transform-origin:top}
.velocity-rail b{position:absolute;right:12px;bottom:18px;writing-mode:vertical-rl;font:700 7px var(--mono);letter-spacing:.15em;color:var(--static)}
.velocity-rail i{color:var(--orange);font-style:normal}
.hero-protocol{position:absolute;right:0;bottom:126px;width:260px;border-top:1px solid var(--line);padding-top:12px;font:500 9px/1.55 var(--mono);color:#858b80}
.hero-protocol b,.hero-protocol span{display:block}.hero-protocol b{color:var(--green);margin-bottom:5px;letter-spacing:.12em}
.queue-head{position:sticky;z-index:8;top:-14px;margin:-14px -14px 12px;padding:0 14px;height:42px;background:#0d0f0c;color:var(--static);border-bottom:1px solid #62675f;display:flex;align-items:center;justify-content:space-between;font:700 8px var(--mono);letter-spacing:.11em}
.queue-head span{color:var(--orange)}
.map-wrap::before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(90deg,#0005,transparent 18% 78%,#0006),repeating-linear-gradient(0deg,transparent 0 5px,#fff 6px 6.5px);opacity:.14}
.map-wrap::after{content:"POINTER / COURIER  ▸";position:absolute;z-index:5;left:18px;top:18px;color:var(--green);font:700 8px var(--mono);letter-spacing:.13em}
.city-map{position:relative;z-index:2}
.routes path{stroke-width:6;filter:none;transition:opacity .16s}
.routes path.active{filter:url(#routeGlow)}
.courier-marker circle{stroke-width:5;filter:drop-shadow(0 0 8px #32e36f)}
.route-readout{z-index:7;min-width:225px;padding:12px 14px 11px;box-shadow:8px 8px 0 var(--orange);transition:transform .2s}
.route-readout small{display:block;margin-top:6px;border-top:1px dashed #8e928a;padding-top:5px;font:650 7px var(--mono);letter-spacing:.06em;color:#555a52}
.route-legend{position:absolute;z-index:7;left:18px;bottom:92px;display:flex;gap:13px;align-items:center;color:#8d9388;font:650 7px var(--mono);letter-spacing:.06em}
.route-legend span{display:flex;gap:5px;align-items:center}.route-legend i{display:block;width:22px;border-top:3px solid var(--orange)}
.route-legend span:nth-child(2) i{border-color:var(--green);border-top-style:dotted}.route-legend b{color:#c4c8be;font-size:7px}
.job-ticket{box-shadow:0 1px 0 #0006;transition:transform .28s cubic-bezier(.2,.85,.15,1),background-color .2s,opacity .2s}
.job-ticket.active{transform:translateX(-11px) rotate(-.35deg)}
.job-ticket.active .accept-job{background:var(--orange);color:var(--black)}
.accept-job{min-height:44px;transition:background-color .18s,color .18s,letter-spacing .18s}
.accept-job:hover{letter-spacing:.18em}
.job-ticket.compact .accept-job{height:44px}
.job-ticket.tearing::after{content:"PERF / PERF / PERF / PERF";position:absolute;z-index:9;left:0;right:0;bottom:0;height:13px;background:var(--orange);color:var(--black);font:800 6px/13px var(--mono);letter-spacing:.2em;white-space:nowrap;overflow:hidden}
.job-ticket.taken{background:#b9edc8;clip-path:none;transform:none;opacity:.82}
.job-ticket.taken::after{content:"ASSIGNED / TAP TO RELEASE";inset:auto 14px 13px;min-height:44px;background:var(--green);border:2px solid var(--black);font-size:10px;pointer-events:none}
.job-ticket.taken .accept-job{color:transparent;background:transparent}
.shift-strip{position:relative;overflow:hidden}.shift-strip::after{content:"WHEELS MOVING / SIGNAL CLEAN / KIND ARRIVAL";position:absolute;bottom:12px;right:18px;font:800 7px var(--mono);letter-spacing:.16em;opacity:.55}
.alleycat-section{background:radial-gradient(circle at 83% 14%,#fff 0 2%,transparent 20%),repeating-linear-gradient(0deg,transparent 0 49px,#10120f0a 50px),var(--paper)}
.race-ledger{background-color:#d2d1c6;box-shadow:14px 14px 0 #10120f0d}
.checkpoint{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.checkpoint:hover{transform:translateY(-10px) rotate(0);box-shadow:13px 15px 0 var(--orange)}
.race-stamp{mix-blend-mode:multiply}
.lock-section{background:linear-gradient(90deg,transparent 0 94%,#10120f12 94%),repeating-linear-gradient(135deg,transparent 0 18px,#10120f0b 19px 20px),var(--orange);background-size:25% 100%,auto,auto;overflow:hidden}
.lock-grid{grid-template-columns:1.12fr .92fr 1.08fr .88fr;gap:14px;border:0;align-items:start;padding:28px 0 70px}
.lock-card{border:2px solid var(--black)!important;box-shadow:10px 12px 0 #10120f;min-height:545px;background:#ff5a1f}
.lock-card:nth-child(2){transform:translateY(54px) rotate(.5deg)}
.lock-card:nth-child(3){transform:translateY(-24px) rotate(-.6deg)}
.lock-card:nth-child(4){transform:translateY(34px) rotate(.4deg)}
.lock-card:hover{transform:translateY(-16px) rotate(-.5deg);box-shadow:16px 20px 0 #10120f99}
.lock-card h3{font-size:clamp(19px,1.55vw,25px);text-wrap:balance}
.lock-card p{font-size:10px;line-height:1.72;text-wrap:pretty}
.rank{color:#2c1308}.street-labels{fill:#92988e}
.lock-head>p:last-child{background:var(--black);color:var(--orange);padding:18px 20px;border:0;box-shadow:8px 8px 0 #ffffff4d}
.bag-section{background:radial-gradient(circle at 78% 45%,#364033 0,transparent 33%),repeating-linear-gradient(45deg,transparent 0 3px,#ffffff08 4px 4.5px),#151814}
.bag-tabs button{position:relative;transition:background-color .2s,color .2s,padding-left .3s cubic-bezier(.2,.8,.2,1)}
.bag-tabs button::after{content:"↗";position:absolute;right:15px;opacity:0;transform:translateX(-10px);transition:opacity .2s,transform .2s}
.bag-tabs button[aria-selected="true"]::after{opacity:1;transform:none}
.bag-note{box-shadow:-14px 14px 0 var(--orange),-34px 34px 50px #0008;transition:transform .28s}
.bag-note.refresh{animation:note-snap .32s cubic-bezier(.2,.8,.2,1)}
.radio-section{min-height:720px;background:radial-gradient(circle at 84% 25%,#ffffff35 0 1px,transparent 26%),repeating-linear-gradient(0deg,transparent 0 7px,#10120f0b 8px 8.5px),linear-gradient(105deg,#32e36f 0 64%,#25d460 64%);padding-bottom:145px}
.radio-section::after{content:"CH 04 / LISTEN TWICE / SPEAK ONCE";position:absolute;right:3vw;top:52px;font:800 8px var(--mono);letter-spacing:.18em;writing-mode:vertical-rl}
.radio-orbit{top:42px;right:-7vw;opacity:.82}
.chatter-log{background:#32e36fe0;box-shadow:14px 14px 0 var(--black);padding:0 20px 8px}
.radio-ticker{position:absolute;left:0;right:0;bottom:42px;height:58px;background:var(--black);color:var(--green);overflow:hidden;display:flex;align-items:center;border-block:1px solid #ffffff2b}
.radio-ticker span{font:800 11px var(--mono);letter-spacing:.15em;white-space:nowrap;animation:ticker 18s linear infinite}
.site-footer a{transition:color .18s,text-underline-offset .18s}.site-footer a:hover{text-underline-offset:8px}

@media (min-width:1051px){
  .dispatch{height:1020px;min-height:1020px;padding-top:var(--header);background:radial-gradient(circle at 18% 35%,#30342b 0,transparent 26%),linear-gradient(116deg,#10120f 0 42%,#181c17 42%)}
  .dispatch-intro{position:absolute;z-index:6;left:max(32px,calc((100vw - 1400px)/2));top:var(--header);width:min(660px,45vw);height:900px;margin:0;padding:76px 0}
  .dispatch h1{font-size:clamp(82px,7.2vw,112px);max-width:690px;margin-top:29px;text-shadow:0 12px 30px #10120f}
  .dispatch h1 strong{margin-left:5vw}.dispatch h1 em{margin-left:1vw}
  .dispatch-intro::after{right:auto;left:0;top:635px;text-align:left}
  .lede{max-width:410px;font-size:14px}.jump-board{left:0;right:auto;bottom:62px}
  .hero-protocol{right:30px;bottom:57px;width:238px}
  .channel-tag{right:auto;left:0;top:43px;transform:translateY(-100%)}
  .board-shell{position:absolute;z-index:3;top:112px;right:max(32px,calc((100vw - 1400px)/2));width:min(900px,64vw);height:820px;margin:0;box-shadow:0 45px 110px #000d,0 0 0 9px #151713;animation:board-arrive .9s cubic-bezier(.12,.72,.2,1) .85s both}
  .map-wrap{width:63%}.ticket-stack{width:37%}
  .job-ticket{padding:15px}.job-ticket h2{font-size:17px;margin:11px 0 10px}.job-ticket p{font-size:9px}.job-ticket.compact{min-height:108px}.job-ticket.compact h2{font-size:12px}.job-ticket.compact .ticket-meta{width:calc(100% - 94px)}.job-ticket.compact .accept-job{width:84px;right:10px;bottom:12px}
  .dispatch-intro>*{animation:hero-rise .68s cubic-bezier(.12,.72,.2,1) both}.dispatch-intro .channel-tag{animation-delay:.78s}.dispatch-intro .kicker{animation-delay:.84s}.dispatch-intro h1{animation-delay:.9s}.dispatch-intro .lede{animation-delay:1s}.dispatch-intro .hero-protocol,.dispatch-intro .jump-board{animation-delay:1.08s}
}

@media (max-width:1050px){
  .dispatch-intro{height:520px;padding-top:58px}.dispatch{min-height:1320px}.dispatch h1{margin-top:28px}.board-shell{height:760px}.map-wrap{width:56%}.ticket-stack{width:44%}
  .hero-protocol{display:none}.dispatch-intro::after{top:300px}
  .lock-grid{grid-template-columns:1fr 1fr;gap:14px}.lock-card:nth-child(n){transform:none}.lock-card{min-height:490px}.lock-card:hover{transform:translateY(-10px)}
  .radio-section{min-height:700px}
}

@media (max-width:760px){
  .velocity-rail{width:3px}.velocity-rail b{display:none}
  .boot-mark{width:105px;height:105px}.boot-mark::before{width:150px}.boot-mark::after{height:150px}
  .dispatch-intro{height:535px;padding-top:58px}.dispatch{padding-bottom:22px;min-height:auto}
  .channel-tag{top:22px}.dispatch h1{font-size:clamp(54px,17.7vw,70px);margin-top:67px;letter-spacing:-.095em}.lede{font-size:12px;line-height:1.58;margin-top:22px}.jump-board{bottom:20px}
  .board-shell{height:1032px}.map-wrap{height:370px}.ticket-stack{top:408px;height:624px;padding:12px}.queue-head{top:-12px;margin:-12px -12px 10px}
  .city-map{width:430px;transform:translateX(-24px)}.map-wrap::after{top:12px;left:12px}.route-readout{bottom:16px;left:12px;min-width:210px}.route-legend{display:none}
  .job-ticket{padding:14px;margin-bottom:9px}.job-ticket.active{transform:rotate(-.25deg)}.job-ticket h2{margin:10px 0;font-size:17px}.job-ticket p{margin:9px 0}.job-ticket.compact{min-height:106px;padding-right:112px}.job-ticket.compact .accept-job{right:10px;bottom:12px;width:88px}.job-ticket.taken::after{inset:auto 10px 10px}
  .shift-strip::after{display:none}
  .alleycat-section{min-height:1130px}.race-ledger{height:600px}.race-path{top:130px}.checkpoint:hover{transform:none}
  .lock-section{padding-block:72px 90px}.lock-head h2{margin-bottom:30px}.lock-grid{display:grid;grid-template-columns:1fr;gap:14px;padding:0}.lock-card{min-height:310px;display:grid;grid-template-columns:112px 1fr;grid-template-rows:auto auto 1fr;padding:18px;column-gap:18px;box-shadow:7px 8px 0 #10120f}.lock-visual{grid-row:1/4;height:210px;border:0;border-right:1px dashed #10120f66;transform:scale(.68);transform-origin:center}.rank{grid-column:2;margin:5px 0 9px}.lock-card h3{grid-column:2;margin:0 0 9px;font-size:21px}.lock-card p{grid-column:2;margin:0;font-size:10px;line-height:1.55}.lock-card dl{left:148px;bottom:16px}.lock-card:hover{transform:none}.u-lock i{width:100px}.chain-lock{margin-left:10px}.bad-lock i{width:110px;height:110px}
  .bag-section{min-height:1110px}.bag-copy h2{font-size:15.5vw}.bag-stage{min-height:585px}.bag-note{min-height:245px}
  .radio-section{min-height:760px;padding-top:78px;padding-bottom:105px;background:radial-gradient(circle at 100% 17%,#ffffff26,transparent 25%),repeating-linear-gradient(0deg,transparent 0 7px,#10120f0b 8px 8.5px),var(--green)}.radio-section::after{top:26px}.radio-copy h2{font-size:16vw;margin-top:24px}.radio-orbit{width:430px;height:430px;right:-300px;top:70px}.chatter-log{margin-top:65px;padding-inline:12px;box-shadow:8px 8px 0 var(--black)}.radio-ticker{bottom:23px;height:48px}.radio-ticker span{font-size:9px}
}

@keyframes hero-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes board-arrive{from{opacity:0;transform:translateX(80px) rotate(.7deg)}to{opacity:1;transform:none}}
@keyframes ticker{to{transform:translateX(-50%)}}
@keyframes note-snap{0%{opacity:.3;transform:translateY(12px) rotate(-1deg)}100%{opacity:1;transform:rotate(-1deg)}}

@media (prefers-reduced-motion:reduce){
  .velocity-fill{display:none}.dispatch-intro>*,.board-shell{animation:none!important}.radio-ticker span{animation:none}.bag-note.refresh{animation:none}
}
