
    #b42-map{--paper:#f7f4ed;--ink:#181a15;--muted:#65665b;--panel:#fffdf7;--line:#deded1;--land:#e8e8dd;--route:#ae8130;--routefill:#e8d7a4;--selected:#d8ba68;--done:#75856b;color:var(--ink);background:var(--paper);font:15px/1.5 system-ui,sans-serif;border-radius:12px;overflow:hidden}
    #b42-map *{box-sizing:border-box}#b42-map button,#b42-map select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:9px 12px}#b42-map button:hover{background:var(--land)}#b42-map button:focus-visible,#b42-map select:focus-visible{outline:3px solid var(--route);outline-offset:3px}#b42-map .bf-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 28px;border-bottom:1px solid var(--line)}#b42-map .bf-brand{font-weight:750;letter-spacing:-.03em}#b42-map .bf-navlinks{display:flex;gap:20px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}#b42-map .bf-navlinks b{border-bottom:2px solid var(--ink)}#b42-map .bf-hero{padding:30px 28px 22px}#b42-map .bf-eyebrow{font-size:11px;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 9px}#b42-map h1{font-size:clamp(27px,4vw,42px);line-height:1.1;letter-spacing:-.04em;margin:0 0 12px;font-weight:650}#b42-map p{margin:0}#b42-map .bf-sub{color:var(--muted);max-width:700px}#b42-map .bf-demo{display:inline-block;font-size:11px;padding:4px 8px;border:1px solid var(--line);border-radius:5px;margin-left:8px;letter-spacing:.04em}#b42-map .bf-tools{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:12px;padding:0 28px 18px}#b42-map .bf-selector{display:flex;gap:9px;align-items:center;flex-wrap:wrap}#b42-map .bf-stamp{font-size:12px;color:var(--muted)}#b42-map .bf-main{display:grid;grid-template-columns:minmax(0,1fr) 275px;border-block:1px solid var(--line)}#b42-map .bf-maparea{min-width:0;background:var(--panel);position:relative}#b42-map .bf-map{display:block;width:100%;height:430px}#b42-map .bf-legend{padding:10px 18px 16px;display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:11px}#b42-map .bf-legend i{display:inline-block;vertical-align:middle;width:22px;border-top:3px solid var(--route);margin-right:5px}#b42-map .bf-legend .bf-done{border-color:var(--done)}#b42-map .bf-legend .bf-gap{border-top-style:dashed}#b42-map .bf-detail{padding:22px;border-left:1px solid var(--line);background:var(--paper)}#b42-map h2{font-size:23px;letter-spacing:-.035em;line-height:1.15;margin:0 0 8px}#b42-map .bf-hint{color:var(--muted);font-size:13px;margin-bottom:20px}#b42-map .bf-metrics{display:grid;gap:16px;margin:20px 0}#b42-map .bf-metric span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}#b42-map .bf-metric strong{display:block;font-size:21px;font-weight:600;margin-top:3px}#b42-map .bf-towns{display:grid;gap:7px;margin-top:15px}#b42-map .bf-towns button{text-align:left;display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:8px 10px}#b42-map .bf-towns button small{color:var(--muted);font-size:11px;white-space:nowrap}#b42-map .bf-towns button.bf-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}#b42-map .bf-towns button.bf-active small{color:var(--paper)}#b42-map .bf-foot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:20px 28px}#b42-map .bf-foot p{max-width:600px;color:var(--muted);font-size:12px}#b42-map .bf-foot a{color:var(--ink);font-size:13px;text-underline-offset:4px}#b42-map .bf-source{padding:0 28px 18px;font-size:10px;color:var(--muted)}#b42-map .bf-state{stroke:var(--panel);stroke-width:1;fill:var(--land)}#b42-map .bf-state.bf-on-route{fill:var(--routefill)}#b42-map .bf-state.bf-selected{fill:var(--selected)}#b42-map .bf-state:hover{fill:var(--selected)}#b42-map .bf-map text{font-family:system-ui,sans-serif;fill:var(--ink);font-size:11px;pointer-events:none;paint-order:stroke;stroke:var(--panel);stroke-width:3px;stroke-linejoin:round}#b42-map .bf-map .bf-label{font-size:10px;stroke-width:2px}#b42-map .bf-route-path{fill:none;stroke:var(--route);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}#b42-map .bf-route-done{stroke:var(--done)}#b42-map .bf-map circle{stroke:var(--panel);stroke-width:2}#b42-map .bf-map .bf-town-hit{fill:transparent;stroke:none}#b42-map .bf-map .bf-town-dot{fill:var(--ink)}#b42-map .bf-map .bf-now-dot{fill:var(--done)}#b42-map .bf-map .bf-picked-dot{fill:var(--route)}
    @media(max-width:700px){#b42-map .bf-main{grid-template-columns:1fr}#b42-map .bf-detail{border-left:0;border-top:1px solid var(--line)}#b42-map .bf-map{height:340px}#b42-map .bf-hero,#b42-map .bf-nav{padding:20px}#b42-map .bf-tools{padding-inline:20px}#b42-map .bf-metrics{grid-template-columns:1fr 1fr}#b42-map .bf-towns{grid-template-columns:1fr 1fr}#b42-map .bf-towns button{display:block}#b42-map .bf-towns button small{display:block}#b42-map .bf-navlinks{gap:14px}#b42-map .bf-foot{padding:20px}#b42-map select{max-width:210px}}
  
#b42-map{border:1px solid #deded1;margin-bottom:42px;text-align:left}#b42-map .bf-hero{padding-top:28px}#b42-map .bf-metrics{grid-template-columns:1fr 1fr}#b42-map .bf-metric{min-width:0}#b42-map .bf-metric strong{font-size:18px}#b42-map .bf-main{grid-template-columns:minmax(0,1fr) 300px}#b42-map .bf-warning{padding:12px 28px;color:#73551b;background:#f7edcf;font-size:13px}#b42-map .bf-state,#b42-map .bf-town-hit{cursor:pointer}#b42-map .bf-metric span{margin:0}#b42-map .bf-map .bf-label{font-size:11px}#b42-map .bf-stamp{max-width:100%;line-height:1.65}#b42-map .bf-selector select{min-height:44px;max-width:100%}#b42-map button{min-height:44px}#b42-map .bf-hero h1{font-size:clamp(28px,4vw,46px);max-width:none;margin:0 0 12px}#b42-map .bf-detail{min-width:0}@media(max-width:780px){#b42-map .bf-main{grid-template-columns:1fr}#b42-map .bf-detail{border-left:0;border-top:1px solid #deded1}}
#b42-map .bf-source{font-size:11px}#b42-map .bf-town-hit{touch-action:manipulation}#b42-map .bf-state{touch-action:manipulation}

/* v43: balanced state view and readable arrival panel */
#b42-map .bf-main{grid-template-columns:minmax(0,1fr) 330px;align-items:start;background:var(--panel)}
#b42-map .bf-maparea{width:100%;overflow:hidden}
#b42-map .bf-state{stroke:#cbcbbf;stroke-width:1;fill:#eeeee6}
#b42-map .bf-state.bf-selected{fill:#e8d7a4}
#b42-map .bf-state-outline{fill:none;stroke:#8a7646;stroke-width:2;pointer-events:none}
#b42-map .bf-detail{padding:24px;align-self:stretch}
#b42-map .bf-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin:24px 0}
#b42-map .bf-metric span{font-size:11px;line-height:1.5;letter-spacing:.04em;min-height:33px}
#b42-map .bf-metric strong{font-size:21px;line-height:1.3;font-variant-numeric:tabular-nums}
#b42-map .bf-plan-note{grid-column:1/-1;font-size:12px;line-height:1.6;color:var(--muted);padding-top:14px;border-top:1px solid var(--line)}
#b42-map .bf-stamp{font:12px/1.7 system-ui,sans-serif;white-space:pre-line;text-align:right}
#b42-map .bf-tools{align-items:center;gap:16px}
#b42-map .bf-hero h1{font-size:clamp(28px,3.3vw,40px);line-height:1.15}
#b42-map .bf-warning{font-size:12px;padding:10px 28px;line-height:1.6}
#b42-map .bf-legend{font-size:12px;gap:10px 16px}
#b42-map .bf-towns button{align-items:center;min-height:44px}
#b42-map .bf-towns button span{min-width:0;overflow-wrap:anywhere}
#b42-map .bf-hint{font-size:14px;line-height:1.6}
@media(max-width:900px){#b42-map .bf-main{grid-template-columns:1fr}#b42-map .bf-detail{border-left:0;border-top:1px solid var(--line)}#b42-map .bf-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}#b42-map .bf-towns{grid-template-columns:repeat(2,minmax(0,1fr))}#b42-map .bf-towns button{display:flex}#b42-map .bf-stamp{text-align:left}}
@media(max-width:480px){#b42-map .bf-hero,#b42-map .bf-detail,#b42-map .bf-foot{padding:20px}#b42-map .bf-tools{padding:0 20px 20px}#b42-map .bf-selector{width:100%;gap:8px}#b42-map .bf-selector label{width:100%;font-size:13px}#b42-map .bf-selector select{flex:1;min-width:0;width:100%;font-size:16px}#b42-map .bf-selector button{font-size:13px}#b42-map .bf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#b42-map .bf-towns{grid-template-columns:1fr}#b42-map .bf-warning{padding:10px 20px}#b42-map .bf-metric strong{font-size:19px}}

/* v44 — Breaking 42 editorial route experience */
#b42-map{--ink:#151713;--muted:#62665e;--panel:#fffefa;--line:#deded6;--land:#eceee8;--route:#bb852d;--routefill:#dce3d5;--selected:#d7a640;--done:#4d6954;position:relative;margin:38px 0 74px;border:1px solid #d9d9cf;border-radius:18px;background:#fffefa;box-shadow:0 20px 65px rgba(20,24,17,.065);overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
#b42-map .bf-hero{position:relative;overflow:hidden;padding:58px clamp(25px,5vw,70px) 43px;background:#171c17;color:#f8f6ec}
#b42-map .bf-hero:before{content:"";position:absolute;right:-130px;top:-235px;width:570px;height:570px;border:1px solid rgba(231,193,107,.18);border-radius:50%;box-shadow:0 0 0 70px rgba(231,193,107,.045),0 0 0 140px rgba(231,193,107,.035);pointer-events:none}
#b42-map .bf-hero:after{content:"COAST  →  COAST";position:absolute;right:clamp(22px,5vw,65px);bottom:28px;font-size:10px;font-weight:850;letter-spacing:.28em;color:#c8a461}
#b42-map .bf-eyebrow{font-size:11px;font-weight:850;letter-spacing:.2em;color:#ae7c29}
#b42-map .bf-hero .bf-eyebrow{color:#e2b65b;margin-bottom:18px}
#b42-map .bf-hero h1{position:relative;max-width:880px;margin:0 0 20px;font-size:clamp(38px,5.2vw,74px);font-weight:900;letter-spacing:-.065em;line-height:.98;color:#fffdf4}
#b42-map .bf-hero .bf-sub{position:relative;max-width:580px;color:#d5d6cc;font-size:clamp(15px,1.6vw,19px);line-height:1.65;padding-bottom:18px}
#b42-map .bf-tools{padding:23px clamp(22px,3.4vw,44px);gap:20px;background:#f6f5ee;border-bottom:1px solid #e3e3da}
#b42-map .bf-selector{gap:14px}
#b42-map .bf-selector label{font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:#4e544a}
#b42-map select{min-width:230px;min-height:48px;border:1px solid #c9cec3;border-radius:9px;padding:10px 36px 10px 14px;background:#fff;font-size:14px;font-weight:700;box-shadow:0 3px 10px rgba(0,0,0,.025)}
#b42-map #b42-back{border-radius:9px;background:#e7e9e1;font-size:12px;font-weight:750}
#b42-map .bf-stamp{max-width:380px;font-size:11px;font-weight:600;line-height:1.6;color:#687066;text-align:right}
#b42-map .bf-warning{padding:13px clamp(22px,3.4vw,44px);background:#fff5db;color:#75521a;border-bottom:1px solid #ebdfc3;font-size:12px;font-weight:650}
#b42-map .bf-main{grid-template-columns:minmax(0,1fr) minmax(300px,33%);align-items:stretch;background:#fff}
#b42-map .bf-maparea{padding:20px 15px 5px;background:radial-gradient(circle at 45% 38%,#fff 0%,#f8f9f5 72%);min-width:0}
#b42-map .bf-map{height:460px;overflow:visible}
#b42-map .bf-state{fill:#e9ece6;stroke:#fff;stroke-width:1.15;transition:fill .18s ease}
#b42-map .bf-state.bf-on-route{fill:#dbe3d7}
#b42-map .bf-state.bf-selected,#b42-map .bf-state:hover{fill:#e2bf72}
#b42-map .bf-state-outline{stroke:#9b7a3e;stroke-width:1.7}
#b42-map .bf-route-path{stroke:#b98229;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
#b42-map .bf-route-done{stroke:#50735c}
#b42-map .bf-map text{font-family:Inter,system-ui,sans-serif;font-weight:650;fill:#555c53;stroke:#fff;stroke-width:3px}
#b42-map .bf-map .bf-label{font-size:11px}
#b42-map .bf-legend{gap:14px 24px;padding:8px 25px 24px;color:#5e655c;font-size:11px;font-weight:650}
#b42-map .bf-legend i{border-top-width:3px;width:26px}
#b42-map .bf-detail{padding:clamp(25px,3vw,43px);background:#1e2720;color:#f8f7ef;border-left:0;display:flex;flex-direction:column;min-width:0}
#b42-map .bf-detail .bf-eyebrow{color:#e4b963;margin:0 0 16px}
#b42-map .bf-detail h2{color:#fffdf3;font-size:clamp(27px,2.6vw,38px);font-weight:850;letter-spacing:-.055em;line-height:1.04;margin:0 0 16px}
#b42-map .bf-hint{color:#c2cdc2;font-size:14px;line-height:1.7;margin:0 0 22px}
#b42-map .bf-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:6px 0 18px;border-top:1px solid rgba(255,255,255,.16)}
#b42-map .bf-metric{padding:19px 10px 18px 0;border-bottom:1px solid rgba(255,255,255,.16)}
#b42-map .bf-metric span{min-height:0;margin:0 0 8px;color:#aab9ac;font-size:10px;font-weight:750;letter-spacing:.085em}
#b42-map .bf-metric strong{color:#fff9e7;font-size:clamp(18px,1.8vw,25px);font-weight:850;line-height:1.25;overflow-wrap:anywhere}
#b42-map .bf-plan-note{color:#bdc9bb;border-color:rgba(255,255,255,.2)}
#b42-map .bf-towns{gap:9px;margin-top:15px}
#b42-map .bf-towns button{background:#344137;color:#f6f6ed;border:1px solid #4c5a4e;border-radius:9px;padding:12px 13px;font-weight:700;transition:background .15s ease,transform .15s ease}
#b42-map .bf-towns button:hover{background:#455849;transform:translateY(-1px)}
#b42-map .bf-towns button small{color:#c2cdbf}
#b42-map .bf-towns button.bf-active{background:#e0b45a;color:#1d241d;border-color:#e0b45a}
#b42-map .bf-towns button.bf-active small{color:#4c4a39}
#b42-map .bf-foot{align-items:center;padding:23px clamp(22px,3.4vw,44px);background:#f6f5ee;border-top:1px solid #e1e1d8}
#b42-map .bf-foot p{max-width:760px;font-size:12px;line-height:1.7}
#b42-map .bf-foot a{font-size:12px;font-weight:850;white-space:nowrap;text-decoration:none;border-bottom:1px solid #a98138;padding-bottom:4px}
#b42-map .bf-foot a:hover{color:#a36b18}
#b42-map .bf-source{padding:0 clamp(22px,3.4vw,44px) 22px;background:#f6f5ee;color:#85867c;font-size:10px;line-height:1.6}
@media(max-width:980px){#b42-map .bf-main{grid-template-columns:1fr}#b42-map .bf-detail{border-top:0}#b42-map .bf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#b42-map .bf-stamp{text-align:left}#b42-map .bf-map{height:400px}}
@media(max-width:600px){#b42-map{margin:20px 0 50px;border-radius:13px}#b42-map .bf-hero{padding:38px 22px 38px}#b42-map .bf-hero:after{display:none}#b42-map .bf-hero h1{font-size:clamp(36px,10vw,52px)}#b42-map .bf-tools{padding:20px}#b42-map .bf-selector{width:100%}#b42-map .bf-selector label{width:100%}#b42-map select{width:100%;min-width:0;flex:1}#b42-map .bf-stamp{text-align:left}#b42-map .bf-maparea{padding:5px 0 0}#b42-map .bf-map{height:315px}#b42-map .bf-detail{padding:29px 23px}#b42-map .bf-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#b42-map .bf-towns{grid-template-columns:1fr}#b42-map .bf-foot{padding:22px}#b42-map .bf-source{padding:0 22px 22px}}
@media(prefers-reduced-motion:reduce){#b42-map .bf-state,#b42-map .bf-towns button{transition:none}}
