/* GENERATED by scripts/build-games-assets.mjs from the The Road prototype.
   Edit the prototype (or the hand-written *-schedule.js) and re-run; do not
   hand-edit this file — the next port would silently drop the edit. */
.rt-road{
  --plat-linen:#D4D8C6;
  --plat-ground:#C6CCB6;
  --ink-iron:#1A211B;
  --ink-soft:#4B553F;
  --survey-green:#4E6753;
  --sepia-road:#7C5330;
  --chalk-vermilion:#A62F1C;
  --river-slate:#5D7F87;
  --rule:rgba(26,33,27,.34);
  --rule-hair:rgba(26,33,27,.16);
  --tint:rgba(26,33,27,.045);
  --sel:rgba(166,47,28,.12);
  --f-plat:"Avenir Next Condensed","HelveticaNeue-CondensedBold","Arial Narrow","Roboto Condensed","Liberation Sans Narrow",system-ui,sans-serif;
  --f-body:"Iowan Old Style","Palatino Linotype",Palatino,Charter,Georgia,"Times New Roman",serif;
  --f-ledger:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --t-xs:.6875rem; --t-sm:.8125rem; --t-base:1rem; --t-md:1.125rem;
  --t-lg:1.45rem; --t-xl:clamp(2.1rem,10vw,3.6rem);
  color-scheme:light;
}

.rt-road[data-theme="dark"]{
  --plat-linen:#12160F; --plat-ground:#0C1009;
  --ink-iron:#D9DCC9; --ink-soft:#8B9580;
  --survey-green:#7FA187; --sepia-road:#C08B56;
  --chalk-vermilion:#E4664C; --river-slate:#7FA8B1;
  --rule:rgba(217,220,201,.30); --rule-hair:rgba(217,220,201,.13);
  --tint:rgba(217,220,201,.05); --sel:rgba(228,102,76,.14);
  color-scheme:dark;
}
.rt-road[data-theme="light"]{
  --plat-linen:#D4D8C6; --plat-ground:#C6CCB6;
  --ink-iron:#1A211B; --ink-soft:#4B553F;
  --survey-green:#4E6753; --sepia-road:#7C5330;
  --chalk-vermilion:#A62F1C; --river-slate:#5D7F87;
  --rule:rgba(26,33,27,.34); --rule-hair:rgba(26,33,27,.16);
  --tint:rgba(26,33,27,.045); --sel:rgba(166,47,28,.12);
  color-scheme:light;
}
.rt-road, .rt-road *,.rt-road *::before,.rt-road *::after{box-sizing:border-box}
.rt-road{
  margin:0; background:var(--plat-linen); color:var(--ink-iron);
  font:var(--t-base)/1.55 var(--f-body);
  -webkit-text-size-adjust:100%; overflow-x:hidden;
  /* drafting-vellum ruling, kept near-invisible */
  background-image:repeating-linear-gradient(to bottom,transparent 0 27px,var(--tint) 27px 28px);
}
.rt-road ::selection{background:var(--sel)}
.rt-road /* ---- the plat sheet ---- */
.sheet{
  max-width:820px; margin:0 auto; padding:clamp(10px,3vw,22px);
}
.rt-road .neat{
  border:1px solid var(--rule); position:relative;
  background:linear-gradient(var(--plat-linen),var(--plat-linen));
  box-shadow:0 0 0 4px var(--plat-linen),0 0 0 5px var(--rule-hair);
}
.rt-road /* neatline degree ticks along the top edge */
.ticks{
  height:13px; border-bottom:1px solid var(--rule-hair);
  background-image:repeating-linear-gradient(to right,var(--rule) 0 1px,transparent 1px 24px);
  background-position:left bottom; background-repeat:repeat-x; background-size:24px 6px;
  position:relative;
}
.rt-road .ticks::after{
  content:""; position:absolute; inset:auto 0 0 0; height:11px;
  background-image:repeating-linear-gradient(to right,var(--rule) 0 1px,transparent 1px 120px);
  background-repeat:repeat-x; background-size:120px 11px; background-position:left bottom;
}
.rt-road /* ---- masthead ---- */
.mast{padding:14px clamp(12px,3.5vw,26px) 0}
.rt-road .kicker{
  font:600 var(--t-xs)/1 var(--f-plat); letter-spacing:.22em; text-transform:uppercase;
  color:var(--survey-green); display:flex; gap:.7em; align-items:baseline; flex-wrap:wrap;
}
.rt-road .kicker b{color:var(--ink-soft);font-weight:600}
.rt-road h1{
  font:700 var(--t-xl)/.86 var(--f-plat); letter-spacing:.02em; text-transform:uppercase;
  margin:.28em 0 .1em; color:var(--ink-iron);
}
.rt-road h1 .sub{display:block;font-size:.26em;letter-spacing:.26em;color:var(--sepia-road);margin-top:.9em;font-weight:600}
.rt-road .deck{
  font:var(--t-sm)/1.5 var(--f-body); color:var(--ink-soft);
  max-width:46ch; margin:.7em 0 0; padding-bottom:14px;
  border-bottom:1px solid var(--rule-hair);
}
.rt-road /* ---- map ---- */
.mapframe{position:relative}
.rt-road .mapwrap{
  position:relative; overflow-x:auto; overflow-y:hidden;
  overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
  background:var(--plat-ground); cursor:grab; touch-action:pan-x;
}
.rt-road .mapwrap:active{cursor:grabbing}
.rt-road .mapwrap:focus-visible{outline:2px solid var(--chalk-vermilion);outline-offset:-2px}
.rt-road .mapwrap::-webkit-scrollbar{height:6px}
.rt-road .mapwrap::-webkit-scrollbar-thumb{background:var(--rule)}
.rt-road .mapinner{position:relative}
.rt-road #rtr-plat{display:block}
.rt-road #rtr-here{
  position:absolute; width:34px; height:34px; margin:-17px 0 0 -17px; pointer-events:none;
  border:1.5px solid var(--chalk-vermilion); border-radius:50%;
  opacity:0; transition:opacity .3s;
}
.rt-road #rtr-here::before,.rt-road #rtr-here::after{
  content:""; position:absolute; background:var(--chalk-vermilion);
}
.rt-road #rtr-here::before{left:50%;top:-7px;bottom:-7px;width:1px;margin-left:-.5px}
.rt-road #rtr-here::after{top:50%;left:-7px;right:-7px;height:1px;margin-top:-.5px}
.rt-road #rtr-here.on{opacity:1;animation:rtr-bloom 2.6s ease-out infinite}
@keyframes rtr-bloom{
  0%{transform:scale(.55);opacity:1}
  70%{transform:scale(1.25);opacity:.18}
  100%{transform:scale(1.25);opacity:0}
}
.rt-road .maphint{
  position:absolute; right:8px; bottom:6px; pointer-events:none;
  font:600 var(--t-xs)/1 var(--f-plat); letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-soft); opacity:.65;
}
.rt-road /* ---- chainage rail ---- */
.rail{padding:16px clamp(12px,3.5vw,26px) 6px}
.rt-road .railhead{
  display:flex; justify-content:space-between; align-items:baseline; gap:1em;
  font:600 var(--t-xs)/1 var(--f-plat); letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:9px;
}
.rt-road .railtrack{position:relative;height:26px}
.rt-road .railtrack::before{
  content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:var(--rule);
}
.rt-road .railfill{position:absolute;left:0;top:6.5px;height:4px;background:var(--sepia-road);width:0;
  transition:width .85s cubic-bezier(.22,.75,.2,1)}
.rt-road .railtick{
  position:absolute;top:2px;width:1px;height:13px;background:var(--rule);
  transform:translateX(-.5px);
}
.rt-road .railtick.seen{background:var(--sepia-road);height:16px;top:0}
.rt-road .railtick.now{background:var(--chalk-vermilion);height:22px;top:-3px;width:2px}
.rt-road .railtick b{
  position:absolute;top:17px;left:50%;transform:translateX(-50%);
  font:600 9px/1 var(--f-ledger);letter-spacing:.02em;color:var(--ink-soft);
}
.rt-road .railtick.now b{color:var(--chalk-vermilion)}
.rt-road /* ---- ledger ---- */
.ledger{
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  margin:14px clamp(12px,3.5vw,26px) 0;
}
@media(min-width:560px){.rt-road .ledger{grid-template-columns:repeat(4,1fr)}}
.rt-road .ledger div{
  padding:8px 10px;border-right:1px solid var(--rule-hair);border-bottom:1px solid var(--rule-hair);
}
.rt-road .ledger div:nth-child(2n){border-right:0}
@media(min-width:560px){.rt-road .ledger div{border-bottom:0}
.rt-road .ledger div:nth-child(2n){border-right:1px solid var(--rule-hair)}
.rt-road .ledger div:last-child{border-right:0}}
.rt-road .ledger dt{
  font:600 var(--t-xs)/1 var(--f-plat);letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-soft);margin:0 0 5px;
}
.rt-road .ledger dd{margin:0;font:var(--t-sm)/1.2 var(--f-ledger);color:var(--ink-iron)}
.rt-road .ledger dd em{font-style:normal;color:var(--chalk-vermilion)}
.rt-road /* ---- dispatch ---- */
.dispatch{padding:20px clamp(12px,3.5vw,26px) 4px}
.rt-road .slug{
  display:flex;gap:.9em;align-items:baseline;flex-wrap:wrap;
  font:600 var(--t-xs)/1 var(--f-plat);letter-spacing:.2em;text-transform:uppercase;
  color:var(--survey-green);
}
.rt-road .slug .no{color:var(--chalk-vermilion)}
.rt-road .place{font:700 var(--t-lg)/1.05 var(--f-plat);letter-spacing:.04em;text-transform:uppercase;margin:.34em 0 .1em}
.rt-road .dateline{font:var(--t-sm)/1.3 var(--f-ledger);color:var(--ink-soft);margin:0 0 1em;letter-spacing:.01em}
.rt-road .lead{font-size:var(--t-md);line-height:1.45;margin:0 0 .85em}
.rt-road .dispatch p{margin:0 0 .85em;max-width:60ch}
.rt-road .dispatch p:last-of-type{margin-bottom:1.1em}
.rt-road .caveat{
  font:var(--t-sm)/1.45 var(--f-body);color:var(--ink-soft);
  border-left:2px solid var(--survey-green);padding:2px 0 2px 12px;margin:0 0 1.1em;max-width:56ch;
}
.rt-road .filed{
  font:600 var(--t-xs)/1.4 var(--f-plat);letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-soft);border-top:1px solid var(--rule-hair);padding-top:9px;margin-top:2px;
}
.rt-road /* ---- choices: ruled rows with survey station marks ---- */
.askhead{
  font:600 var(--t-xs)/1 var(--f-plat);letter-spacing:.22em;text-transform:uppercase;
  color:var(--chalk-vermilion);margin:1.4em 0 .55em;
}
.rt-road .opts{border-top:1px solid var(--rule);margin:0 0 1.2em}
.rt-road .opt{
  display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;
  background:none;border:0;border-bottom:1px solid var(--rule-hair);
  padding:11px 4px 12px;color:inherit;font:inherit;cursor:pointer;
  transition:background .18s,padding-left .18s;
}
.rt-road .opt:hover:not(:disabled){background:var(--tint);padding-left:8px}
.rt-road .opt:focus-visible{outline:2px solid var(--chalk-vermilion);outline-offset:-2px}
.rt-road .mark{
  flex:0 0 auto;width:13px;height:12px;margin-top:5px;
  background:var(--survey-green);clip-path:polygon(50% 0,100% 100%,0 100%);opacity:.55;
}
.rt-road .opt:hover .mark{opacity:1}
.rt-road .opt.picked .mark{background:var(--chalk-vermilion);opacity:1}
.rt-road .opt.other{opacity:.34}
.rt-road .opt:disabled{cursor:default}
.rt-road .obody{flex:1 1 auto;min-width:0}
.rt-road .olabel{font:600 .9rem/1.15 var(--f-plat);letter-spacing:.13em;text-transform:uppercase;display:block}
.rt-road .onote{font:var(--t-sm)/1.4 var(--f-body);color:var(--ink-soft);display:block;margin-top:3px;max-width:52ch}
.rt-road .opt.locked .olabel{text-decoration:line-through;text-decoration-thickness:1px}
.rt-road .tag{
  float:right;font:600 var(--t-xs)/1 var(--f-plat);letter-spacing:.16em;
  color:var(--chalk-vermilion);margin-left:8px;
}
.rt-road .result{
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:12px 0;margin:0 0 1.3em;
}
.rt-road .result p{margin:0;max-width:58ch}
.rt-road .result .cost{
  font:600 var(--t-xs)/1 var(--f-plat);letter-spacing:.2em;text-transform:uppercase;
  color:var(--chalk-vermilion);display:block;margin-bottom:6px;
}
.rt-road /* ---- buttons ---- */
.go{
  display:inline-flex;align-items:center;gap:11px;
  background:var(--ink-iron);color:var(--plat-linen);border:0;
  padding:13px 20px;cursor:pointer;
  font:600 .8rem/1 var(--f-plat);letter-spacing:.2em;text-transform:uppercase;
  transition:transform .18s,background .18s;
}
.rt-road .go:hover{transform:translateX(4px)}
.rt-road .go:focus-visible{outline:2px solid var(--chalk-vermilion);outline-offset:3px}
.rt-road .go .chev{width:9px;height:9px;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}
.rt-road .ghost{
  background:none;color:var(--ink-iron);border:1px solid var(--rule);
  padding:11px 16px;cursor:pointer;
  font:600 var(--t-xs)/1 var(--f-plat);letter-spacing:.18em;text-transform:uppercase;
  transition:background .18s;
}
.rt-road .ghost:hover{background:var(--tint)}
.rt-road .ghost:focus-visible{outline:2px solid var(--chalk-vermilion);outline-offset:2px}
.rt-road .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:6px}
.rt-road /* ---- title block (bottom-left, like a real plat) ---- */
.block{
  margin:26px clamp(12px,3.5vw,26px) 0;border-top:1px solid var(--rule);
  display:grid;grid-template-columns:1fr;
}
@media(min-width:620px){.rt-road .block{grid-template-columns:1.15fr 1fr}}
.rt-road .block section{padding:12px 14px 14px 0;border-bottom:1px solid var(--rule-hair)}
.rt-road .block h2{
  font:600 var(--t-xs)/1 var(--f-plat);letter-spacing:.22em;text-transform:uppercase;
  color:var(--chalk-vermilion);margin:0 0 8px;
}
.rt-road .block dl{margin:0;font:var(--t-xs)/1.7 var(--f-ledger);color:var(--ink-soft)}
.rt-road .block dt{float:left;clear:left;width:8.6em;color:var(--ink-iron)}
.rt-road .block dd{margin:0 0 0 8.6em}
.rt-road .block p{margin:0 0 .6em;font:var(--t-sm)/1.5 var(--f-body);color:var(--ink-soft);max-width:52ch}
.rt-road .block p:last-child{margin:0}
.rt-road /* ---- foot ---- */
.foot{
  padding:14px clamp(12px,3.5vw,26px) 18px;
  font:var(--t-xs)/1.6 var(--f-ledger);color:var(--ink-soft);
  display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap;align-items:center;
}
.rt-road .themebtn{
  background:none;border:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;
  padding:6px 10px;font:600 var(--t-xs)/1 var(--f-plat);letter-spacing:.16em;text-transform:uppercase;
}
.rt-road .themebtn:focus-visible{outline:2px solid var(--chalk-vermilion);outline-offset:2px}
.rt-road .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rt-road .hide{display:none !important}
@media (prefers-reduced-motion:reduce){.rt-road, .rt-road *,.rt-road *::before,.rt-road *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
.rt-road #rtr-here.on{animation:none;opacity:1}
.rt-road .go:hover{transform:none}
.rt-road .opt:hover:not(:disabled){padding-left:4px}}
